オンプレミスからPDBを切断し、クラウド内のデータベースに接続します

オンプレミスのプラガブル・データベース(PDB)を閉じて切断し、クラウドに接続し、SSHを使用してPDBマニフェスト・ファイルをクラウド内のデータベースにコピーし、PDBをDBノードに接続してから、読取り/書込み権限をオープンします。

オンプレミス・データベースへの接続

オンプレミス・データベースに接続し、プラガブル・データベース(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';

トンネリングを介したVM上のDBノードへのPDBファイルのコピー

Bastionホストを介してVM DBシステムへのトンネルを作成し、プラガブル・データベース(PDB)データ・マニフェスト・ファイルをクラウド内のDBシステムにコピーします。

  • VM DBシステムを介してトンネリングし、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に接続します

DBノードに接続し、データベースが読取り/書込みモードであるかどうかを確認してから、インスタンスからPDBをアタッチします。

  1. DBノードに接続し、データベースが読取り/書込みモードであることを確認します。
    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. PDBファイルを/tmpディレクトリからそれぞれの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. PDBファイルを/tmpディレクトリからそれぞれの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;

移行の検証

最後のチェックを実行して、VM DBシステムに移行されたすべてのPDBを確認します。

  • PDBが表示され、読取り/書込み権限があることを確認します。
    SQL> select name, open_mode from v$pdbs;