4.4 ルート・コンテナにApplication Expressがインストールされている場合のPDBの接続
ターゲット・データベースでルート・コンテナCDB$ROOT
にApplication Expressがインストールされている例(デフォルトのインストール・オプション)について学習します。
このセクションでは、ターゲット・データベースでルート・コンテナCDB$ROOT
にApplication Expressがインストールされている例(デフォルトのインストール・オプション)について説明します。接続するデータベースの元の場所、および元のデータベースでApplication Expressが構成されていた方法について、複数の例があることに注意してください。
- 例1: Application Expressを含む非CDBの接続
Application Expressを含む非CDBを接続します。 - 例2: 他のCDBからの共通のApplication Expressを含むPDBの接続
他のCDBからApplication Expressを含むPDBを接続します。 - 例3: 他のCDBからのローカルApplication Expressを含むPDBの接続
他のCDBからローカルApplication Expressを含むPDBを接続します。 - 例4: Application Expressを含まない非CDBまたはPDBの接続
Application Expressがインストールされていない場合に、非CDBまたはPDBを接続します。 - 互換性のないApplication Expressバージョンでの作業
互換性のないバージョンのApplication Expressでの作業方法を理解します。
4.4.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をインストールした後に、PDBにWebリスナーを構成する必要があります。
元のデータベース(現在のPDB)にインストールされているApplication Expressのバージョンが、ターゲット・データベースのルート・コンテナにインストールしたApplication Expressのバージョンと異なる場合は、PDBをオープンしようとするとエラーが発生します
4.4.2 例2: 他のCDBからの共通のApplication Expressを含むPDBの接続
他のCDBからApplication Expressを含むPDBを接続します。
元のCDBのルート・コンテナにApplication Expressがインストールされている既存のOracle Database 12c以降からPDBをコピーまたは移動するには、PDBにWebリスナーを構成する以外は追加ステップを実行する必要はありません。
この例では、前提として、Oracle Application Expressリリース20.2がインストールされており、接続するPDB内のAPEX_200200
スキーマはすでにメタデータ・リンク・オブジェクトが定義されておりターゲットCDB内のメタデータ・リンク・オブジェクトに対してエラーが発生することなくコンパイルされます。
元のデータベースにインストールされているApplication Expressのバージョンが、ターゲット・データベースのルート・コンテナにインストールしたApplication Expressのバージョンと異なる場合は、PDBをオープンしようとするとエラーが発生します。
4.4.3 例3: 他のCDBからのローカルApplication Expressを含むPDBの接続
他のCDBからローカルApplication Expressを含むPDBを接続します。
Application Expressがルート・コンテナではなく、ローカルにインストールされている既存のOracle Database 12c以降からPDBをコピーまたは移動するには、PDBをエラーなしでオープンできるように次のステップを実行する必要があります。
この例では、前提として、Oracle Application Expressリリース20.2がインストールされており、接続するPDB内のAPEX_200200
スキーマにはApplication Expressのすべてのデータベース・オブジェクトが含まれ、メタデータ・リンク・オブジェクトは含まれていません。このため、$ORACLE_HOME/rdbms/admin/apex_to_common.sql
を実行して一般的なオブジェクトを削除し、パッケージ、ビューおよびその他に対するメタデータ・リンクを作成する必要があります。
ローカル・オブジェクトをPDBのメタデータ・リンクで置き換えるには:
-
作業ディレクトリを
$ORACLE_HOME/rdbms/admin
に変更します。 -
SQL*Plusを起動し、Application Expressがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。次に例を示します。
-
Windowsの場合:
SYSTEM_DRIVE:\ sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password:
SYS_password
-
UNIXおよびLinuxの場合:
$ sqlplus /nolog SQL> CONNECT SYS as SYSDBA Enter password: SYS_password
-
-
次のように、コンテナを、構成するPDBに設定します。
ALTER SESSION SET CONTAINER = <
PDB_name
>; -
apex_to_common.sql
を実行します。次に例を示します。@apex_to_common.sql
元のデータベースにインストールされているApplication Expressのバージョンが、ターゲット・データベースのルート・コンテナにインストールしたApplication Expressのバージョンと異なる場合は、PDBをオープンしようとするとエラーが発生します。
4.4.4 例4: Application Expressを含まない非CDBまたはPDBの接続
Application Expressがインストールされていない場合に、非CDBまたはPDBを接続します。
非CDBを接続する場合、あるいは他のCDBからPDBをコピーまたは移動する場合に、元のデータベースまたはPDBにApplication Expressがインストールされていないと、ターゲット・データベースでPDBをオープンしようとした際にアラート・ログに警告が発生します。
この例では、元のデータベースまたは接続するPDBにApplication Expressスキーマ(たとえば、Oracle Application Expressリリース20.2ではAPEX_200200
)は存在しません。PDBを問題なくオープンして新しいPDB内でApplication Expressを実行するには、元のデータベースまたはPDBにApplication Expressをインストールしてから、ターゲット・データベースへの接続を試行する必要があります。元のデータベースまたはPDBにインストールするApplication Expressのバージョンは、ターゲット・データベースにインストールしたバージョンと同じである必要があります。
4.4.5 互換性のないApplication Expressバージョンでの作業
互換性のないバージョンのApplication Expressでの作業方法を学習します。
Application Expressのバージョンがルート・コンテナCDB$ROOT
とPDBで異なる場合は、PDBをオープンするたびにエラーが発生し、PDB内での通常のデータベース操作が妨げられます。バージョンの互換性が確保されるまで、PDBは、RESTRICTED SESSION権限を持つユーザーによって制限モードでのみオープンできます。
- CDBのApplication Expressのパッチ適用またはアップグレード
ルート・コンテナでApplication Expressに対してパッチ適用またはアップグレードを行う方法を理解します。 - PDBのApplication Expressのパッチ適用またはアップグレード
PDBのApplication Expressのパッチ適用またはアップグレードについて理解します。
4.4.5.1 CDBのApplication Expressのパッチ適用またはアップグレード
ルート・コンテナでApplication Expressに対してパッチ適用またはアップグレードを行う方法を学習します。
Application Expressのバージョンがルート・コンテナよりもPDBがより後のマイナー・リリース・バージョンの場合(たとえば、PDBにApplication Expressリリース5.1.4が含まれ、CDBにApplication Expressリリース5.1.3が含まれる場合)、エラーが発生することなくPDBをオープンするには、ルート・コンテナのApplication Expressのバージョンにパッチを適用する必要があります。PDBのApplication Expressのメジャー・バージョンがCDBのバージョンより高い場合(たとえばPDBがApplication Expressリリース19.2で、CDBがApplication Expressリリース18.1)、エラーが発生することなくPDBを開くためには、CDBのApplication Expressのバージョンをアップグレードする必要があります。
ルート・コンテナのApplication Expressにパッチを適用するには:
ヒント:
ルート・コンテナのApplication Expressをアップグレードするには、「CDBへのApplication Expressの再インストール」を参照してください。
4.4.5.2 PDBのApplication Expressのパッチ適用またはアップグレード
PDBでApplication Expressに対してパッチ適用またはアップグレードを行う方法を学習します。
Application Expressのマイナー・バージョンがルート・コンテナよりもPDBで低い場合(たとえばPDBがApplication Expressリリース4.2.0で、CDBがApplication Expressリリース4.2.6の場合)、PDBのApplication Expressのバージョンにパッチを適用する必要があります。PDBのApplication Expressのメジャー・バージョンがルート・コンテナよりも低い場合(たとえばPDBがApplication Expressリリース4.2で、CDBがApplication Expressリリース19.2の場合)、PDBのApplication Expressのバージョンをアップグレードする必要があります。
- PDBのApplication Expressへのパッチ適用
PDBでApplication Expressにパッチ適用する方法を理解します。 - PDBのApplication Expressのアップグレード
PDBでApplication Expressをアップグレードする方法を理解します。
4.4.5.2.1 PDBのApplication Expressへのパッチ適用
PDBでApplication Expressにパッチ適用する方法を学習します。
PDBでApplication Expressにパッチを適用するには: