この方法は、ソース・プラットフォームがリトルエンディアンでデータベース文字セットがAL32UTF8または互換サブセットの場合にのみ使用できます。 Oracle Database 12cのマルチテナント・アーキテクチャを使用してプラガブル・データベース(PDB)を簡単に移行できます。
Oracle Database 12c PDBをOracle Database Exadata Cloud Machineに移行するには、ソース・コンテナ・データベース(CDB)からPDBを抜き、Exadata Cloud MachineのCDBにプラグインします。
この方法はそのシンプルさに優位性があります。 ただし、この方法の特定の要件から、トランスポータブル表領域などの他の方法より適する状況は少なくなります。 PDBのアンプラグおよびプラグの要件は次のとおりです。
ソース・データベースはPDBである必要があります。つまり、ソース・データベースのバージョンは12.1以上である必要があります。
ソースおよびターゲット・プラットフォームのエンディアン形式が同じである必要があります。Exadata Cloud Machineの場合はリトルエンディアンです。
理想的には、ソースおよびターゲットのCDBで同じ文字セット(Exadata Cloud Machineの場合はAL32UTF8)を使用する必要があります。 あるいは、PDB文字セットがUTF8などのAL32UTF8のバイナリ・サブセットであるマルチバイト文字セットである必要があります。ただし、文字セットが異なり、最大文字幅が異なる場合、問題が発生する可能性があります。
PDBのアンプラグおよびプラグによってOracle Database 12c PDBをExadata Cloud Machineに移行するには、次のタスクを実行します。
ソース・データベース・ホストでSYSDBA
またはSYSOPER
管理権限を持つユーザーとしてソースCDBのルート・コンテナに接続し、次のようにします。
ソースPDBをクローニングします。
ALTER PLUGGABLE DATABASE ... UNPLUG INTO
コマンドを実行し、PDBメタデータを含むXMLファイルを生成します。
XMLファイルおよびPDBデータ・ファイルをExadata Cloud Machine計算ノードに転送します。
Exadata Cloud Machine計算ノードでSYSDBA
またはSYSOPER
管理権限を持つユーザーとしてターゲットCDBのルート・コンテナに接続し、次のようにします。
オプションでDBMS_PDB.CHECK_PLUG_COMPATIBILITY
関数を実行し、PDBがExadata Cloud Machineと互換性があることを確認します。
CREATE PLUGGABLE DATABASE
コマンドを実行してPDBをプラグインします。
ALTER PLUGGABLE DATABASE ... OPEN READ WRITE
コマンドを実行して、ターゲットPDBを読取り/書込みモードで開きます。
「Oracle Database管理者ガイド」の「取り外したPDBをCDBに差し込んでPDBを作成」を参照してください。
あるいは、RMANを使用してPDB移行プロセスを補助できます。 RMANを使用することによって、ソースPDBを読取り専用モードにする必要がなくなります。 ただし、RMANを使用する場合、BACKUP FOR TRANSPORT
またはBACKUP TO PLATFORM
コマンドを使用してソースPDBのトランスポータブル・バックアップを作成する必要があります。 したがって、この方法を使用する場合、必要なバックアップを作成するための追加領域および処理リソースが必要です。 「Oracle Database Backup and Recoveryユーザーズ・ガイド」の「PDBのクロス・プラット・フォーム・トランス・ポートの実行」を参照してください。