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

DBリンク経由で別のCDBからPDBをクローン(リモートクローン)

OracleMultitenant

コマンド

-- 1) In the SOURCE CDB, a common user:
CREATE USER c##clone_user IDENTIFIED BY "<password>" CONTAINER = ALL;
GRANT CREATE SESSION, CREATE PLUGGABLE DATABASE TO c##clone_user CONTAINER = ALL;

-- 2) In the TARGET CDB root, DB link and test:
CREATE DATABASE LINK clone_link
  CONNECT TO c##clone_user IDENTIFIED BY "<password>"
  USING '//<source_host>:1521/<source_cdb_service>';
SELECT * FROM dual@clone_link;

-- 3) Clone and open:
CREATE PLUGGABLE DATABASE <new_pdb> FROM <pdb>@clone_link
  FILE_NAME_CONVERT = ('/<pdb>/', '/<new_pdb>/');
ALTER PLUGGABLE DATABASE <new_pdb> OPEN;

-- 4) Violations (version, options, parameters, patches):
SELECT name, cause, type, message
FROM   pdb_plug_in_violations
WHERE  name = UPPER('<new_pdb>') AND status <> 'RESOLVED';

概要

DBリンクを通じてネットワーク経由でソースCDBからターゲットCDBへPDBをコピーする。中間ファイルやアンプラグは不要。

使用する場面

PDBを別のサーバー/CDBへ移動する、別サーバーに本番のテストコピーを作成する、新しいリリースのCDBへ移行するため。

注意

ソースとターゲットのCDBは、エンディアン、キャラクタセット(またはターゲットがAL32UTF8)、オプションで互換性がある必要がある。新しいリリースにクローンしたPDBは最初RESTRICTEDでオープンし、datapatch/upgradeが必要。クローン完了後はDBリンクと共通ユーザーを削除する。ホットクローンにはソースでローカルUNDO + ARCHIVELOGが必要。

DBAtlas で開く →

関連項目