Spanner Omni 데이터베이스 백업을 새 데이터베이스로 복원할 수 있습니다. 복원된 데이터베이스에는 ALTER DATABASE SET OPTIONS 명령어로 설정한 모든 데이터베이스 옵션을 포함하여 백업의 versionTime 시점에 원본 데이터베이스의 모든 데이터 및 스키마 정보가 포함됩니다.
다음 항목은 복원된 데이터베이스에 포함되지 않습니다.
IAM 권한 복원이 완료된 후 적절한 IAM 권한을 적용해야 합니다.
변경 내역의 내부 데이터
행 삭제 정책에 의해 정의된 TTL(수명)입니다. 복원이 완료된 후 이러한 정책을 다시 구성해야 합니다.
데이터베이스를 사전 분할할 때 만드는 분할 지점입니다.
복원 작동 방식
Spanner Omni 데이터베이스를 복원하려면 소스 백업 및 새 대상 데이터베이스를 지정해야 합니다. 기존 데이터베이스로는 복원할 수 없습니다.
복원 프로세스는 고가용성을 제공합니다. 대상에서 리전 및 영역의 쿼럼을 대부분 사용할 수 있는 한 데이터베이스를 복원할 수 있습니다.
복원 상태
복원된 데이터베이스는 3개의 상태를 통해 전환되며. 이는 2개의 장기 실행 작업으로 추적할 수 있습니다.
| 상태 | 설명 |
|---|---|
CREATING |
Spanner Omni는 백업에서 새 데이터베이스를 만들고 파일을 마운트하여 복원을 시작합니다. 이 상태 중에는 복원된 데이터베이스를 아직 사용할 준비가 되지 않습니다. 완료되면 데이터베이스를 사용할 준비가 완료됩니다.
참고: Spanner Omni에서는 복원 중 백업 삭제가 허용되지 않습니다. 복원이 완료되고 데이터베이스가 READY 상태로 전환된 다음 삭제할 수 있습니다.
|
READY_OPTIMIZING |
백업을 마운트한 후 Spanner Omni는 저장 크기를 최적화하면서 새 데이터베이스로 데이터 복사를 시작합니다. 이 프로세스 중에 데이터베이스 사용이 준비됩니다.
주의사항:
|
READY |
복사 및 최적화 작업이 완료되면 데이터베이스가 READY 상태로 전환됩니다. 데이터베이스가 완전히 복원되면 백업이 더 이상 필요하지 않습니다.
|
CREATING 상태 중에 진행 상황을 추적하려면 장기 실행 복원 작업을 쿼리하면 됩니다. 이 작업은 RestoreDatabaseMetadata 객체를 반환합니다. READY_OPTIMIZING 상태에서 작업은 OptimizeRestoredDatabaseMetadata 객체를 반환합니다.
액세스 제어(IAM)
다음 역할은 Spanner Omni 복원 작업에 필요한 권한을 제공합니다.
| IAM 역할 | 권한 |
|---|---|
roles/spanner.restoreAdmin |
백업에서 복원할 수 있는 권한입니다. |
roles/spanner.admin |
복원 작업 및 기타 모든 Spanner Omni 리소스에 대한 전체 액세스 권한입니다. |
owner |
복원 작업에 대한 전체 액세스 권한입니다. |
editor |
복원 작업에 대한 전체 액세스 권한입니다. |
viewer |
복원 작업을 볼 수 있는 권한입니다. 백업을 만들거나, 업데이트, 삭제, 복사할 수 없습니다. |
백업에서 데이터베이스 복원
데이터베이스를 복원하려면 spanner databases restore 명령어를 사용합니다.
spanner databases restore \
--destination-database=RESTORE_DATABASE_NAME \
--source-backup=BACKUP_NAME \
--async