プライマリ・コンテンツに移動
Oracle® Application Expressインストレーション・ガイド
リリース18.1
E98589-01
目次へ移動
目次
索引へ移動
索引

前
次

3.3 ルート・コンテナにApplication Expressがインストールされている場合のPDBの接続

ターゲット・データベースでルート・コンテナCDB$ROOTにApplication Expressがインストールされている例(デフォルトのインストール・オプション)を理解します。

このセクションでは、ターゲット・データベースでルート・コンテナCDB$ROOTにApplication Expressがインストールされている例(デフォルトのインストール・オプション)について説明します。接続するデータベースの元の場所、および元のデータベースでApplication Expressが構成されていた方法について、複数の例があることに注意してください。

3.3.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をオープンしようとするとエラーが発生します。

3.3.2 例2: 他のCDBからの一般的なApplication Expressを含むPDBの接続

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

元のCDBのルート・コンテナにApplication Expressがインストールされている既存のOracle Database 12c以降からPDBをコピーまたは移動するには、PDBにWebリスナーを構成するのみで済みます。

Application Expressリリース18.1がインストールされている場合は、接続元のPDB内のAPEX_180100スキーマにメタデータ・リンク・オブジェクトが定義済であるため、ターゲットCDB内のメタデータ・リンク・オブジェクトに対してエラーなしでコンパイルされます。

元のデータベースにインストールされているApplication Expressのバージョンが、ターゲット・データベースのルート・コンテナにインストールしたApplication Expressのバージョンと異なる場合は、PDBをオープンしようとするとエラーが発生します。

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

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

Application Expressがルート・コンテナではなく、ローカルにインストールされている既存のOracle Database 12c以降からPDBをコピーまたは移動するには、PDBをエラーなしでオープンできるように次のステップを実行する必要があります。

Application Expressリリース18.1がインストールされている場合、接続元のPDB内のAPEX_180100スキーマには、Application Expressのすべてのデータベース・オブジェクトが含まれますが、メタデータ・リンク・オブジェクトは含まれません。このため、$ORACLE_HOME/rdbms/admin/apex_to_common.sqlを実行して一般的なオブジェクトを削除し、パッケージ、ビューおよびその他に対するメタデータ・リンクを作成する必要があります。

ローカル・オブジェクトをPDBのメタデータ・リンクで置き換えるには、次のステップを実行します。

  1. 作業ディレクトリを$ORACLE_HOME/rdbms/adminに変更します。

  2. 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
      
  3. 次のように、コンテナを、構成するPDBに設定します。

    ALTER SESSION SET CONTAINER = <PDB_name>;
    
  4. apex_to_common.sqlを実行します。次に例を示します。

    @apex_to_common.sql 
    
    

元のデータベースにインストールされているApplication Expressのバージョンが、ターゲット・データベースのルート・コンテナにインストールしたApplication Expressのバージョンと異なる場合は、PDBをオープンしようとするとエラーが発生します。

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

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

非CDBを接続する場合、あるいは他のCDBからPDBをコピーまたは移動する場合に、元のデータベースまたはPDBにApplication Expressがインストールされていないと、ターゲット・データベースでPDBをオープンしようとした際にアラート・ログに警告が発生します。

この例では、元のデータベースまたは接続元のPDBに、Application Expressスキーマ(Application Expressリリース18.1ではAPEX_180100)が存在しません。PDBを問題なくオープンして新しいPDB内でApplication Expressを実行するには、元のデータベースまたはPDBにApplication Expressをインストールしてから、ターゲット・データベースへの接続を試行する必要があります。元のデータベースまたはPDBにインストールするApplication Expressのバージョンは、ターゲット・データベースにインストールしたバージョンと同じである必要があります。

3.3.5 互換性のないApplication Expressバージョンでの作業

互換性のないバージョンのApplication Expressでの作業方法を理解します。

Application Expressのバージョンがルート・コンテナCDB$ROOTとPDBで異なる場合は、PDBをオープンするたびにエラーが発生し、PDB内での通常のデータベース操作が妨げられます。バージョンの互換性が確保されるまで、PDBは、RESTRICTED SESSION権限を持つユーザーによって制限モードでのみオープンできます。

3.3.5.1 CDBのApplication Expressのパッチ適用またはアップグレード

ルート・コンテナでApplication Expressに対してパッチ適用またはアップグレードを行う方法を理解します。

Application Expressのバージョンがルート・コンテナよりもPDBがより後のマイナー・リリース・バージョンの場合(たとえば、PDBにApplication Expressリリース4.2.6が含まれ、CDBにApplication Expressリリース4.2.5が含まれる場合)、エラーが発生することなくPDBをオープンするには、ルート・コンテナのApplication Expressのバージョンにパッチを適用する必要があります。PDBのApplication Expressのメジャー・バージョンがCDBのバージョンより高い場合(たとえばPDBがApplication Expressリリース18.1で、CDBがApplication Expressリリース4.2)、エラーが発生することなくPDBを開くためには、CDBのApplication Expressのバージョンをアップグレードする必要があります。

ルート・コンテナのApplication Expressにパッチを適用するには、次のステップを実行します。

  1. My Oracle Supportから適切なパッチをダウンロードします。
  2. 解凍してインストール・ファイルを抽出します。
  3. 作業ディレクトリを、インストール・ファイルを抽出したディレクトリに変更します。
  4. 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
      
  5. たとえば、apxpatch_con.sqlを実行します。
    @apxpatch_con.sql
    
  6. パッチ・セット・ノートの説明に従って、使用しているWebサーバーに基づいてイメージ・ディレクトリを更新します。たとえば、埋込みPL/SQLゲートウェイを使用している場合は、apxldimg_con.sqlを実行します。
    @apxldimg_con.sql
    

ヒント:

ルート・コンテナのApplication Expressをアップグレードするには、「CDBへのApplication Expressの再インストール」を参照してください。

3.3.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リリース18.1の場合)、PDBのApplication Expressのバージョンをアップグレードする必要があります。

3.3.5.2.1 PDBのApplication Expressへのパッチ適用

PDBでApplication Expressにパッチ適用する方法を理解します。

PDBでApplication Expressにパッチを適用するには、次のステップを実行します。

  1. My Oracle Supportから適切なパッチをダウンロードします。
  2. 解凍してインストール・ファイルを抽出します。
  3. 作業ディレクトリを、インストール・ファイルを抽出したディレクトリに変更します。
  4. 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
      
  5. 次の例に示すように、catcon.plを使用してapxpatch.sqlを実行します。
    host &OH_HOME/perl/bin/perl -I 
    
    &OH_HOME/rdbms/admin &OH_HOME/rdbms/admin/catcon.pl -b apxpatch -c '<PDB_name>'  apxpatch.sql  
    

    各要素の意味は次のとおりです。

    • &OH_HOMEは、Oracleホームのフルパスを表します

    • <PDB_nameは、パッチを適用しているPDBの名前です

  6. パッチ・セット・ノートの説明に従って、使用しているWebサーバーに基づいてイメージ・ディレクトリを更新します。たとえば、埋込みPL/SQLゲートウェイを使用している場合は、apex_epg_config.sqlを実行します。
    ALTER SESSION SET CONTAINER = <PDB_name>;
    @apex_epg_config.sql
    

3.3.5.2.2 PDBのApplication Expressのアップグレード

PDBでApplication Expressをアップグレードする方法を理解します。

PDBでApplication Expressをアップグレードするには、次のステップを実行します。

  1. 解凍してインストール・ファイルを抽出します。
  2. 作業ディレクトリを、インストール・ファイルを抽出したディレクトリに変更します。
  3. 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
      
  4. 次の例のようなcatcon.plを使用して、apexins_nocdb.sqlまたはapxrtins_nocdb.sqlを実行します。
    host &OH_HOME/perl/bin/perl -I 
    
    &OH_HOME/rdbms/admin &OH_HOME/rdbms/admin/catcon.pl -b apexins -c '<PDB_name>'  apexins_nocdb.sql --pSYSAUX --pSYSAUX --pTEMP --p/i/ --p1,2,3   
    

    各要素の意味は次のとおりです。

    • &OH_HOMEは、Oracleホームのフルパスを表します

    • <PDB_nameは、パッチを適用しているPDBの名前です

  5. パッチ・セット・ノートの説明に従って、使用しているWebサーバーに基づいてイメージ・ディレクトリを更新します。