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: ローカルにインストールされたAPEXを含む非CDBまたはPDBの接続

ローカルにインストールされたAPEXを含む非CDBまたはPDBを接続します。

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

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

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

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

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

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