Oracle-12c

將 PDB 插入沒有 XML 清單的新 CDB

  • March 23, 2017

在 oracle 12c 中,**ALTER PLUGGABLE DATABASE “PDB1” UNPLUG INTO ‘PDB1.XML’**語句創建 XML 清單。如果沒有先正確拔出 PDB 並且源 CDB 未處於活動狀態,是否可以將 PDB 插入新的 CDB?

您可以恢復未拔出 PDB 的 XML 文件。

  1. 將 PDB 文件夾複製到新機器上的 CDB 文件夾中。
  2. 以 SYSDBA 身份連接到新的 CDB(我使用 SQLDeveloper)
  3. 執行包DBMS_PDB.RECOVER

它使用 3 個參數:

  1. /path/to/new/file.xml
  2. NAME_OF_PDB(您可以使用與 OLD PDB 或 NEW ONE 相同的名稱)
  3. /路徑/到/pdb/文件夾/

例子:

BEGIN
 DBMS_PDB.RECOVER (
 pdb_descr_file => '/path/to/new/file.xml.xml',
 pdb_name => 'NAME_OF_PDB',
 filenames => '/path/to/pdb/folder/'
 );
END;
/

然後,您可以使用以下方法插入數據庫:

CREATE PLUGGABLE DATABASE NAME_OF_PDB USING '/path/to/new/file.xml' NOCOPY TEMPFILE REUSE;

然後打開 PDB:

ALTER PLUGGABLE DATABASE NAME_OF_PDB OPEN FORCE;

如果 PDB 未打開,請檢查 PDB_VIOLATIONS

SELECT * FROM PDB_PLUG_IN_VIOLATIONS;

來源 http://www.oraclebuffer.com/oracle/oracle-12c-lost-your-pdbs-xml-manifest-file-heres-how-you-can-recover-it/

引用自:https://dba.stackexchange.com/questions/127462