같은 CDB 내에서 PDB 복제(local / hot clone)
Oracle멀티테넌트명령어
-- Hot clone prerequisites: local undo + ARCHIVELOG
SELECT property_value AS local_undo
FROM database_properties WHERE property_name = 'LOCAL_UNDO_ENABLED';
SELECT log_mode FROM v$database;
CREATE PLUGGABLE DATABASE <new_pdb> FROM <pdb>
FILE_NAME_CONVERT = ('/<pdb>/', '/<new_pdb>/');
-- OMF/ASM: CREATE PLUGGABLE DATABASE <new_pdb> FROM <pdb> CREATE_FILE_DEST = '+DATA';
ALTER PLUGGABLE DATABASE <new_pdb> OPEN;
SELECT name, open_mode FROM v$pdbs WHERE name = UPPER('<new_pdb>');하는 일
원본 PDB의 데이터 파일을 복사하여 같은 CDB에 새 PDB를 만든다. local undo와 ARCHIVELOG를 사용하면 원본이 read-write로 열려 있는 동안에도 실행할 수 있다(hot clone).
사용 시점
운영 PDB의 테스트/개발 사본 생성, 업그레이드나 패치 리허설, 위험한 변경 전 빠른 사본 확보용.
주의
복사는 원본에 추가 I/O를 발생시키며 대상에 원본만큼의 공간이 필요하다. shared undo 모드나 NOARCHIVELOG에서는 원본이 READ ONLY여야 한다(19c 문서). 복제본에는 운영 데이터가 들어 있으므로 열기 전에 마스킹, DB link, job(DBMS_SCHEDULER), 외부 시스템 연결을 점검한다.