ヘッダーをスキップ
Oracle® Application Expressインストレーション・ガイド
リリース4.2 for Oracle Database 12c
B71336-03
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

3 マルチテナント・アーキテクチャの使用

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

3.1 Oracle Database 12cのインストールの選択項目の理解

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リリース4.2は、Oracle Database 12cとともに構成できる最も古いリリースです。Oracle Database 12cマルチテナント・アーキテクチャを使用してOracle Database 12cをインストールする場合は、一般的なデータベース・オプションとして、デフォルトでOracle Application Express 4.2.4がインストールされます。また、ルート・コンテナからApplication Expressをアンインストールして、1つ以上のPDBにローカルApplication Expressリリース4.2.4以上を個別にインストールすることもできます。任意のPDBを構成した後、ルート・コンテナからApplication Expressをアンインストールしたり、ルート・コンテナにApplication Expressを再インストールすることはできません。これにより、既存のApplication Expressインストールに関連するメタ・データが無効または完全に削除されます。

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

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

ベスト・プラクティスとして、すべてのPDBで同じバージョンのOracle Application Expressが実行されるように、ルート・コンテナに一般的なOracle Application Expressをインストールすることをお薦めします。これによって、アップグレードやパッチ適用などのOracle Application Expressインフラストラクチャのタスクを集中的に管理できるようになるため、管理が容易になります。代替手段として、CDB$ROOTPDB$SEEDおよび他のすべてのPDBからApplication Expressをアンインストールしてから、各PDBにApplication Expressをローカルにインストールできます。ローカルOracle Application Expressの利点は、PDBごとに異なるバージョンのApplication Expressを実行できることです。ただし、このオプションのデメリットとして、Application Expressのアップグレードおよびパッチについて、インストールした各ローカルOracle Application Expressで個別に管理する必要があるため、メンテナンスに労力が必要になることがあげられます。

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

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

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

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

  2. SQL*Plusを起動し、Oracle 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_con.sqlを実行します。

    次に例を示します。

    @apxremov_con.sql
    

    注意:

    CDBにPDBを追加した後でapexremov_con.sqlを実行すると、すべてのPDBからApplication Expressがアンインストールされます。したがって、いずれのPDBで定義されているアプリケーションも削除されます。apxremov.sqlを実行すると、ルート・コンテナからのみApplication Expressが削除されます。ただし、すべてのPDBが無効な状態で残るため、PDBをオープンしようとするとエラーが発生します。

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

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

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

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

  2. SQL*Plusを起動し、Oracle 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は、Oracle Application Expressアプリケーション・ユーザーの表領域の名前です。

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

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

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

      次に例を示します。

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

      o @apxrtins.sql tablespace_apex tablespace_files tablespace_temp images
      

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

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

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

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

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

      次に例を示します。

      @apxrtins.sql SYSAUX SYSAUX TEMP /i/
      

    注意:

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