DBAtlas · データベース運用アトラス

同じCDB内でPDBをクローン(ローカル/ホットクローン)

OracleMultitenant

コマンド

-- 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を作成する。ローカルUNDOとARCHIVELOGがあれば、ソースが読み取り/書き込みでオープン中でも実行できる(ホットクローン)。

使用する場面

本番PDBのテスト/開発用コピーの作成、アップグレードやパッチのリハーサル、リスクのある変更前の迅速なコピー取得に。

注意

コピーはソースに追加のI/Oを発生させ、ターゲットにはソースと同じだけの領域が必要。共有UNDOモードまたはNOARCHIVELOGでは、ソースはREAD ONLYである必要がある(19cドキュメント)。クローンには本番データが含まれる。オープン前にマスキング、DBリンク、ジョブ(DBMS_SCHEDULER)、外部システムへの接続を確認する。

DBAtlas で開く →

関連項目