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

この項で示す例では、CDBからのApplication Expressのアンインストールで説明されているとおりにApplication Expressが明示的に削除されたことでルート・コンテナCDB$ROOTにApplication Expressがインストールされていない場合について説明します。

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

4.5.1 例1: Application Expressを含む非CDBの接続

Application Expressを含む非CDBを接続します。

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

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

4.5.2 例2: 他のCDBからの共通のApplication Expressを含むPDBの接続

他のCDBからApplication Expressを含むPDBを接続します。

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

4.5.3 例3: 他のCDBからのローカルApplication Expressを含むPDBの接続

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

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

この例では、前提として、Oracle Application Expressリリース20.2がインストールされており、接続するPDB内のAPEX_200200スキーマには、ローカルに定義されたすべてのApplication Expressオブジェクトがすでに含まれており、メタデータ・リンクは含まれていません。

4.5.4 例4: Application Expressを含まない非CDBまたはPDBの接続

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

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