この方法は、オンプレミス・データベースとOracle Database Cloud Serviceデータベースのデータベース・キャラクタ・セットに互換性がある場合にのみ使用できます。
注意:
データベース全体のクロスプラットフォーム・トランスポートを実行できる同様の方法の詳細は、リリース12.2または12.1のOracle Database 12cバックアップおよびリカバリ・ユーザーズ・ガイドを参照してください。 データベース全体を別のプラットフォームにトランスポートする場合、ソース・プラットフォームと宛先プラットフォームで同じエンディアン形式を使用する必要があります。
RMANクロスプラットフォーム・トランスポータブル・バックアップ・セット方法を使用して、Oracle Database 12cデータベースのオンプレミス表領域をOracle Database Cloud ServiceデプロイメントのOracle Database 12cデータベースに移行するには、次のタスクを実行します。
オンプレミス・データベース・ホストで、トランスポートするユーザー定義の表領域をREAD ONLY
モードにしてデータベースを準備します。
オンプレミス・データベース・ホストで、RMANを起動し、TO PLATFORM
句またはFOR TRANSPORT
句とDATAPUMP
句を指定してBACKUP
コマンドを使用してクロスプラットフォーム・トランスポート用にバックアップ・セットを作成します。 BACKUP
コマンドの詳細は、リリース12.2または12.1のOracle Databaseバックアップおよびリカバリ・リファレンスのBACKUPを参照してください。
セキュア・コピー・ユーティリティを使用して、データ・ポンプ・エクスポートのダンプ・ファイルを含め、バックアップ・セットをDatabase Cloud Serviceの計算ノードに転送します。
オンプレミス表領域をREAD WRITE
に戻します。
Database Cloud Serviceの計算ノードで、必要なスキーマを作成してデータベースを準備します。
Database Cloud Serviceの計算ノードで、RMANを起動し、foreignFileSpec
サブ句を指定してRESTORE
コマンドを使用してクロスプラットフォーム・バックアップをリストアします。
Database Cloud Serviceの計算ノードで、データベースの表領域をREAD WRITE
モードに設定します。
詳細は、リリース12.2または12.1のOracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイドのバックアップ・セットを使用したクロスプラットフォーム・データ・トランスポートの概要を参照してください。
この例では、Oracle Database PDB内の表領域をOracle Database Cloud Serviceデータベースに移行するために必要なタスクを順を追って示します。
この例では、FSDATA
およびFSINDEX
の各表領域の移行を実行します。
この例では、オンプレミス・データベースはLinuxホストにあります。
オンプレミス・データベースのホストで、エクスポート・ダンプ・ファイル用のディレクトリを作成し、READ ONLYモードでトランスポートするユーザー定義の表領域を配置してデータベースを準備します。
オンプレミス・データベースのホストで、オペレーティング・システム内にエクスポート・ダンプに使用するディレクトリを作成します。
$ mkdir /u01/app/oracle/admin/orcl/dpdump/for_cloud
オンプレミス・データベースのホストで、SQL*Plusを起動し、PDBにSYSTEM
ユーザーとしてログインします。
$ sqlplus system@pdb_servicename Enter password: enter the password for the SYSTEM user
オペレーティング・システム・ディレクトリを参照するディレクトリ・オブジェクトをオンプレミス・データベースで作成します。
SQL> CREATE DIRECTORY dp_for_cloud AS '/u01/app/oracle/admin/orcl/dpdump/for_cloud';
オンプレミス・データベース・ホストで、転送するすべての表領域(トランスポータブル・セット)をREAD ONLYモードに設定します。
SQL> ALTER TABLESPACE fsindex READ ONLY; SQL> ALTER TABLESPACE fsdata READ ONLY;
SQL*Plusを終了します。
オンプレミス・データベース・ホストで、RMANを起動し、TO PLATFORM
句またはFOR TRANSPORT
句とDATAPUMP
句を指定してBACKUP
コマンドを使用してクロスプラットフォーム・トランスポート用にバックアップ・セットを作成します。
オンプレミス・データベース・ホストで、データファイル用のオペレーティング・システム・ディレクトリを作成します。
$ mkdir /u01/app/oracle/admin/orcl/rman_transdest
RMANを起動し、SYSDBA
またはSYSBACKUP
権限が付与されているユーザーとしてログインします。
$ rman target username@pdb_servicename
BACKUP
コマンドを実行します。
RMAN> BACKUP FOR TRANSPORT 2> FORMAT '/u01/app/oracle/admin/orcl/rman_transdest/fs_tbs.bck' 3> TABLESPACE fsdata,fsindex 4> DATAPUMP FORMAT '/u01/app/oracle/admin/orcl/rman_transdest/fs_tbs.dmp';
RMANをログアウトします。
オプションで、BACKUP
コマンドで指定したディレクトリに移動し、作成されたファイルを確認します。
$ cd /u01/app/oracle/admin/orcl/rman_transdest $ ls fs_tbs.bck fs_tbs.dmp
セキュア・コピー・ユーティリティを使用して、データ・ポンプ・エクスポートのダンプ・ファイルを含め、バックアップ・セットをDatabase Cloud Serviceの計算ノードに転送します。
Database Cloud Service計算ノードで、バックアップ・セットおよびダンプ・ファイル用のディレクトリを作成します。
$ mkdir /tmp/from_onprem
scp
コマンドを使用してファイルをコピーする前に、Database Cloud Serviceの計算ノードにアクセスできるようにするSSH秘密鍵がオンプレミス・ホストで使用できることを確認します。
オンプレミス・データベースのホストで、SCPユーティリティを使用して、バックアップ・セットおよびダンプ・ファイルをDatabase Cloud Serviceの計算ノードに転送します。
$ scp -i private_key_file \ /u01/app/oracle/admin/orcl/rman_transdest/fs_tbs.bck \ oracle@IP_address_DBaaS_VM:/tmp/from_onprem $ scp -i private_key_file \ /u01/app/oracle/admin/orcl/rman_transdest/fs_tbs.dmp \ oracle@IP_address_DBaaS_VM:/tmp/from_onprem $
オンプレミス表領域をREAD WRITEに戻します。
SQL*Plusを起動し、PDBにSYSTEM
ユーザーとしてログインします。
FSDATA
およびFSINDEX
の各表領域をREAD WRITEモードに戻します。
SQL> ALTER TABLESPACE fsdata READ WRITE; SQL> ALTER TABLESPACE fsindex READ WRITE;
SQL*Plusを終了します。
Database Cloud Serviceの計算ノードで、必要なスキーマを作成してデータベースを準備します。
Database Cloud Service計算ノードでSQL*Plusを起動し、SYSTEM
ユーザーとしてPDBにログインします。
インポートされるオブジェクトの所有者がデータベースに存在しない場合は、RESTORE
.を実行する前に作成します。
SQL> CREATE USER fsowner 2 PROFILE default 3 IDENTIFIED BY fspass 4 TEMPORARY TABLESPACE temp 5 ACCOUNT UNLOCK;
Database Cloud Serviceの計算ノードで、RMANを起動し、foreignFileSpec
サブ句を指定してRESTORE
コマンドを使用してクロスプラットフォーム・バックアップをリストアします。
データ・ポンプ・ダンプ・ファイル用のオペレーティング・システム・ディレクトリを作成します。
$ mkdir /tmp/from_onprem
RMANを起動し、PDBにSYSDBA
またはSYSBACKUP
権限が付与されているユーザーとしてログインします。
$ rman target username@pdb_servicename
RESTORE
コマンドを実行します。
RMAN> RESTORE FOREIGN TABLESPACE fsdata,fsindex TO NEW 2> FROM BACKUPSET '/tmp/from_onprem/fs_tbs.bck' 3> DUMP FILE DATAPUMP DESTINATION '/tmp/datapump' 4> FROM BACKUPSET '/tmp/from_onprem/fs_tbs.dmp';
RMANを終了します。
Database Cloud Serviceの計算ノードで、表領域をREAD WRITEモードに設定します。
SQL*Plusを起動し、PDBにSYSTEM
ユーザーとしてログインします。
FSDATA
およびFSINDEX
表領域をREAD WRITEモードに設定します。
SQL> ALTER TABLESPACE fsdata READ WRITE; SQL> ALTER TABLESPACE fsindex READ WRITE;
SQL*Plusを終了します。
データが正常にインポートされたことを確認した後は、オンプレミス・ホストからトランスポートされたバックアップ・セット・ファイルを削除できます。