この方法は、ソース・プラットフォームがリトルエンディアンでデータベース文字セットがAL32UTF8または互換サブセットの場合にのみ使用できます。 Oracle Database 12cのマルチテナント・アーキテクチャを使用し、複数の非CDBをExadata Cloud Machine上のマルチテナント・データベースに統合する方法を提供します。
Exadata Cloud MachineのCDBに非CDBを差し込むことによって、Oracle Database 12c非CDBをOracle Database Exadata Cloud Machineに移行できます。 この方法はPDBのアンプラグとプラグに似ており、同様の要件および制限があります。
ソース・データベースはバージョン12.1以上である必要があります。
ソースおよびターゲット・プラットフォームのエンディアン形式が同じである必要があります。Exadata Cloud Machineの場合はリトルエンディアンです。
理想的には、ソースおよびターゲットのCDBで同じ文字セット(Exadata Cloud Machineの場合はAL32UTF8)を使用する必要があります。 あるいは、PDB文字セットがUTF8などのAL32UTF8のバイナリ・サブセットであるマルチバイト文字セットである必要があります。ただし、文字セットが異なり、最大文字幅が異なる場合、問題が発生する可能性があります。
非CDBのプラグインによってOracle Database 12cの非CDBをExadata Cloud Machineに移行するには、次のタスクを実行します。
ソース・データベース・ホストでSQL*Plusを起動し、SYSDBA
またはSYSOPER
管理権限を持つユーザーとしてソース・データベースに接続し、次のようにします。
ソース・データベースを読取り専用モードに設定します。
DBMS_PDB.DESCRIBE
プロシージャを実行し、非CDBのデータベース・ファイルについて記述されたXMLファイルを生成します。
ソース・データベースを停止します。
XMLファイルおよびソース・データベース・データ・ファイルをExadata Cloud Machine計算ノードに転送します。
Exadata Cloud Machine計算ノードでSYSDBA
またはSYSOPER
管理権限を持つユーザーとしてターゲットCDBのルート・コンテナに接続し、CREATE PLUGGABLE DATABASE
コマンドを実行してソース・データベースをプラグインします。
ターゲットPDBにSYSDBA
ユーザーとして接続し、$ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql
スクリプトを実行して新しいPDBのSYSTEM
表領域から不要なメタデータを削除します。
ALTER PLUGGABLE DATABASE ... OPEN READ WRITE
コマンドを実行して、ターゲットPDBを読取り/書込みモードで開きます。
「Oracle Database管理者ガイド」の「非CDBを使用したPDBの作成」を参照してください。