この方法は、オンプレミス・プラットフォームがリトル・エンディアンで、オンプレミス・データベースとOracle Database Cloud Serviceデータベースのデータベース・キャラクタ・セットに互換性がある場合にのみ使用できます。
この方法を使用すると、データ・ポンプ・トランスポータブル表領域方法では必要な、表領域をREAD ONLY
モードにすることが不要になります。
RMANトランスポータブル表領域とデータ・ポンプ方法を使用して、オンプレミスのソース・データベースをOracle Database Cloud Service上のデータベース・デプロイメントに移行するには、次のタスクを実行します。
オンプレミス・データベース・ホストで、RMANを起動し、トランスポータブル表領域セットを作成します。
セキュア・コピー・ユーティリティを使用して、データ・ポンプ・エクスポートのダンプ・ファイルおよび表領域データファイルをDatabase Cloud Serviceの計算ノードに転送します。
Database Cloud Serviceの計算ノードで、表領域インポート用にデータベースを準備します。
Database Cloud Service計算ノードでData Pump Importを起動し、データベースに接続します。 TRANSPORT_DATAFILES
オプションを使用して、データをデータベースにインポートします。
データが正常にインポートされたことを確認したら、ダンプ・ファイルを削除できます。
この例では、オンプレミスOracle Databaseの表領域をOracle Database Cloud Serviceデータベースに移行するために必要なタスクを順を追って示します。
この例では、FSDATA
およびFSINDEX
の各表領域の移行を実行します。
この例では、オンプレミス・データベースはLinuxホストにあります。
オンプレミス・データベース・ホストで、RMANを起動し、トランスポータブル表領域セットを作成します。
オンプレミス・データベース・ホストで、データファイル用のオペレーティング・システム・ディレクトリを作成します。
$ mkdir /u01/app/oracle/admin/orcl/rman_transdest
オンプレミス・データベース・ホストで、RMAN補助インスタンス・ファイル用のオペレーティング・システム・ディレクトリを作成します。
$ mkdir /u01/app/oracle/admin/orcl/rman_auxdest
RMANを起動し、SYSTEM
ユーザーとしてログインします。 要求されたら、SYSTEM
ユーザーのパスワードを入力します。
$ rman target system
TRANSPORT TABLESPACE
コマンドを実行します。
RMAN> TRANSPORT TABLESPACE fsdata, fsindex 2> TABLESPACE DESTINATION '/u01/app/oracle/admin/orcl/rman_transdest' 3> AUXILIARY DESTINATION '/u01/app/oracle/admin/orcl/rman_auxdest';
RMANをログアウトします。
必要に応じて、TABLESPACE DESTINATION
に指定したディレクトリに移動し、TRANSPORT TABLESPACE
操作で作成したファイルを確認します。
$ cd /u01/app/oracle/admin/orcl/rman_transdest $ ls dmpfile.dmp fsdata01.dbf fsindex01.dbf impscrpt.sql
セキュア・コピー・ユーティリティを使用して、データ・ポンプ・エクスポートのダンプ・ファイルおよび表領域データファイルをDatabase Cloud Serviceの計算ノードに転送します。
この例では、ダンプ・ファイルは/u01
ディレクトリにコピーされます。 転送するファイルのサイズに基づいて適切な場所を選択します。
Database Cloud Serviceの計算ノードで、ダンプ・ファイル用のディレクトリを作成します。
$ mkdir /u01/app/oracle/admin/ORCL/dpdump/from_onprem
scp
コマンドを使用してファイルをコピーする前に、Database Cloud Serviceの計算ノードにアクセスできるようにするSSH秘密鍵がオンプレミス・ホストで使用できることを確認します。
オンプレミス・データベース・ホストで、SCPユーティリティを使用してダンプ・ファイルおよびトランスポータブル・セットのすべてのデータファイルをDatabase Cloud Serviceの計算ノードに転送します。
$ scp -i private_key_file \ /u01/app/oracle/admin/orcl/rman_transdest/dmpfile.dmp \ oracle@IP_address_DBaaS_VM:/u01/app/oracle/admin/ORCL/dpdump/from_onprem $ scp -i private_key_file \ /u01/app/oracle/admin/orcl/rman_transdest/fsdata01.dbf \ oracle@IP_address_DBaaS_VM:/u02/app/oracle/oradata/ORCL $ scp -i private_key_file \ /u01/app/oracle/admin/orcl/rman_transdest/fsindex01.dbf \ oracle@IP_address_DBaaS_VM:/u02/app/oracle/oradata/ORCL
Database Cloud Serviceの計算ノードで、表領域インポート用にデータベースを準備します。
Database Cloud Service計算ノードでSQL*Plusを起動し、SYSTEM
ユーザーとしてデータベースにログインします。
ディレクトリ・オブジェクトをDatabase Cloud Serviceデータベースに作成します。
SQL> CREATE DIRECTORY dp_from_onprem AS '/u01/app/oracle/admin/ORCL/dpdump/from_onprem';
インポートされるオブジェクトの所有者がデータベースに存在しない場合は、インポートを実行する前に作成します。 トランスポータブル表領域モードのインポートでは、ユーザーは作成されません。
SQL> CREATE USER fsowner 2 PROFILE default 3 IDENTIFIED BY fspass 4 TEMPORARY TABLESPACE temp 5 ACCOUNT UNLOCK;
Database Cloud Service計算ノードでData Pump Importを起動し、データベースに接続します。
TRANSPORT_DATAFILES
オプションを使用して、データをデータベースにインポートします。
$ impdp system DIRECTORY=dp_from_onprem DUMPFILE='dmpfile.dmp' \ TRANSPORT_DATAFILES='/u02/app/oracle/oradata/ORCL/fsdata01.dbf', \ '/u02/app/oracle/oradata/ORCL/fsindex01.dbf'
データが正常にインポートされたことを確認したら、dmpfile.dmp
ダンプ・ファイルを削除できます。