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

前
 
次
 

3 Oracle Database 12cでのマルチテナント・アーキテクチャの使用

この項では、Oracle Database 12cマルチテナント・アーキテクチャで導入されるプラガブル・データベースのコピーおよび移動に関連するインストールの選択項目と様々な使用例について、Oracle Application Express (Application Express)に関連付けて説明します。

3.1 インストールの選択項目の理解

Oracle Database 12cリリース1 (12.1)では、マルチテナント・アーキテクチャが導入されています。このデータベース・アーキテクチャには、ルート・コンテナCDB$ROOT、シード・データベースPDB$SEEDおよび複数のプラガブル・データベース(PDB)を含むマルチテナント・コンテナ・データベース(CDB)が含まれます。各プラガブル・データベースは、Oracle Databaseリリース11gの個別のデータベース・インスタンスに相当します。ルート・コンテナCDB$ROOTは、メタデータ・リンクまたはオブジェクト・リンクを使用してすべてのPDBにアクセス可能な共通オブジェクトを保持します。シード・データベースPDB$SEEDは、新しいデータベースをシードするために新しいPDBを作成する際に使用されます。Oracle Database 12cマルチテナント・アーキテクチャの主なメリットは、CPUやメモリーなどのデータベース・リソースをすべてのPDBで共有できることです。また、このアーキテクチャでは、アップグレード、パッチ、バックアップなどのタスクにおいて、複数のデータベースを1つのデータベースとして扱うことができます。

マルチテナント・アーキテクチャを構成している場合、デフォルトでは、Oracle Application Expressはルート・コンテナ・データベースにインストールされます。このインストールでは、ルート・コンテナCDB$ROOTAPEX_050000スキーマが含まれ、Application Expressエンジンの一般的なデータベース・オブジェクト(パッケージ、ファンクション、プロシージャ、ビューなど)を格納するために使用されます。APEX_050000スキーマは、シード・データベースPDB$SEEDにも含まれ、Application Expressエンジンの一部である表を格納するために使用されます。

新しいPDBを作成するには、Application Express表を持つAPEX_050000スキーマを含むPDB$SEEDをコピーし、CDB$ROOT内のAPEX_050000スキーマに保持されている一般的なデータベース・オブジェクトにメタデータ・リンクを作成します。この方法により、Application Expressエンジンのパッケージ、ファンクション、プロシージャおよびビューの1つのコピーのみで、Application Expressエンジンの表の複数のコピーを作成することができます。各PDBは、APEX_050000スキーマとともに、Application Expressエンジンの表のコピーを独自に保持するため、そのPDB内で定義されたApplication Expressアプリケーションのメタデータを保持できます。


ヒント:

すべてのプラガブル・データベース(PDB)がOracle Application Expressを使用し、そのすべてが正確に同じリリースとパッチ・セットのOracle Application Expressを実行する必要があるホスティング企業またはインストールを除いて、大部分のユースケースでは、ルート・コンテナ・データベースからOracle Application Expressを削除することをお薦めします。詳細は、「様々なPDBへのApplication Expressの」を参照してください。

3.2 様々なPDBへのApplication Expressのインストール

各PDBに異なるバージョンのOracle Application Expressを柔軟にインストールするには、コンテナ・データベースからApplication Expressをアンインストールする必要があります。コンテナ・データベースからApplication Expressを削除したら、必要に応じて、各PDB内にローカルApplication Expressをインストールできます。Application Expressをローカルにインストールする際に、Application Expressのメタデータ・リンク・オブジェクトが含まれないため、すべてのパッケージ、ビューおよび表は、Application Expressがインストールされる各PDB内のAPEX_0500000スキーマ内に作成されます。

3.2.1 CDBからのApplication Expressのアンインストール

CDBからApplication Expressをアンインストールするには、次のステップを実行します。

  1. ディストリビューションを解凍した場所にあるapexディレクトリに変更します。

  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. apxremov.sqlを実行します。

    次に例を示します。

    @apxremov.sql
    

    注意:

    CDBにPDBを追加した後でapexremov.sqlを実行すると、すべてのPDBからApplication Expressがアンインストールされます。したがって、いずれのPDBで定義されているアプリケーションも削除されます。

3.2.2 PDBへのApplication Expressのローカルなインストール

「CDBからのApplication Expressのアンインストール」の手順に従って、コンテナ・データベースからApplication Expressを削除したら、PDBにApplication Expressをローカルにインストールできます。

Application ExpressをPDBにローカルにインストールするには、次のステップを実行します。

  1. ディストリビューションを解凍した場所にあるapexディレクトリに変更します。

  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. Application ExpressをローカルにインストールするPDBにコンテナを設定します。

    ALTER SESSION SET CONTAINER = <PDB_name>;
    
  4. 適切なインストール・オプションを選択します。

    完全開発環境ではアプリケーションを開発するため、アプリケーション・ビルダー環境へのすべてのアクセス権があります。ランタイム環境ではアプリケーションは変更できず、実行することができます。詳細は、「Oracle Application Expressランタイム環境の概要」を参照してください。

    使用可能なインストール・オプションは次のとおりです。

    • 完全開発環境: 次の4つの引数を記載された順序どおりに渡し、apexins.sqlを実行します。

      @apexins.sql tablespace_apex tablespace_files tablespace_temp images
      

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

      • tablespace_apexは、Application Expressアプリケーション・ユーザーの表領域の名前です。

      • tablespace_filesは、Application Expressファイル・ユーザーの表領域の名前です。

      • tablespace_tempは、一時表領域または一時表領域グループの名前です。

      • images は、Application Expressイメージの仮想ディレクトリです。将来的にApplication Expressのアップグレードをサポートするために、仮想イメージ・ディレクトリを/i/と定義します。

      次に例を示します。

      @apexins.sql SYSAUX SYSAUX TEMP /i/
      
    • ランタイム環境: 次の4つの引数を記載された順序どおりに渡し、apxrtins.sqlを実行します。

      o       @apxrtins.sql tablespace_apex tablespace_files tablespace_temp images
      

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

      • tablespace_apexは、Application Expressアプリケーション・ユーザーの表領域の名前です。

      • tablespace_filesは、Application Expressファイル・ユーザーの表領域の名前です。

      • tablespace_tempは、一時表領域または一時表領域グループの名前です。

      • images は、Application Expressイメージの仮想ディレクトリです。将来的にApplication Expressのアップグレードをサポートするために、仮想イメージ・ディレクトリを/i/と定義します。

      次に例を示します。

      @apxrtins.sql SYSAUX SYSAUX TEMP /i/
      

    注意:

    前のステップでapxremov.sqlを実行する前にデータベース・パッチを適用していなかった場合、インストール・スクリプトは、Application Expressをインストールせずに即座に終了し、PDBへのApplication Expressのインストールは失敗します。このような場合は、Oracleサポートに連絡してください。

  5. Oracle REST Data Servicesを使用する場合、「Application ExpressのインストールとOracle REST Data Servicesの構成」の適切なステップを完了します。

  6. Oracle HTTP Serverを使用する場合、「Application ExpressのインストールとOracle HTTP Serverの構成」の適切なステップを完了します。

  7. 埋込みPL/SQLゲートウェイを使用している場合は、Oracleホームへのパスを渡し、apex_epg_config.sqlを実行してから、「Application Expressのインストールと埋込みPL/SQLゲートウェイの構成」の適切なステップを実行します。


参照:

SQL*Plusの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

Application Expressをインストールすると、3つの新しいデータベース・アカウントが作成されます。

  • APEX_050000: Application Expressのスキーマおよびメタデータを所有するアカウント。

  • FLOWS_FILES: Application Expressのアップロードされたファイルを所有するアカウント。

  • APEX_PUBLIC_USER - Oracle REST Data ServicesまたはOracle HTTP Serverおよびmod_plsqlを使用したApplication Expressの構成に使用する最小限の権限が付与されたアカウント。

RESTful Webサービスを構成した場合は、これらの追加アカウントが作成されます。

  • APEX_REST_PUBLIC_USER - Application Expressに格納されているRESTfulサービスの定義を呼び出す際に使用されるアカウント。

  • APEX_LISTENER - Application Expressに格納されているRESTfulサービスの定義を照会するために使用されるアカウント。

3.2.3 CDBへのApplication Expressの再インストール

以前にOracle Application Expressリリース4.2をアンインストール済である場合に、CDBにApplication Expressを再インストールするには、Oracle Database 12cディストリビューションを使用してOracle Application Expressリリース4.2.4をインストールする必要があります。再インストールの後で、必要に応じて、「CDBのApplication Expressのパッチ適用またはアップグレード」の説明に従ってApplication Expressパッチを適用できます。

Application ExpressをCDBに再インストールするには、次のステップを実行します。

  1. 作業ディレクトリを、ディストリビューションを解凍した場所にあるapexディレクトリに変更します。

  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. 適切なインストール・オプションを選択します。

    完全開発環境ではアプリケーションを開発するため、アプリケーション・ビルダー環境へのすべてのアクセス権があります。ランタイム環境ではアプリケーションは変更できず、実行することができます。詳細は、「Oracle Application Expressランタイム環境の概要」を参照してください。

    使用可能なインストール・オプションは次のとおりです。

    • 完全開発環境。次の4つの引数を記載された順序どおりに渡し、apexins.sqlを実行します。

      @apexins.sql tablespace_apex tablespace_files tablespace_temp images
      

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

      • tablespace_apexは、Oracle Application Expressアプリケーション・ユーザーの表領域の名前です。

      • tablespace_filesは、Application Expressファイル・ユーザーの表領域の名前です。

      • tablespace_tempは一時表領域または一時表領域グループの名前です。

      • images は、Application Expressイメージの仮想ディレクトリです。将来的にApplication Expressのアップグレードをサポートするために、仮想イメージ・ディレクトリを/i/と定義します。

      例:

      @apexins.sql SYSAUX SYSAUX TEMP /i/
      
    • ランタイム環境。次の引数を記載された順序どおりに渡し、apxrtins.sqlを実行します。

      @apxrtins.sql tablespace_apex tablespace_files tablespace_temp images
      

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

      • tablespace_apexは、Application Expressアプリケーション・ユーザーの表領域の名前です。

      • tablespace_filesは、Application Expressファイル・ユーザーの表領域の名前です。

      • tablespace_tempは一時表領域または一時表領域グループの名前です。

      • images は、Application Expressイメージの仮想ディレクトリです。将来的にApplication Expressのアップグレードをサポートするために、仮想イメージ・ディレクトリを/i/と定義します。

      例:

      @apxrtins.sql SYSAUX SYSAUX TEMP /i/
      
  4. Oracle REST Data Servicesを使用する場合、第4章「Application ExpressのインストールとOracle REST Data Servicesの構成」の適切なステップを完了します。

  5. 埋込みPL/SQLゲートウェイを使用している場合は、第5章「Application Expressのインストールと埋込みPL/SQLゲートウェイの構成」の適切なステップを実行します。

  6. Oracle HTTP Serverを使用する場合、第6章「Application ExpressのインストールとOracle HTTP Serverの構成」の適切なステップを完了します。


参照:

SQL*Plusの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

Application Expressをインストールすると、3つの新しいデータベース・アカウントが作成されます。

  • APEX_050000: Application Expressのスキーマおよびメタデータを所有するアカウント。

  • FLOWS_FILES: Application Expressのアップロードされたファイルを所有するアカウント。

  • APEX_PUBLIC_USER - Oracle REST Data ServicesまたはOracle HTTP Serverおよびmod_plsqlを使用したApplication Expressの構成に使用する最小限の権限が付与されたアカウント。

RESTful Webサービスを構成した場合は、これらの追加アカウントが作成されます。

  • APEX_REST_PUBLIC_USER - Application Expressに格納されているRESTfulサービスの定義を呼び出す際に使用されるアカウント。

  • APEX_LISTENER - Application Expressに格納されているRESTfulサービスの定義を照会するために使用されるアカウント。

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

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

3.3.1 例1: 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のインストールとOracle REST Data Servicesの構成」「Application Expressのインストールと埋込みPL/SQLゲートウェイの構成」または「Application ExpressのインストールとOracle HTTP Serverの構成」での説明に従って、WebリスナーをPDB用に構成する必要があります。

元のデータベース(現在のPDB)にインストールされているApplication Expressのバージョンが、ターゲット・データベースのルート・コンテナにインストールしたApplication Expressのバージョンと異なる場合は、PDBをオープンしようとするとエラーが発生します。Application Expressのバージョンに互換性を持たせる方法の詳細は、「互換性のないApplication Expressバージョンでの作業」を参照してください。

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

元のCDBのルート・コンテナにApplication Expressがインストールされている既存のOracle Database 12cからPDBをコピーまたは移動する場合、「Application ExpressのインストールとOracle REST Data Servicesの構成」「Application Expressのインストールと埋込みPL/SQLゲートウェイの構成」または「Application ExpressのインストールとOracle HTTP Serverの構成」での説明に従ってWebリスナーをPDB用に構成する以外に、追加のステップを実行する必要はありません。

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

元のデータベースにインストールされているApplication Expressのバージョンが、ターゲット・データベースのルート・コンテナにインストールしたApplication Expressのバージョンと異なる場合は、PDBをオープンしようとするとエラーが発生します。Application Expressのバージョンに互換性を持たせる方法の詳細は、「互換性のないApplication Expressバージョンでの作業」を参照してください。

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

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

Application Expressリリース5.0がインストールされている場合、接続元のPDB内のAPEX_050000スキーマには、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をオープンしようとするとエラーが発生します。Application Expressのバージョンに互換性を持たせる方法の詳細は、「互換性のないApplication Expressバージョンでの作業」を参照してください。

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

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

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

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

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

3.3.5.1 CDBの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リリース5.0で、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のパッチ適用またはアップグレード

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

3.3.5.2.1 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をアップグレードするには、次のステップを実行します。

  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 SYSAUX SYSAUX TEMP /i/ 
    

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

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

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

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

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

このセクションの例では、「CDBからのApplication Expressのアンインストール」の説明に従って、Application Expressを明示的に削除することで、ルート・コンテナCDB$ROOTにApplication Expressがインストールされていない場合について説明します。このような場合は、オプションで、各PDBにローカルApplication Expressを個別にインストールできます。Application ExpressをPDBにインストールした場合、ローカルにインストールされたとみなされ、メタデータ・リンク・オブジェクトは定義されません。接続中のデータベースの元の場所、および元のデータベースでApplication Expressが構成されていた方法について、複数の例があります。

3.4.1 例1: 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リスナーのタイプに応じて「Application ExpressのインストールとOracle REST Data Servicesの構成」「Application Expressのインストールと埋込みPL/SQLゲートウェイの構成」または"Application ExpressのインストールとOracle HTTP Serverの構成」で説明されているとおりにWebリスナーを構成する以外に、追加の手順は必要ありません。

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

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

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

(CDBでなく)元のPDBにローカルのApplication Expressがインストールされている既存のOracle Database 12cからPDBをコピーまたは移動する場合、「Application ExpressのインストールとOracle REST Data Servicesの構成」「Application Expressのインストールと埋込みPL/SQLゲートウェイの構成」または「Application ExpressのインストールとOracle HTTP Serverの構成」での説明に従ってWebリスナーをPDB用に構成する以外に、追加のステップを実行する必要はありません。

Application Expressリリース5.0がインストールされている場合、接続元のPDB内のAPEX_050000スキーマには、ローカルに定義されたApplication Expressのすべてのオブジェクトが含まれますが、メタデータ・リンクは含まれません。

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

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