여러 계정에서 데이터베이스 장애 조치하기¶
이 항목에서는 재해 복구를 위해 서로 다른 리전 의 여러 계정에서 복제된 데이터베이스를 장애 조치하는 데 필요한 단계에 대해 설명합니다.
참고
계정 관리자(ACCOUNTADMIN 역할의 사용자)만 데이터베이스에 대한 장애 조치를 활성화 및 관리할 수 있습니다.
계정 복제 기능 을 사용하여 데이터베이스를 장애 조치하는 것이 좋습니다. 복제 및 장애 조치 그룹 을 사용하면 특정 시점 일관성을 유지하며 여러 데이터베이스와 다른 계정 오브젝트를 복제할 수 있습니다. 장애 조치 그룹을 사용하면 오브젝트 컬렉션을 하나의 단위로 추가로 장애 조치할 수 있습니다. 제공되는 기능 과 지원되는 오브젝트 의 전체 목록은 여러 계정에 걸쳐 복제 및 장애 조치 도입 섹션을 참조하십시오.
이 항목의 내용:
데이터베이스 복제 및 장애 조치/장애 복구를 위한 웹 인터페이스¶
주의
Snowsight 및 Classic Console 에서 복제 및 장애 조치/장애 복구를 관리하고 모니터링하는 것은 비공개 연결을 사용하는 계정에서만 사용할 수 있습니다.
다른 모든 계정은 Snowsight를 사용하여 복제 모니터링하기 및 계정 오브젝트 및 데이터베이스 복제하기 섹션을 참조하십시오.
계정 관리자(ACCOUNTADMIN 역할의 사용자)는 Snowsight 또는 Classic Console 에서 복제 및 장애 조치/장애 복구 작업을 관리할 수 있습니다.
Snowsight¶
기본 데이터베이스 역할을 하도록 로컬 데이터베이스를 승격하는 방법에 대한 지침은 데이터베이스 복제 및 장애 조치/장애 복구를 위한 웹 인터페이스 를 참조하십시오.
Classic Console¶
Classic Console 에서 Databases 탭의 Replication 영역을 사용하여 다음과 같은 작업을 포함한 데이터베이스 복제 구성 및 관리와 관련된 대부분의 작업을 수행합니다.
기본 데이터베이스의 역할을 하도록 로컬 데이터베이스를 승격합니다.
기본 데이터베이스(Business Critical Edition 계정 이상)에 대해 장애 조치를 활성화합니다.
보조 데이터베이스를 한 번(수동으로) 또는 반복적으로(일정에 따라 작업을 사용하여) 새로 고칩니다.
기본 데이터베이스(Business Critical Edition 계정 이상)의 역할을 하도록 보조 데이터베이스를 승격합니다.
기본 데이터베이스에 대한 복제 및/또는 장애 조치를 비활성화합니다.
복제 및 장애 조치 SQL 명령을 위한 계정 식별자¶
아래 지침의 예시 SQL 문은 organization_name.account_name
형식의 계정 식별자 를 사용합니다. 그러나 snowflake_region.account_locator
형식의 계정 식별자가 지원됩니다.
자세한 내용은 복제 및 장애 조치를 위한 계정 식별자 섹션을 참조하십시오.
전제 조건 요구 사항¶
계정 세트에서 기본 데이터베이스에 대한 복제를 활성화합니다.
1단계에서 지정한 계정 중 하나 이상에 기본 데이터베이스의 보조 데이터베이스(즉, 복제본)를 하나 이상 생성하고 기본 데이터베이스에 대한 최신 업데이트로 복제본을 정기적으로 새로 고칩니다(즉, 동기화).
자세한 지침은 여러 계정에서 데이터베이스 복제하기 섹션을 참조하십시오.
1단계: 복제를 위해 활성화된 모든 계정 보기¶
SHOW REPLICATION ACCOUNTS 를 쿼리하여 조직에서 복제가 활성화된 계정의 목록을 확인합니다.
SHOW REPLICATION ACCOUNTS;
+------------------+---------------------------------+---------------+------------------+---------+-------------------+
| snowflake_region | created_on | account_name | account_locator | comment | organization_name |
|------------------+---------------------------------+---------------+------------------+---------+-------------------|
| AWS_US_WEST_2 | 2018-11-19 16:11:12.720 -0700 | ACCOUNT1 | MYACCOUNT1 | | MYORG |
| AWS_US_EAST_1 | 2019-06-02 14:12:23.192 -0700 | ACCOUNT2 | MYACCOUNT2 | | MYORG |
+------------------+---------------------------------+---------------+------------------+---------+-------------------+
리전 IDs 전체 목록을 살펴봅니다.
2단계: 기본 데이터베이스에 대한 장애 조치 활성화¶
참고
여러 계정에서 데이터베이스 복제하기 에서 이 기본 데이터베이스에 대한 장애 조치를 활성화한 경우에는 이 단계를 건너뜁니다.
ALTER DATABASE … ENABLE FAILOVER TO ACCOUNTS 문을 사용하여 조직의 하나 이상의 계정에 대한 기본 데이터베이스의 장애 조치를 활성화합니다. 이러한 계정(즉, 보조 데이터베이스) 중 하나에 있는 이 기본 데이터베이스의 복제본을 승격하여 기본 데이터베이스로 사용할 수 있습니다.
기본 데이터베이스에 대한 장애 조치 활성화는 또는 지정된 계정에서 기본 데이터베이스의 복제본이 생성된 후에 수행할 수 있습니다.
예¶
myaccount2
및 myaccount3
계정에 대한 mydb1
기본 데이터베이스의 장애 조치를 활성화합니다. 이 예에서는 기본 데이터베이스가 myaccount1
계정에 저장되고 세 계정이 모두 myorg
조직에 속하는 것으로 가정합니다. ALTER DATABASE 명령을 myaccount1
에서 실행해야 합니다.
ALTER DATABASE mydb1 ENABLE FAILOVER TO ACCOUNTS myorg.myaccount2, myorg.myaccount3;
3단계: 기본 데이터베이스로 사용할 복제본 데이터베이스 승격¶
ALTER DATABASE … PRIMARY 문을 실행하여 기본 데이터베이스의 모든 복제본을 기본 데이터베이스로 승격할 수 있습니다. 승격되면 데이터베이스가 쓰기 가능한 상태가 됩니다. 그와 동시에, 이전의 기본 데이터베이스는 읽기 전용 복제 데이터베이스가 됩니다.
승격하려는 보조 데이터베이스가 포함된 계정에서 ALTER DATABASE
문을 실행합니다.
참고
보조 데이터베이스를 승격하려면 작업을 수행할 역할에 데이터베이스에 대한 OWNERSHIP 권한이 있어야 합니다.
예¶
-- Promote a secondary database to serve as the primary database.
ALTER DATABASE mydb1 PRIMARY;
-- Verify that the former secondary database was promoted successfully.
SHOW REPLICATION DATABASES;