Oracle19cのPDBクローン
以前業務で環境構築を行う際、既存PDBからクローンする機会があった。
マルチテナントの環境だと既存のPDBからクローン(コピー)することが可能。
※もちろん既存のCDB・PDBがあること前提
CREATE PLUGGABLE DATABASE pdb FROM new_pdb;
データファイルごとコピーされるので、レコードの内容はもちろんユーザや権限などもコピーされる。
ファイル名・サービス名はコピーする際に、file_name_convert句やservice_name_convert句を使用して変更することが可能。
特にサービス名は既存サービスと競合する可能性があるのでクローン時に変更しておくのが吉。
また、この場合でもサービスが、作成したPDBに紐づいているわけではないので、PDBクローン後にsrvctl add serviceでサービスの登録は必要。
※通常、PDBクローン作業は検証環境での構築作業で実施することが多いと思う。
既存PDBをクローンした際には環境依存の文字列が入っているオブジェクトは適宜変更するのをお忘れなく。
(DBLINKやディレクトリオブジェクト、リソースプラン名などは環境名入りがち)