참고:
- 이 사용지침서에서는 Oracle Cloud에 접근해야 합니다. 무료 계정에 등록하려면 Oracle Cloud Infrastructure Free Tier 시작하기를 참조하십시오.
- Oracle Cloud Infrastructure 인증서, 테넌시 및 구획에 대한 예제 값을 사용합니다. 실습을 완료하면 이러한 값을 클라우드 환경에 고유한 값으로 대체합니다.
데이터베이스 링크를 사용하여 Oracle Base Database Service의 DB 시스템 간에 원격으로 플러그인할 수 있는 데이터베이스 복제
소개
DB 시스템의 동일한 데이터베이스(컨테이너 데이터베이스) 내에 PDB(플러그인할 수 있는 데이터베이스)의 복제본을 생성할 수 있습니다. 이 작업을 로컬 복제라고 합니다. 이 작업은 콘솔을 사용하여 쉽게 수행할 수 있습니다. PDB를 다른 DB 시스템의 다른 데이터베이스(컨테이너 데이터베이스)에 복제할 수도 있습니다. 이 작업을 원격 복제라고 합니다.
각 DB 시스템은 하나의 데이터베이스(컨테이너 데이터베이스)만 지원하므로 원격 복제에는 두 개의 DB 시스템이 필요합니다. 콘솔에서 아직 PDB의 원격 복제를 사용할 수 없습니다. 데이터베이스 링크와 OCI CLI, SDK, Terraform 등의 API 기반 툴을 사용하여 RemoteclonePluggabledatabase API를 사용하여 원격 복제본을 생성할 수 있습니다.
이 사용지침서에서는 Oracle Base Database Service의 데이터베이스 링크를 사용하여 PDB를 원격 복제하는 단계를 안내합니다.
목표
데이터베이스 링크를 사용하여 Oracle Base Database Service의 다른 DB 시스템에 PDB를 원격 온라인 복제합니다.
필요 조건
- Oracle Base Database Service에 대한 이해
- 동일한 VCN 또는 다른 VCN 내에 있는 두 개의 Oracle Base Database Service
- 이러한 DB 시스템이 다른 VCN VCN 피어링에 있는 경우 VCN 피어링입니다.
- 다음은 쉽게 이해할 수 있도록 이 자습서에서 사용되는 환경 이름입니다.
- 소스 DB 시스템 이름: 소스
- 대상 DB 시스템 이름: TARGET
- 소스 PDB 이름: SOURCE_PDB1
- 복제 PDB 이름: CLONE_PDB1
작업 1: 소스 환경 준비
-
다음 명령을 사용하여 소스 CDB에서 복제용 사용자를 생성합니다.
CREATE USER c##clone IDENTIFIED BY <PASSWORD> CONTAINER=ALL; GRANT CREATE SESSION, CREATE PLUGGABLE DATABASE TO c##clone CONTAINER=ALL;
-
소스 PDB의 객체 콘텐츠를 확인합니다. 이 예에서는
TEST.PERSONS
테이블을 참조용으로 고려합니다.-
스키마 이름: TEST
-
테이블 이름: PERSONS
-
작업 2: 대상 환경 준비
-
대상 CDB에서
local_undo_enabled
가 true로 설정되어 있는지 확인합니다. -
대상 CDB가
archivelog
모드인지 확인합니다.주: 대상 CDB가 ARCHIVELOG 모드이고 LOCAL UNDO MODE 상태인 경우 소스 PDB를 읽기/쓰기 모드로 열고 복제 프로세스 중에 작동할 수 있습니다. 이 기법을 핫 복제라고 합니다.
-
대상 DB 시스템 노드의
$ORACLE_HOME/network/admin/
디렉토리에 있는tnsnames.ora
파일에서 소스 CDB 서비스 이름의 주소를 업데이트합니다.<addressname> = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host = <hostname>)(Port = <port>)) ) (CONNECT_DATA = (SERVICE_NAME = <service_name>) ) )
다음은 완성된 예입니다.
SOURCE_CDB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = source.**************.*****.oraclevcn.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = SOURCE_iad1zr.**************.*****.oraclevcn.com) ) )
-
대상 CDB에서 소스 CDB를 가리키는 데이터베이스 링크를 만듭니다.
CREATE PUBLIC DATABASE LINK clone_pdb_dblink CONNECT TO c##clone identified by <PASSWORD> using '<ADDRESSNAME>'; CREATE PUBLIC DATABASE LINK clone_pdb_dblink CONNECT TO c##clone identified by ************** using 'SOURCE_CDB';
-
대상 CDB에서 데이터베이스 링크를 통한 접속이 제대로 작동하는지 확인하십시오. 접속하는 데이터베이스와 동일한 이름의 데이터베이스 링크를 사용하지 않으므로 추가로
global_names parameter
를 false로 설정해야 합니다. 그렇지 않으면 ORA-02085 오류가 발생합니다.alter session set global_names=false; select * from dual@clone_pdb_dblink;
작업 3: 원격 PDB 복제
-
대상 CDB에 로그인하여 소스 PDB를 대상 CDB에 복제해야 합니다. 대상 환경의
TDE_WALLET_PASSWORD
을 제공합니다.alter session set global_names=false; create pluggable database <CLONE_PDB_NAME> from <SOURCE_PDB_NAME>@<DB_LINK_NAME> keystore identified by <TDE_WALLET_PASSWORD>; create pluggable database CLONE_PDB1 from SOURCE_PDB1@clone_pdb_dblink keystore identified by <TDE_WALLET_PASSWORD>;
-
복제된 PDB를 읽기/쓰기 모드로 엽니다. PDB는 마운트된 모드에 있습니다. 새 PDB를 대상 CDB에 통합하려면 Oracle Database에 대해 새 복제된 PDB를 읽기/쓰기 모드로 열어야 합니다.
alter pluggable database CLONE_PDB1 open read write;
-
복제 PDB에서 모든 객체 데이터가 복제되었는지 확인합니다.
데이터가 소스 PDB에서 대상 DB 시스템의 복제 PDB로 성공적으로 복사된 것을 확인할 수 있습니다.
관련 링크
승인
- 작성자 - Leona Dsouza, 수석 클라우드 엔지니어
추가 학습 자원
docs.oracle.com/learn에서 다른 실습을 살펴보거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하십시오. 또한 Oracle Learning Explorer가 되려면 education.oracle.com/learning-explorer를 방문하십시오.
제품 설명서는 Oracle Help Center를 참조하십시오.
Clone a Pluggable Database online remotely between DB Systems in Oracle Base Database Service using database link
F87175-01
September 2023
Copyright © 2023, Oracle and/or its affiliates.