[Oracle DB] 핫 클론에서 새로 고침 가능한 PDB를 만드는 단계
6191 단어 오라클oraclecloud
소개
정지할 수 없는 DB를 한 단면에서 복제하고, 정기적으로 차분을 반영하고 싶은 요건이 있었기 때문에 Oracle Database 12.2의 새로운 기능인 리프레시 가능 PDB의 핫 클론에 의한 작성 순서를 확인했습니다.
그 때의 비망 메모입니다. 로컬 CDB에서 PDB를 복제합니다.
18c 새로운 기능인 PDB 스냅샷 회전 목마는 동작하는 에디션에 제한(Exadata 등 엔지니어드 시스템이나 클라우드만 동작)이 있었기 때문에 핫클론으로 했습니다.
참고 : Oracle Database 제품에서 허용되는 기능, 옵션 및 Management Pack
PDB 핫클론이란?
클론 원의 PDB가 READ/WRITE 상태인 채 클론 PDB를 작성할 수 있는 기능입니다.
핫 클론 생성 후에도 수동 또는 자동으로 복제 원본 업데이트를 복제 대상에 반영할 수 있습니다. 다음과 같은 용도로 사용할 수 있습니다.
출처 : Oracle Database 12.2 CoreTech Seminer Multitenant
새로 고침 가능 PDB란?
소스 PDB의 변경을 반영할 수 있는 PDB입니다. PDB를 복제 할 때
REFRESH MODE
절을 지정하여 설정할 수 있습니다. 차분을 임의의 타이밍에서 수동으로 반영시키는 것도, 정기적으로 10분 간격 등으로 반영시키는 것도 가능합니다.구현 절차
확인 환경
핫 클론 전제 조건
절차
핫클론 대상 PDB가 READ/WRITE인지 확인.
[oracle@db01 ~]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Thu Dec 12 03:28:51 2019
Version 19.4.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 19c EE High Perf Release 19.0.0.0.0 - Production
Version 19.4.0.0.0
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB01 READ WRITE NO ★←read/write
PDB측의 system 유저에게 "create pluggable database"권한을 부여.
SQL> grant create pluggable database to system container=all;
Grant succeeded.
복제 원본 PDB에 액세스하는 DB 링크를 만듭니다.
SQL> create public database link link_to1 connect to system identified by xxx using 'PDB01';
Database link created.
새로 고침 가능한 PDB를 핫 클론으로 만듭니다. Oracle Cloud는 기본적으로 테이블 공간 암호화되어 있으므로 "keystore"절에 암호를 입력합니다. 이 명령은 PDB 데이터 파일을 복제합니다.
SQL> create pluggable database pdb02 from pdb01@link_to1 keystore identified by xxx refresh mode every 3 minutes;
Pluggable database created.
아래 핫 클론 런타임 메시지. 경고 로그에서 발췌.
PDB02(4):Endian type of dictionary set to little
\****************************************************************
Pluggable Database PDB02 with pdb id - 4 is created as UNUSABLE.
If any errors are encountered before the pdb is marked as NEW,
then the pdb must be dropped
local undo-1, localundoscn-0x000000000000012c
\****************************************************************
(略)
핫 클론 실행 후 "MOUNTED"로 PDB가 생성됩니다.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB01 READ WRITE NO
4 PDB02 MOUNTED ★←ホットクローンで作成したPDB
다음은 자동 리프레시시의 메시지. 경고 로그에서 발췌. 내부적으로
alter pluggable database refresh
가 실행 중입니다. 업데이트 차이는 DataGuard의 대기 기계처럼 복구되었음을 알 수 있습니다.2019-12-12T05:35:14.601356+00:00
PDB02(4):alter pluggable database refresh
・・・
PDB02(4):Media Recovery Start
・・・
PDB02(4):Media Recovery Complete (cdb01)
・・・
PDB02(4):Completed: alter pluggable database refresh
새로 고침 가능 PDB를 시작할 때 새로 고침 모드를 중지해야 합니다. 한 번 새로 고침 모드를 중지하면 다시 새로 고침 모드로 전환할 수 없습니다.
SQL> alter pluggable database pdb02 open;
alter pluggable database pdb02 open
*
ERROR at line 1:
ORA-65341: cannot open pluggable database in read/write mode
★↑リフレッシュ可能PDBのためopen不可
SQL> alter pluggable database pdb02 refresh mode none;
Pluggable database altered.
★↑リフレッシュモードを停止
SQL> alter pluggable database pdb02 open;
Pluggable database altered.
★↑リフレッシュモードを停止するとOPENできることを確認
직면한 오류
DB 링크가 없는 경우
리프레시 가능 PDB의 경우는 DB 링크가 필요.
SQL> create pluggable database pdb03 from pdb01 keystore identified by WElcome##01 refresh mode every 3 minutes;
create pluggable database pdb03 from pdb01 keystore identified by WElcome##01 refresh mode every 3 minutes
*
ERROR at line 1:
ORA-00922: missing or invalid option
PDB 측 사용자에게 "create pluggable database"권한이 없는 경우
SQL> create pluggable database pdb02 from pdb01@link_to1 keystore identified by WElcome##01 refresh mode every 3 minutes;
create pluggable database pdb02 from pdb01@link_to1 keystore identified by WElcome##01 refresh mode every 3 minutes
*
ERROR at line 1:
ORA-17628: Oracle error 1031 returned by remote Oracle server
ORA-01031: insufficient privileges
DB 링크를 "sys"로 치면
SQL> create public database link link_to1 connect to sys identified by WElcome##01 using 'PDB01';
Database link created.
SQL> create pluggable database pdb02 from pdb01@link_to1 keystore identified by WElcome##01 refresh mode every 3 minutes;
create pluggable database pdb02 from pdb01@link_to1 keystore identified by WElcome##01 refresh mode every 3 minutes
*
ERROR at line 1:
ORA-17627: ORA-28009: connection as SYS should be as SYSDBA or SYSOPER
ORA-17629: Cannot connect to the remote database server
참조
Oracle Database 19c SQL 언어 참조 - CREATE PLUGGABLE DATABASE
Reference
이 문제에 관하여([Oracle DB] 핫 클론에서 새로 고침 가능한 PDB를 만드는 단계), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/y_imaaa/items/b84419bf1c8d07832d55텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)