Oracle 스냅샷 복원을 위한 Amazon Relational Database Service(Amazon RDS)의 모범 사례를 이해하고 싶습니다. RDS for Oracle DB 스냅샷을 복원한 후 지연 로딩이 발생하는 것을 방지하고 싶습니다.
해결 방법
DB 스냅샷 복원의 특성 및 제한
복원을 수행하기 전에 RDS for Oracle DB 스냅샷 복원의 다음 특성과 제한 사항을 검토하십시오.
-
RDS for Oracle DB 스냅샷에서 기존 DB 인스턴스로 복원할 수 없습니다. 복원을 수행하면 Amazon RDS가 새 DB 인스턴스를 생성합니다.
-
RDS for Oracle DB 인스턴스를 복원할 때 새 DB 인스턴스에 대한 여러 가지 사양을 선택합니다. 여기에는 새 DB 인스턴스에서 사용하는 Oracle DB 엔진, 라이선스 모델, DBName(SID) 및 DB 인스턴스 클래스가 포함됩니다.
참고: 복원 프로세스 중에는 Oracle Database Enterprise Edition에서 Oracle Database Standard Edition 2로 라이선스를 변경할 수 없습니다.
-
RDS for Oracle DB 인스턴스를 복원할 때 소스 DB 스냅샷과 다른 스토리지 유형을 사용할 수 있습니다. 그러나 데이터를 새로운 저장 유형으로 마이그레이션하는 데 필요한 추가 작업으로 인해 복원 프로세스가 더 느립니다.
-
DB 인스턴스를 복원하면 대부분의 경우 기본 DB 옵션 그룹이 복원된 DB 인스턴스와 연결됩니다. 단, 소스 DB 인스턴스가 지속적 또는 영구적 옵션이 포함된 옵션 그룹과 연결된 경우는 예외입니다. 이 사용 사례에서 복원된 DB 인스턴스는 동일한 지속적 또는 영구적 옵션이 포함된 옵션 그룹을 사용해야 합니다.
-
DB 인스턴스를 복원하면 기본 가상 프라이빗 클라우드(VPC), DB 서브넷 그룹 및 VPC 보안 그룹이 복원된 인스턴스와 연결됩니다. 하지만 다르게 지정할 수 있습니다.
-
공유되고 암호화된 DB 스냅샷에서 DB 인스턴스를 복원할 수 없습니다. 대신 DB 스냅샷 복사본을 만들고 복사본에서 DB 인스턴스를 복원하십시오. 이렇게 하려면 스냅샷을 암호화하는 데 사용된 AWS Key Management Service(AWS KMS) 키에 액세스할 수 있어야 합니다.
DB 스냅샷 복원 모범 사례
RDS for Oracle DB 인스턴스에서 incompatible-parameters 상태를 방지하려면 다음 모범 사례를 사용하십시오.
- 원래 인스턴스가 사용하는 것과 동일한 파라미터 그룹을 사용합니다. 또한 동일한 메모리 파라미터와 인스턴스 클래스를 사용합니다.
- 확장 데이터 유형을 사용하는 DB 인스턴스를 복원하는 경우 MAX_STRING_SIZE 파라미터를 EXTENDED로 설정하여 동일하거나 새로운 파라미터 그룹을 지정해야 합니다. 기본 파라미터 그룹이나 MAX_STRING_SIZE를 STANDARD로 설정한 다른 파라미터 그룹을 지정하면 DB 인스턴스는 incompatable-parameters 상태가 됩니다.
스냅샷 복원 후 지연 로딩 감소
스냅샷에서 RDS for Oracle DB 인스턴스를 복원하면 인프라가 프로비저닝되는 즉시 인스턴스를 사용할 수 있습니다. 하지만 지연 로딩이라는 진행 중인 프로세스는 백그라운드에서 계속됩니다. 지연 로딩에는 고정된 기간이 없지만, 효과를 줄일 수는 있습니다. 지연 로딩이 진행 중인 경우 요청된 데이터를 Amazon Simple Storage Service(Amazon S3)에서 읽을 때까지 I/O 작업이 대기할 수 있습니다. 따라서 I/O 지연 시간이 늘어납니다. 관련된 속도 저하를 줄이려면 복원이 완료되는 즉시 모든 데이터 블록을 읽으십시오. 자세한 내용은 DB 스냅샷에서 복원을 참조하십시오.
지연 로딩이 완료되는 데 걸리는 시간을 줄이려면 다음 옵션을 사용하십시오.
참고: 이러한 옵션은 엔진 네이티브 명령이므로 다중 AZ Amazon RDS for Oracle DB 클러스터의 기본 인스턴스에만 영향을 미칩니다.
- rdsadmin.rdsadmin_rman_util.validate_database 패키지를 사용하여 데이터베이스 수준 검증 명령을 실행합니다. 스로틀링을 방지하려면 vCPU 수에 따라 병렬 처리를 수정할 수 있습니다.
- 엔진 라이선스에 따라 병렬 처리를 통해 Data Pump 전체 내보내기를 수행합니다.
- 병렬 힌트를 사용하여 크거나 자주 사용되는 모든 테이블에 대해 개별적으로 명시적 선택을 수행합니다. SELECT *와 같이 전체 테이블 스캔과 관련된 작업을 수행할 수 있습니다. 이를 통해 Amazon RDS는 Amazon S3에서 백업된 모든 테이블 데이터를 다운로드할 수 있습니다.
다중 AZ 설정
-
다중 AZ에서 스냅샷 또는 시점 복구(PITR) 작업을 복원하려면 먼저 RMAN 검증을 수행합니다. 장애 조치로 재부팅한 후 RMAN 검증을 다시 수행합니다.
-
Data Pump(expdp)를 사용하는 경우 다중 AZ 설정에서 두 호스트 모두에서 내보내기를 수행해야 합니다.
참고: 10TiB의 데이터가 포함된 Data Pump 데이터베이스를 사용하는 경우 RDS for Oracle DB 인스턴스에 최소 10TiB의 여유 공간이 있어야 합니다.
관련 정보
Amazon RDS: 스냅샷, 복원 및 복구 설명