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

PDBをアンプラグし、別の(または同じ)CDBにプラグイン

OracleMultitenant

コマンド

-- SOURCE CDB: close and unplug to an XML manifest
ALTER PLUGGABLE DATABASE <pdb> CLOSE IMMEDIATE;
ALTER PLUGGABLE DATABASE <pdb> UNPLUG INTO '/u01/stage/<pdb>.xml';
-- (Single-file archive: UNPLUG INTO '/u01/stage/<pdb>.pdb' - includes datafiles, 12.2+)
DROP PLUGGABLE DATABASE <pdb> KEEP DATAFILES;

-- TARGET CDB: check compatibility first
SET SERVEROUTPUT ON
DECLARE
  l_ok BOOLEAN;
BEGIN
  l_ok := DBMS_PDB.CHECK_PLUG_COMPATIBILITY(
            pdb_descr_file => '/u01/stage/<pdb>.xml',
            pdb_name       => '<pdb>');
  DBMS_OUTPUT.PUT_LINE(CASE WHEN l_ok THEN 'COMPATIBLE' ELSE 'NOT COMPATIBLE - see PDB_PLUG_IN_VIOLATIONS' END);
END;
/
SELECT name, cause, type, status, message
FROM   pdb_plug_in_violations
WHERE  name = UPPER('<pdb>') AND status <> 'RESOLVED';

-- NOCOPY if the files stay in place, COPY FILE_NAME_CONVERT if they move:
CREATE PLUGGABLE DATABASE <pdb> USING '/u01/stage/<pdb>.xml' NOCOPY TEMPFILE REUSE;
-- From a .pdb archive: CREATE PLUGGABLE DATABASE <pdb> USING '/u01/stage/<pdb>.pdb'
--                    FILE_NAME_CONVERT = ('/u01/stage/', '/u02/oradata/<cdb>/<pdb>/');
ALTER PLUGGABLE DATABASE <pdb> OPEN;

概要

PDBをCDBから切り離し、メタデータをXMLマニフェスト(またはデータファイルを含む単一の.pdbアーカイブ)に書き出す。互換性チェック後、同じファイルでターゲットCDBにプラグインする。

使用する場面

同じサーバー上の新しいリリースのCDBへPDBを移動する(アンプラグ/プラグによるアップグレード)、CDBの統合、ネットワーク経由のクローンができない移動に。

注意

アンプラグ後、PDBはソースCDBで使用できない(停止時間)。NOCOPYでプラグインしたファイルはターゲットCDBに属するため、失敗時に切り戻せるよう事前にファイルレベルのコピーまたはRMANバックアップを取得する。ERRORタイプの違反が解決されるまでPDBはRESTRICTEDでオープンする。同じCDBに再度プラグインする場合、AS CLONEを省略するとGUIDの競合が発生する可能性がある。

DBAtlas で開く →

関連項目