PDB 從內部部署拔除,並將它們插入雲端的資料庫

關閉及拔除內部部署的可插式資料庫 (PDB)、連線至雲端、使用 SSH 將 PDB 資訊清單檔案複製到雲端的資料庫、將 PDB 插入資料庫節點,然後開啟讀取/寫入權限。

連線至內部部署資料庫

連線至內部部署資料庫並將可插拔資料庫 (PDB) 變更為讀取/寫入模式。

  1. 使用 SQL*Plus 選取 PDB
    SQL> select name, open_mode, from v$pdbs;
  2. 關閉 PDB
    SQL> alter pluggable database pdb_db_name close immediate;

從來源資料庫拔除 PDB

拔除可插式資料庫 (PDB) 並儲存產生的 PDB 資訊清單檔案。此檔案包含已拔除 PDB 之表格空間和資料檔的名稱和完整路徑的相關資訊。

拔除作業會在 PDB 資料檔中進行變更,以記錄 PDB 已正確且已順利拔除。您必須保留資料檔以供後續插入作業使用。

  • 取出 PDB 並指定資料檔的路徑和名稱來儲存檔案。
    ALTER PLUGGABLE DATABASE pdb_db_name UNPLUG INTO '/opt/oracle/oradata/$ORACLE_SID/pdb_db_name.pdb';

透過通道將 PDB 檔案複製到 VM 上的資料庫節點

透過基礎主機建立 VM 資料庫系統的通道,並將可插式資料庫 (PDB) 資料資訊清單檔案複製到雲端中的資料庫系統。

  • 透過 VM 資料庫系統通道並複製 PDB 檔案。
    包括您公用金鑰的路徑和您先前儲存之 PDB 檔案的本機路徑。
    scp -i path of the public key -0 "ProxyCommand=ssh -i path of the public key -W %h:%p opc@BastionHostIP"/opt/oracle/oradata/$ORACLE_SID/pdb_db_name.pdb opc@IPaddressofdbNode:~/tmp

將 PDB 插入雲端的 CDB

連線至資料庫節點並檢查您的資料庫是否為讀取/寫入模式,然後從您的執行處理連附 PDB

  1. 連線資料庫節點,並驗證您的資料庫處於讀取/寫入模式。
    ssh -i path of the public key opc@db_node_IP_address
    $ sqlplus / as sysdba
    SQL > select log_mode,open_mode , database_role from v$database;
  2. /tmp 目錄中的 PDB 檔案複製到個別的 ORA-Data 資料夾 (/u01/app/oracle/oradata/Oracle-SID)。
    ssh -i path of the public key opc@db_node_IP_address
    $ sqlplus / as sysdba
    SQL > select log_mode,open_mode , database_role from v$database;
  3. /tmp 目錄中的 PDB 檔案複製到個別的 ORA-Data 資料夾 (/u01/app/oracle/oradata/SID)。
    cp /tmp/pdb_db_name.pdb /u01/app/oracle/oradata/SID/pdb_db_name.pdb
  4. 使用您的檔案路徑從 PDB 資訊清單檔案附加 PDB。
    SQL > create pluggable database pdb_db_name using '/u01/app/oracle/oradata/SID/pdb_db_name.pdb'
  5. 確認已插入所有 PDB
    SQL > select name, open_mode from v$pdbs;
  6. 將所有 PDB 變更為讀取/寫入模式。
    SQL> Alter pluggable datase all open;

驗證移轉

執行最終檢查以確認所有 PDB 均已移轉至 VM 資料庫系統。

  • 確定見到 PDB 且具備讀取/寫入權限。
    SQL> select name, open_mode from v$pdbs;