5.5 ターゲットCDBのルート・コンテナにOracle APEXが含まれない場合のPDBの接続

この項のシナリオでは、CDBからのOracle APEXのアンインストールの説明のようにOracle APEXを明示的に削除したことによって、ルート・コンテナCDB$ROOTOracle APEXがインストールされていない場合について説明します。

このような場合は、オプションで、各PDBにローカルOracle APEXを個別にインストールできます。Oracle APEXをPDBにインストールした場合、ローカルにインストールされたとみなされ、メタデータ・リンク・オブジェクトは定義されません。接続するデータベースの元の場所、および元のデータベースでOracle APEXが構成されていた方法に関連する複数のシナリオがあります。

5.5.1 シナリオ1: Oracle APEXを含む非CDBの接続

Oracle APEXを含む非CDBを接続します。

以前のリリースのOracle Databaseからアップグレードする場合は、Oracle Database 12c以降の非CDB (またはスタンドアロン・データベース)にアップグレードしてから、ご使用のCDBにデータベースを接続する必要があります。また、非CDBのOracle Database 12c以降を構成済である場合は、そのデータベースをCDBに接続できます。いずれの場合も、元のデータベースは、Oracle APEXがインストールされており、以前はPDBではありませんでした。

ご使用のオペレーティング・システムの『Oracle Databaseインストレーション・ガイド』で説明されているとおり、スタンドアロン・データベースに接続するには、$ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sqlスクリプトを実行する必要があります。このスクリプトによって、(ローカル・オブジェクトではなく)必要なメタデータ・リンク・オブジェクトが作成され、一般的なすべてのデータベース・オプションのデータベース・オブジェクトが再コンパイルされます。ただし、ルート・コンテナからOracle APEXが削除されているため、スクリプトを実行しても、いずれのOracle APEXオブジェクトにもメタデータ・リンクが作成されません。このスクリプトでは、元のデータベースからOracle APEXインストールが変更されないため、使用するWebリスナーのタイプに応じてWebリスナーを構成する以外は追加ステップを実行する必要はありません。

5.5.2 シナリオ2: 他のCDBからの共通のOracle APEXを含むPDBの接続

他のCDBからOracle APEXを含むPDBを接続します。

元のCDBのルート・コンテナにOracle APEXがインストールされている既存のOracle Database 12cからPDBをコピーまたは移動する場合は、PDBをオープンしようとするたびにエラーが発生します。このエラーは、ターゲットのルート・コンテナにOracle APEXが含まれないために、元のPDBに含まれる、元のルート・コンテナのオブジェクトへのメタデータ・リンクを再コンパイルできないことが原因で発生します。PDBをオープンするには、PDBからAPEXを削除するか、ターゲットのルート・コンテナにAPEXをインストールする必要があります。APEXがローカルにインストールされているPDBが含まれる場合、ルート・コンテナにAPEXをインストールすることはオラクル社ではサポートしていません。

5.5.3 シナリオ3: 他のCDBからのローカルOracle APEXを含むPDBの接続

他のCDBからローカルOracle APEXを含むPDBを接続します。

(CDBではなく)元のPDBにローカルOracle APEXがインストールされている既存のOracle Database 12c以降からPDBをコピーまたは移動するには、使用しているWebリスナーのタイプに応じて、PDBにWebリスナーを構成する以外は追加ステップを実行する必要はありません。

このシナリオでは、前提として、Oracle APEXリリース21.2がインストールされ、接続するPDB内のAPEX_210200スキーマにはローカルに定義されたすべてのOracle APEXオブジェクトがすでにあり、メタデータ・リンクはないものとします。

5.5.4 シナリオ4: Oracle APEXを含まない非CDBまたはPDBの接続

Oracle APEXがインストールされていない場合は非CDBまたはPDBを接続します。

非CDBを接続する場合、あるいは他のCDBからPDBをコピーまたは移動する場合に、元のデータベースまたはPDBにOracle APEXがインストールされていないと、追加のステップが不要です。PDB内にAPEX_210200などのOracle APEXエンジン・スキーマが含まれないため、エラーなしでPDBを開始できます。