Oracle® Database 18c for Enterprise Edition on Cloud는 새롭고 향상된 기능이 많이 포함된 엔지니어링 시스템(Exadata)을 번들로 제공합니다. 릴리스 18ci는 빠른 전환 또는 장애 조치 기능을 추가하여 12c 릴리스 2에서 새로 고칠 수 있는 복제 기능을 개선합니다. 다중 테넌트 환경에서 플러그형 데이터베이스(PDB)를 복제하거나 복제하기 위해 스냅샷 캐러셀을 생성할 수도 있습니다.
프로덕션 환경의 경우 새로 고칠 수 있는 clonePDB 기능이 있는 스냅샷 캐러셀을 사용하여 예기치 않은 중단으로부터 보호하거나 논리적 손상 문제 해결과 같은 데이터베이스 관리(DBA) 작업을 쉽게 수행할 수 있습니다. 이 게시물은 수동 및 자동 전환 사례에서 새로 고칠 수 있는 클론의 실제 사용에 대해 설명합니다. 스냅샷 캐러셀 기능과 함께 사용하여 다음 데이터베이스 상태 문제를 식별하고 처리할 수 있습니다.
-
프로덕션 데이터베이스를 사용할 수 없음
-
성능 문제
-
Oracle 데이터베이스의 논리적 손상
이 게시물은 2부로 구성된 블로그 게시물 시리즈 중 1부입니다. 새로 고칠 수 있는 클론 PDB, 작동 방식 및 사용 시기에 대해 알아보려면 계속 읽으십시오.
시리즈의 두 번째 부분에서는 새로 고칠 수 있는 클론 PDB를 생성, 구성, 유지 관리 및 삭제하는 방법을 설명합니다.
복제 및 스냅샷 질문
이 섹션에서는 복제 및 스냅샷 캐러셀에 대한 몇 가지 기본적인 질문에 대한 답변을 제공합니다.
복제란 무엇입니까?
인스턴스를 복제할 때 인스턴스를 백업하고 다른 곳에서 백업을 복원합니다. 일반적으로 동일한 디렉토리 구조를 가진 다른 시스템에서 복원합니다. Oracle 시스템 ID(SID) 및 데이터베이스 이름을 변경하여 동일한 시스템에서 복원할 수도 있습니다. 테스트 머신에서 프로덕션 인스턴스의 복제본을 사용하여 init.ora
변경과 같은 가정 시나리오를 시도할 수 있습니다. 매개변수 또는 코드 변경 등.
PDB 복제는 어떻게 작동합니까?
PDB 복제를 사용하여 다중 테넌트 환경에서 PDB를 복제할 수 있습니다. 로컬 또는 원격 PDB의 경우 새로 고칠 수 있는 클론 또는 스냅샷 캐러셀을 사용하여 로컬 컨테이너 데이터베이스에 PDB 클론을 생성합니다.
원격 PDB 복제의 경우 다음을 고려하십시오.
-
새로 고칠 수 있는 클론을 사용하려면 PDB에 대한 데이터베이스 링크가 있어야 하고 복제된 데이터베이스를 비활성화해야 합니다.
-
스냅샷 캐러셀을 사용하려면 asnapshot을 사용하여 일반적인 PDB 클론을 생성해야 합니다. 그런 다음 데이터베이스 링크를 사용하거나 다른 컨테이너 데이터베이스의 플러그를 뽑았다가 꽂습니다. 복제된 PDB에서 새로 고칠 수 있는 클론을 생성할 수도 있습니다.
PDB 스냅샷이란 무엇입니까?
PDB 스냅샷은 PDB의 특정 시점 복사본입니다. SNAPSHOT
를 사용하여 수동으로 스냅샷 생성 CREATE PLUGGABLE DATABASE
절 (또는 ALTER PLUGGABLE DATABASE
) 명령을 사용하거나 EVERY
를 사용하여 자동으로 간격 절.
PDB 스냅샷 캐러셀이란 무엇입니까?
PDB 스냅샷 캐러셀은 특정 시점 복구를 수행하고 PDB를 복제하는 데 사용할 수 있는 최근 PDB 스냅샷 라이브러리를 유지 관리합니다.
새로 고칠 수 있는 클론 PDB
새로 고침 간격 및 redo 생성 속도에 따라 데이터 손실을 최소화하면서 데이터 손상 및 재해로부터 데이터베이스를 보호하는 새로 고침 가능한 복제 기능을 사용하여 PDB를 복제할 수 있습니다. refreshableclone 데이터베이스를 특정 부하가 낮고 중요하지 않은 애플리케이션을 재개하기 위한 복제본으로 사용할 수 있습니다. 새로 고칠 수 있는 클론 데이터베이스가 설정된 간격에 따라 자동으로 업데이트되도록 설정하거나 리두 로그 응용 프로그램을 사용하여 수동으로 업데이트할 수 있습니다.
그림 1은 갱신 가능한 클론 처리의 아키텍처를 보여줍니다. 주요 구성 요소와 프로세스를 보여주고 프로덕션 데이터베이스와 새로 고칠 수 있는 클론 데이터베이스 간의 관계를 보여줍니다. 이 다이어그램은 플러그형 데이터베이스 PDB1 복제를 보여줍니다. 컨테이너 데이터베이스 CDB1 다른 컨테이너 데이터베이스 CDB2로 . 이 작업을 수행하면 PDB1의 핫 클론 버전이 생성됩니다. PDB1_REF_CLONE이라는 이름의 .
그림 1그림 1
새로 고침 모드 옵션
다음 모드로 환경을 설정하여 새로 고침 모드를 변경할 수 있습니다.
-
MANUAL
-
AUTOMATIC
(EVERY
사용 nMINUTES
) -
NONE
새로 고칠 수 있는 클론 생성 및 작업
다음 명령문을 사용하여 소스 PDB를 복제하고 복제를 새로 고칠 수 있도록 구성합니다. 클론 PDB를 새로 고치면 마지막 redo 로그가 적용된 이후 누적된 redo 데이터로 업데이트됩니다.
CREATE PLUGGABLE DATABASE ... REFRESH MODE [ MANUAL / AUTOMATIC (using EVERY n MINUTES) / NONE ] ;
다음 명령문을 사용하여 새로 고쳐지거나 비활성화된 새로 고칠 수 있는 클론의 현재 모드를 변경하고 완전히 작동하는 PDB로 변환합니다.
ALTER PLUGGABLE DATABASE ... REFRESH MODE [ MANUAL / AUTOMATIC (using EVERY n MINUTES) / NONE ] ;
성능 저하를 피하기 위해 PDB를 자주 복제하지 않으면 복제 데이터가 부실해집니다. 새로 고칠 수 있는 클론 PDB는 이 문제를 해결합니다. refreshableclone이 오래되면 최근 다시 실행으로 빠르게 새로 고칠 수 있습니다.
일반적으로 마스터 프로덕션 PDB의 새로 고칠 수 있는 클론을 만든 다음 개발 및 테스트를 위해 마스터의 스냅샷 클론을 만듭니다.
소스 및 복제 PDB의 역할을 반대로 하려면 다음 명령문을 사용하십시오.
ALTER PLUGGABLE DATABASE ... SWITCHOVER;
다음 그림과 같이 이 전환 프로세스를 단순화할 수 있습니다.
그림 2그림 2
그림 3그림 3
이 전환 기능은 다음과 같은 상황에서 유용합니다.
재생 가능한 클론의 계획된 전환
그림 3에서 CDB1 , 소스 PDB를 호스팅하는 PDB1 , CDB2보다 훨씬 더 많은 오버헤드가 발생할 수 있습니다. , 복제 PDB를 호스팅하는 PDB1_REF_CLONE . 더 나은 로드 밸런싱을 달성하기 위해 클론을 새 소스 PDB로 변환하고 소스 PDB를 새 클론으로 변환하여 PDB의 역할을 반대로 할 수 있습니다.
currentprimary 데이터베이스에서 다음 명령을 사용하여 이 역할 전환을 실행합니다.
ALTER PLUGGABLE DATABASE PDB1 REFRESH MODE EVERY 2 MINUTES FROM PDB1_REF_CLONE@DBLINK2CDB2 SWITCHOVER;
이 명령이 완료되면 PDB1_REF_CLONE CDB2에서 주 역할을 맡습니다. CDB1 이제 복제본을 유지 관리합니다. 프로덕션에 대한 모든 연결은 현재 CDB2인 새 기본에 연결합니다. . 새로 고침이 소스의 재생성 속도를 유지한다고 가정하면 2분 이상의 트랜잭션 손실이 발생하지 않습니다.
새로 고칠 수 있는 클론의 계획되지 않은 전환
소스 PDB에 계획되지 않은 장애가 발생한 경우 복제 PDB를 새 소스 PDB로 전환하고 정상 작업을 재개할 수 있습니다.
실제 트랜잭션 볼륨을 사용하여 환경을 테스트하여 복제본을 새로 고치는 프로세스가 다시 실행 생성률을 따라갈 수 있는지 확인하십시오.
새로 고칠 수 있는 클론은 Data Guard와 어떻게 다릅니까?
Oracle은 Data Guard 및 대기 데이터베이스와 함께 고가용성 기능을 도입했습니다. 다음 요소는 Data Guard에서 새로 고칠 수 있는 클론을 구별합니다.
-
Data Guard는 대기 데이터베이스로 실시간 전환 및 장애 조치를 제공하여 재해 및 데이터 손상으로부터 데이터베이스를 보호할 수 있는 고가용성을 제공합니다. 새로 고칠 수 있는 복제 PDB 기능을 사용하여 로드 공유를 위해 Data Guard 대기 데이터베이스를 사용할 수도 있습니다. Data Guard는 CDB 수준에서 작동하며 PDB 수준에서는 전환 또는 장애 조치를 할 수 없습니다.
-
전환 시작과 완료 사이의 지연 때문에 Data Guard는 단순히 새로 고칠 수 있는 클론을 유지 관리하는 것보다 더 효과적입니다. 이 지연 시간 동안 역할을 전환하기 전에 기본 데이터베이스에 대한 트랜잭션이 읽기 전용 데이터베이스에 적용되지 않거나 동기화되지 않을 수 있습니다. 결과적으로 해당 거래를 잃을 수 있습니다.
-
Data Guard는 최대 30개의 대기 데이터베이스 제한이 있지만 필요한 만큼 새로 고칠 수 있는 클론을 가질 수 있습니다.
고가용성을 위해 새로 고칠 수 있는 클론 PDB 기능을 강화하고 데이터 손실이 거의 없도록 하려면 REMOTE_RECOVERY_FILE_DEST
를 설정하십시오. 소스 PDB의 로그 위치를 아카이브하는 매개변수입니다.
결론
고가용성 관점에서 새로 고칠 수 있는 클론 PDB 기능을 Data Guard의 대체품으로 생각해서는 안 됩니다. 그러나 새로 고칠 수 있는 클론을 사용하여 다른 서버에서 복제본 데이터베이스를 유지할 수 있습니다.
이 게시물에서는 전환이 계획된 이벤트인지 또는 계획되지 않은 이벤트인지에 관계없이 부하가 낮고 중요하지 않은 특정 애플리케이션 작업을 재개할 수 있도록 새로 고칠 수 있는 PDB를 복제본으로 사용하는 방법을 설명했습니다. 복구 시간 목표(RTO, 작업 재개 시간) 및 복구 시점 목표(최소 데이터 손실 달성과 같은 RPO)의 관점에서 전환을 고려해야 합니다.
시리즈의 2부에서는 새로 고칠 수 있는 복제 기능을 보여줍니다.
피드백 탭을 사용하여 의견을 작성하거나 질문하십시오. 지금 채팅을 시작하여 대화를 시작할 수도 있습니다.
데이터베이스에 대해 자세히 알아보십시오.