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

前
 
次
 

6 Application ExpressのインストールとOracle HTTP Serverの構成


注意:

Oracle HTTP Server 12c (12.1.3)では、mod_plsqlは非推奨となっています。詳細は、My Oracle Supportのノート1576588.1を参照してください。かわりに、Oracle REST Data Servicesを使用することをお薦めします。

このセクションでは、Oracle Technology Network (OTN)からZIPファイルをダウンロードしOracle Database 11gまたはOracle Application Server 10gおよびOracle Database 12cで配布されたOracle HTTP Serverおよびmod_plsqlを構成して、Oracle Application Expressをインストールする方法について説明します。この手順は、新規インストールとアップグレード・インストールの両方に該当します。


関連項目:

「Webリスナーの要件」と、『Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド』の、Oracle Application Expressを使用してmod_plsqlでOracle HTTP Serverを構成するOracle REST Data Servicesに関する項

6.1 Oracle Databaseの要件

Oracle Application Expressリリース5.0には、Oracle Databaseリリース11.1.0.7以降が必要です(Enterprise EditionおよびExpressエディション(Oracle Database XE)を含む)。


関連項目:

『Oracle Databaseインストレーション・ガイド』および「Oracle Application Expressのインストール要件」

6.2 Oracle Application Expressへのパッチ適用について

すでにOracle Application Expressを実行している場合は、Oracle Technology Network (OTN)の「Oracle Application Express」ページでOracle Application Expressのパッチ・セットのリリースまたは後続リリースについて確認します。

http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html

6.3 Oracle Application Expressのインストール前タスクの実行

Oracle Application Expressをインストールする前に、次のステップを実行することをお薦めします。

  1. Oracle Application Expressのすべてのインストール要件を確認して満たします。「Oracle Application Expressのインストール要件」を参照してください。

  2. Oracle Application Expressをアクティブに使用していて、現在のインストールをアップグレードする場合は、通常の順、または優先度の高い順に、Oracle Application Expressをインストールする予定のOracle Databaseインスタンスを停止します。Oracle Real Application Clusters(Oracle RAC)システムでは、各ノードのすべてのインスタンスを停止します。

    データベースを停止する代替方法は、以前のリリースのOracle Application Expressからインストールをアップグレードする際に、すべてのユーザーをOracle Application Expressにアクセスできないようにすることです。このオプションは、計画停止を使用できない高可用性の本番環境でのみお薦めします。他のすべてのシナリオでは、データベースを停止する必要があります。

    既存のインストールでOracle HTTP Serverをmod_plsqlとともに使用している場合にOracle Application Expressへのユーザー・アクセスを無効にするには、Webサーバーを停止するか、またはWebサーバーのApplication Expressデータベース・アクセス記述子を無効にする必要があります。

    Oracle Application Expressユーザーがアクセスできないようにした後、SYSとしてSQL*Plusにログインし、Oracle Application Expressがインストールされているデータベースに接続して、V$SESSIONを問い合せ、アップグレード処理を妨げるような長時間にわたり実行されているセッションが存在しないことを確認する必要があります。

  3. Oracle Databaseインストールをバックアップします。

    Oracle Application Expressをインストールする前に、現行のOracle Databaseインストールのバックアップを作成することをお薦めします。バックアップには、Oracle Database Recovery Manager(Oracle Databaseインストールに含まれる)を使用できます。

  4. ターゲット・データベースが含まれるOracle Databaseインスタンスを起動します。

    システムをバックアップした後で、ターゲットのOracle Databaseが含まれるOracleインスタンスを起動する必要があります。Webリスナーなど、他のプロセスは開始しないでください。ただし、リモート・インストールを実行している場合は、リモート・データベースのWebリスナーが起動されていることを確認します。


    注意:

    リモート・データベースに接続している場合は、そのWebリスナーを起動します。


関連項目:

『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』

6.4 Oracle Application Expressのダウンロードとインストール

この項では、Oracle Application Expressをダウンロードとインストールする方法について説明します。Oracle Application Expressをインストールする方法は、インストール先データベースのタイプによって異なります。詳細は、「Oracle Database 12cでのマルチテナント・アーキテクチャの使用」を参照してください。

6.4.1 非CDBにおける、またはPDBにおけるローカルなApplication Expressのダウンロードとインストール

マルチテナントでないコンテナ・データベース(あるいは非CDB)に、またはプラガブル・データベース(PDB)にローカルに、Oracle Application Expressをインストールするには、この手順に従います。

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

  1. 開発が英語のみで行われるインストールの場合は、Oracle Application Expressのダウンロード・ページからファイルapex_5.0_en.zipをダウンロードします。開発が英語以外の言語でも行われる場合は、Oracle Application Expressのダウンロード・ページからapex_5.0.zipをダウンロードします。関連項目:

    http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html
    

    ご使用のリリースがこのマニュアルの発行時点より新しい場合、実際のファイル名が異なる場合があります。

  2. ダウンロードしたzipファイルを解凍します。

    • 英語のみの場合は、次のとおり、ディレクトリ名を変更せずにapex_5.0_en.zipを解凍します。

      • UNIXおよびLinuxの場合: $ unzip apex_5.0_en.zipを解凍します。

      • Windowsの場合: Windowsエクスプローラでファイルapex_5.0_en.zipをダブルクリックします。

    • 複数言語の場合は、ディレクトリ名を変更せずにapex_5.0.zipを解凍します。

      • UNIXおよびLinuxの場合: $ unzip apex_5.0.zip

      • Windowsの場合: Windowsエクスプローラでapex_5.0.zipファイルをダブルクリックします。


    注意:

    ファイルを解凍するディレクトリ・ツリーは深くならないようにし、空白を含むディレクトリの下には格納しないようにします。たとえば、Windowsの場合はC:\TEMPに解凍します。

  3. 作業ディレクトリをapexに変更します。

  4. 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
      
  5. デフォルト・プロファイルに対して既存のすべてのパスワード複雑性ルールを有効にします。詳細は、『Oracle Databaseセキュリティ・ガイド』の「パスワード保護の構成」を参照してください。

  6. 適切なインストール・オプションを選択します。

    完全開発環境ではアプリケーションを開発するため、アプリケーション・ビルダー環境へのすべてのアクセス権があります。ランタイム環境ではアプリケーションは変更できず、実行することができます。詳細は、「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/
      

      注意:

      次のエラーが表示された場合にはSQL*Plusを終了し、SQL*Plusを起動する前に、作業ディレクトリを、インストール・ファイルを解凍した場所(例: WindowsではC:\TEMP)に変更します。

      SP2-0310: ファイル"apexins.sql"をオープンできません


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

      @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/
      

関連項目:

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

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

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

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

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


関連項目:

Oracle Application Expressは、ファイル・システム上の書込み可能なディレクトリからインストールする必要があります。「インストール・セッションのログの確認」を参照してください。

6.4.2 CDBにおけるApplication Expressのダウンロードとインストール

マルチテナント・コンテナ・データベース(CDB)にOracle Application Expressをインストールするには、この手順に従います。

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

  1. 開発が英語のみで行われるインストールの場合は、Oracle Application Expressのダウンロード・ページからファイルapex_5.0_en.zipをダウンロードします。開発が英語以外の言語でも行われる場合は、Oracle Application Expressのダウンロード・ページからapex_5.0.zipをダウンロードします。関連項目:

    http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html
    

    ご使用のリリースがこのマニュアルの発行時点より新しい場合、実際のファイル名が異なる場合があります。

  2. ダウンロードしたzipファイルを解凍します。

    • 英語のみの場合は、次のとおり、ディレクトリ名を変更せずにapex_5.0_en.zipを解凍します。

      • UNIXおよびLinuxの場合: $ unzip apex_5.0_en.zipを解凍します。

      • Windowsの場合: Windowsエクスプローラでファイルapex_5.0_en.zipをダブルクリックします。

    • 複数言語の場合は、ディレクトリ名を変更せずにapex_5.0.zipを解凍します。

      • UNIXおよびLinuxの場合: $ unzip apex_5.0.zip

      • Windowsの場合: Windowsエクスプローラでapex_5.0.zipファイルをダブルクリックします。


    注意:

    ファイルを解凍するディレクトリ・ツリーは深くならないようにし、空白を含むディレクトリの下には格納しないようにします。たとえば、Windowsの場合はC:\TEMPに解凍します。

  3. 作業ディレクトリをapexに変更します。

  4. 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
      
  5. デフォルト・プロファイルに対して既存のすべてのパスワード複雑性ルールを有効にします。詳細は、『Oracle Databaseセキュリティ・ガイド』の「パスワード保護の構成」を参照してください。

  6. 適切なインストール・オプションを選択します。

    完全開発環境ではアプリケーションを開発するため、アプリケーション・ビルダー環境へのすべてのアクセス権があります。ランタイム環境ではアプリケーションは変更できず、実行することができます。詳細は、「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/
      

      注意:

      次のエラーが表示された場合にはSQL*Plusを終了し、SQL*Plusを起動する前に、作業ディレクトリを、インストール・ファイルを解凍した場所(例: WindowsではC:\TEMP)に変更します。

      SP2-0310: ファイル"apexins.sql"をオープンできません


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

      @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/
      

関連項目:

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

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

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

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

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


関連項目:

Oracle Application Expressは、ファイル・システム上の書込み可能なディレクトリからインストールする必要があります。「インストール・セッションのログの確認」を参照してください。

6.4.3 インスタンス管理アカウントの作成または更新

この項では、インスタンス管理者アカウントを作成または更新する方法を説明します。


ヒント:

Oracle Application Expressの以前のリリースからアップグレードする場合は、この項をスキップしてください。アップグレード・シナリオでは、インスタンス管理者のアカウントとパスワードは保存され、前のリリースから継承されます。

6.4.3.1 インスタンス管理者の概要。

インスタンス管理者は、ワークスペースのプロビジョニング、機能とインスタンス設定の構成、セキュリティの管理など、Oracle Application Expressインスタンス全体の管理を担当するスーパーユーザーです。管理タスクを実行するために、Oracle Application Express管理サービス・アプリケーションにサインインします。


関連項目:

『Oracle Application Express管理ガイド』の「Oracle Application Express管理サービス」

6.4.3.2 apxchpwd.sqlについて

apxchpwd.sqlスクリプトを実行すると、インスタンス管理者アカウントを作成または更新できます。次のシナリオでは、apxchpwd.sqlスクリプトを実行する必要があります。

  • Oracle Application Expressの新規インストール - apxchpwd.sqlを実行して、インスタンス管理者アカウントとパスワードを作成します。

  • ランタイム環境の開発環境への変換 - apxchpwd.sqlを実行して、インスタンス管理者アカウント・パスワードを変更します。

  • インスタンス管理者パスワードの変更 - apxchpwd.sqlを実行して、既存のインスタンス管理者アカウントのパスワードを変更します。

  • インスタンス管理者アカウントのロック解除 - apxchpwd.sqlを実行して、既存のインスタンス管理者アカウントのロックを解除します。


ヒント:

Oracle Application Expressの前のリリースからアップグレードする場合、apxchpwd.sqlを実行する必要はありません。アップグレード・シナリオでは、インスタンス管理者のアカウントとパスワードは保存され、前のリリースから継承されます。

6.4.3.3 apxchpwd.sqlの実行

インスタンス管理者アカウントを作成または更新するには、次のステップを実行します。

  1. 作業ディレクトリを、インストール・ソフトウェアを解凍した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. apxchpwd.sqlを実行します。次に例を示します。

    @apxchpwd.sql
    

    画面に表示されるステップに従います。ユーザー名、パスワードおよび電子メール・アドレスを入力するように求められます。アカウントのユーザー名が存在しない場合は作成されます。


関連項目:

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

6.4.4 プロセスの再起動

Oracle Application Expressをインストールした後で、インストールの開始前に停止したプロセスを再起動する必要があります。また、Oracle HTTP Serverも再起動します。

6.4.5 APEX_PUBLIC_USERアカウントの構成

Oracle Application Expressを適切に動作させるには、APEX_PUBLIC_USERアカウントの正しい構成が重要です。

6.4.5.1 APEX_PUBLIC_USERアカウントについて

APEX_PUBLIC_USERアカウントは、新しいOracle Application Expressのインストール時にランダムなパスワードとともに作成されます。新しいインストール環境でデータベース・アクセス記述子(DAD)を構成するには、まず、このアカウントのパスワードを変更する必要があります。

6.4.5.2 APEX_PUBLIC_USERアカウントのロック解除


ヒント:

以前のリリースのOracle Application Expressからアップグレードする場合、このステップは不要です。

APEX_PUBLIC_USERアカウントをロック解除するには、次のステップを実行します。

  1. SQL*Plusを起動し、Oracle Application Expressがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。Oracle Database 12c CDBを構成する場合、このステップの完了時にルート・コンテナCDB$ROOTに接続していることを確認してください。

    次に例を示します。

    • 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
      
  2. 次の文を実行します。

    ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK
    

6.4.5.3 APEX_PUBLIC_USERアカウントのパスワードの変更


ヒント:

以前のリリースのOracle Application Expressからアップグレードする場合、このステップは不要です。

APEX_PUBLIC_USERアカウントのパスワードを変更するには、次のステップを実行します。

  1. SQL*Plusを起動し、Oracle Application Expressがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。Oracle Database 12c CDBを構成する場合、このステップの完了時にルート・コンテナCDB$ROOTに接続していることを確認してください。

    次に例を示します。

    • 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
      
  2. 次の文を実行します。

    ALTER USER APEX_PUBLIC_USER IDENTIFIED BY new_password
    

    new_passwordは、APEX_PUBLIC_USERに設定する新しいパスワードです。後続のセクションでDADを作成する場合に、このパスワードを使用します。

6.4.5.4 Oracle Database 11gでのパスワードの有効期限について

Oracle Database 11gのデフォルト・プロファイルでは、パラメータPASSWORD_LIFE_TIMEは180に設定されています。Oracle Database 11gおよびOracle Application Expressを使用している場合、これによりAPEX_PUBLIC_USERのパスワードは180日間で期限切れになります。このため、パスワードを変更するまで、Oracle Application Expressインスタンスが使用できなくなります。

この動作を回避するには、PASSWORD_LIFE_TIMEパラメータが無制限に設定されている別のプロファイルを作成し、APEX_PUBLIC_USERアカウントを変更して、これを新しいプロファイルに割り当てます。


関連項目:

プロファイルの作成およびデータベース・ユーザーへの割当ての詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

6.5 Oracle HTTP Serverの構成

このセクションでは、Oracle HTTP Serverおよびmod_plsqlを構成する方法について説明します。

6.5.1 イメージディレクトリのコピーについて

新規インストールをロードしているか、以前のリリースをアップグレードしているかにかかわらず、トップ・レベルのapex\imagesディレクトリ(例: C:\TEMP)からOracle HTTP Server用のOracleホームを含むファイル・システム上の場所に、imagesディレクトリをコピーする必要があります。

アップグレード中に、既存のimagesディレクトリを上書きします。以前のバージョンに戻すことができるように、アップグレードの開始前に、Oracle Application Express用の既存のimagesディレクトリのコピーを作成して、imagesのリリース番号(images_3_1など)を示しておくことをお薦めします。

6.5.2 イメージ・ディレクトリのコピー

ファイル・システム上でimagesディレクトリを特定するには、次のファイルでテキスト別名/i/を確認します。

  • Oracle9iリリース2で配布されたOracle HTTP Serverの場合: httpd.confファイルを確認します。

  • Oracle Application Server 10gの場合: marvel.confまたはdads.confファイルを確認します。

  • Oracle Database 11gまたは12cで配布されたOracle HTTP Serverの場合: marvel.confまたはdads.confファイルを確認します。

imagesディレクトリのパスを特定したら、既存のimagesディレクトリをバックアップの場所へと名前を変更します。これによって、必要に応じて、以前のリリースに戻すことができます。

次のコマンド構文を使用してOracle DatabaseホームからOracle HTTP Serverホームのパスにapex\imagesディレクトリをコピーします。

  • Oracle Database 12cで配布されたOracle HTTP Serverの場合:

    • Windowsの場合は、次のようになります。

      xcopy /E /I APEX_HOME\apex\images ORACLE_HTTPSERVER_HOME\user_projects\domains\base_domain\images
      
    • UNIXおよびLinuxの場合は、次のようになります。

      cp -rf $APEX_HOME/apex/images ORACLE_HTTPSERVER_HOME/user_projects/domains/base_domain
      

前述の構文例では、次のとおりです。

  • APEX_HOMEは、インストール用Zipファイルが解凍された場所です

  • ORACLE_HTTPSERVER_HOMEは、既存のOracle Application ServerまたはOracle HTTP ServerのOracleホームを示しています

6.5.3 dads.confファイルの編集

dads.confファイルには、Oracle Application Expressにアクセスするためのデータベース・アクセス記述子(DAD)情報が保存されています。


注意:

このマニュアルでは、ORACLE_HTTPSERVER_HOMEにOracle HTTP Serverがインストールされていると想定します。

dads.confファイルを編集するには、次のステップを実行します。

  1. テキスト・エディタを使用してdads.confファイルを開きます。

    • Oracle Application Server 10gの場合:

      • Windowsの場合は、次のようになります。

        ORACLE_HTTPSERVER_HOME\Apache\modplsql\conf\dads.conf
        
      • UNIXおよびLinuxの場合は、次のようになります。

        ORACLE_HTTPSERVER_HOME/Apache/modplsql/conf/dads.conf
        
    • Oracle Database 11gで配布されたOracle HTTP Serverの場合:

      • Windowsの場合は、次のようになります。

        ORACLE_INSTANCE\config\OHS/ohs<1>\mod_plsql
        
      • UNIXおよびLinuxの場合は、次のようになります。

        ORACLE_INSTANCE/config/OHS/ohs<1>/mod_plsql
        
    • Oracle HTTP Server 12c:

      • Windowsの場合は、次のようになります。

        ORACLE_HTTPSERVER_HOME\user_projects\domains\base_domain\config\fmwconfig\components\OHS\instances\ohs1\mod_plsql\dads.conf
        
      • UNIXおよびLinuxの場合は、次のようになります。

        ORACLE_HTTPSERVER_HOME/user_projects/domains/base_domain/config/fmwconfig/components/OHS/instances/ohs1/mod_plsql/dads.conf
        

    注意:

    前述の例では、ohs1はOracle HTTP Serverインスタンスの名前を参照します。Oracle HTTP Server構成ウィザードの実行中のデフォルト名はohs1です。ohs1以外の名前に変更されている場合もあります。

  2. dads.confファイルで、ORACLE_HTTPSERVER_HOMEhostportservice_nameおよびapex_public_user_passwordは、ご使用の環境に適した値に置き換えます。apex_public_user_passwordは、「APEX_PUBLIC_USERアカウントのパスワードの変更」で変更したパスワードです。

    ここで示すパスは、単なる例です。dads.confファイルのパスは、「イメージ・ディレクトリのコピーについて」に示されているファイル・システム・パスを参照している必要があります。

    Alias /i/ "ORACLE_HTTPSERVER_HOME/user_projects/domains/base_domain/images/"
    
    <Location /pls/apex>
     Order deny,allow
     AllowOverride None
     PlsqlDatabaseConnectString     host:port:service_name ServiceNameFormat
     PlsqlNLSLanguage               AMERICAN_AMERICA.AL32UTF8
     PlsqlAuthenticationMode        Basic
     SetHandler                     pls_handler
     PlsqlDocumentTablename         wwv_flow_file_objects$
     PlsqlDatabaseUsername          APEX_PUBLIC_USER
     PlsqlDefaultPage               apex
     PlsqlDatabasePassword          apex_public_user_password
     PlsqlRequestValidationFunction wwv_flow_epg_include_modules.authorize
     PlsqlPathAlias r
     PlsqlPathAliasProcedure wwv_flow.resolve_friendly_url
     Allow from all
    </Location>
    

    注意:

    PlsqlPathAliasPlsqlPathAliasProcedureは、既存のDADに追加する必要がある、必須の新規パラメータです。これは、Application Expressリリース5.0にアップグレードする場合に重要です。

  3. PlsqlNLSLanguageを含む行を検索します。

    PlsqlNLSLanguage設定で、DADの言語設定を判断します。データベース・キャラクタ・セットがAL32UTF8であるかどうかにかかわらず、PlsqlNLSLanguage値のキャラクタ・セット部分は、AL32UTF8に設定されている必要があります。次に例を示します。

    ...
    PlsqlNLSLanguage            AMERICAN_AMERICA.AL32UTF8
    ...
    
  4. 変更を保存して、dads.confファイルを閉じます。

6.5.4 静的ファイル・サポートの構成

Oracle Application Expressを使用すると、アプリケーション開発者はアプリケーションに静的ファイルを含めることができます。静的ファイルは、ワークスペース、アプリケーション、プラグインまたはアプリケーション・テーマに関連付けることができます。Oracle HTTP ServerをWebリスナーとして使用する場合、静的ファイルはmod_plsqlプラグインの「パスの別名」機能を使用して提供されます。


関連項目:

必要な構成パラメータについては「dads.confファイルの編集」

6.5.5 Oracle HTTP Serverの停止および再起動

この項では、Oracle HTTP Serverを停止し、再起動する方法を説明します。

6.5.5.1 Oracle Database 10g以前でのOracle HTTP Serverの停止と再起動


注意:

このマニュアルでは、ORACLE_HTTPSERVER_HOMEにOracle HTTP Serverがインストールされていると想定します。

Oracle HTTP Serverを停止および再起動するには、次のステップを実行します。

  • Windowsの場合は、次のようになります。

    次の文を実行します。

    ORACLE_HTTPSERVER_HOME\opmn\bin\opmnctl stopproc ias-component=HTTP_Server
    ORACLE_HTTPSERVER_HOME\opmn\bin\opmnctl startproc ias-component=HTTP_Server
    
  • UNIXおよびLinux

    次の文を実行します。

    ORACLE_HTTPSERVER_HOME/opmn/bin/opmnctl stopproc ias-component=HTTP_Server
    ORACLE_HTTPSERVER_HOME/opmn/bin/opmnctl startproc ias-component=HTTP_Server
    

注意:

Oracle Fusion Middleware 11.1.1に付属しているOracle HTTP Serverを使用しており、インストール時にコンポーネントに指定された名前がHTTP_Server以外であった場合は、前述のias-componentコンポーネント名を置き換える必要がある場合があります。デフォルト名は、ohs1です。

6.5.5.2 Oracle HTTP Server 12cの停止および再起動

Oracle Database 12cとともに配布されたOracle HTTP Serverを停止して再起動するには、次の構文を使用してコマンドを入力します。ここでDOMAIN_HOMEはOracle HTTP Serverドメインへのパスです。

  • Windowsの場合は、次のようになります。

    次の文を実行します。

    %DOMAIN_HOME%\bin\stopComponent.cmd componentName
    %DOMAIN_HOME%\bin\startComponent.cmd componentName
    
  • UNIXおよびLinux

    次の文を実行します。

    $DOMAIN_HOME/bin/stopComponent.sh componentName
    $DOMAIN_HOME/bin/startComponent.sh componentName
    

デフォルトのインストールでは、componentNameohs1ですが、Oracle HTTP Server構成ウィザードの実行中に変更されている場合もあります。


関連項目:

『Oracle HTTP Serverの管理』の、OHSインスタンスの作成に関する項

6.5.6 Oracle XML DBプロトコル・サーバーの無効化

以前は埋込みPL/SQLゲートウェイを使用していたが、現在はOracle HTTP Serverおよびmod_plsqlを使用する場合は、Oracle XML DB Protocol Serverを無効にする必要があります。

Oracle XML DBプロトコル・サーバーを無効化するには、次のステップを実行します。

  1. 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
      
  2. 次のコマンドを実行します。

    EXEC DBMS_XDB.SETHTTPPORT(0);
    

6.5.7 リバース・プロキシやロード・バランサの内側にあるOracle HTTP Serverの構成について

Oracle Application Expressがリバース・プロキシまたはロード・バランサの内側で実行されている場合、ユーザーのブラウザが認識した元のHTTPホスト名とプロトコルをApplication Expressエンジンに通信することが重要です。エンジンはこの情報を使用して、HTMLレスポンスおよびHTTPリダイレクト内に、ユーザーのブラウザが正常に追随できる有効なURLを生成します。Oracle HTTPサーバーとmod_plsqlの場合は、dads.conf構成ファイルでPlsqlCGIEnvironmentListディレクティブを使用します。次に例を示します。

PlsqlCGIEnvironmentList REQUEST_PROTOCOL=https
PlsqlCGIEnvironmentList HTTP_HOST=www.example.com:443

6.6 Oracle Database 11g以降のネットワーク・サービスの有効化

6.6.1 ネットワーク・サービスを有効化する必要があるタイミングと理由

Oracle Database 11gリリース1または2以上では、ネットワーク・サービスとの通信機能が、デフォルトで無効化されています。このため、Oracle Database 11gリリース1または2以上でOracle Application Expressを実行している場合は、新しいDBMS_NETWORK_ACL_ADMINパッケージを使用して、APEX_050000データベース・ユーザーにすべてのホストに対する接続権限を付与する必要があります。これらの権限を付与しないと、次の場合に問題が発生します。

  • Oracle Application Expressでアウトバウンド・メールを送信する。

    ユーザーはAPEX_MAILパッケージからメソッドをコールできますが、外部へ電子メールを送信するときに問題が発生します。

  • Oracle Application ExpressでWebサービスを使用する。

  • PDFレポートを印刷する。


ヒント:

このセクションで示されている例を実行するには、データベースのcompatible初期化パラメータが11.1.0.0.0以上に設定されている必要があります。デフォルトでは、11gデータベースのパラメータは事前に適切に設定されていますが、以前のリリースから11gにアップグレードされたデータベースのパラメータは適切に設定されていない場合があります。データベース初期化パラメータの変更については、『Oracle Database管理者ガイド』の「Oracle Databaseの作成および構成」を参照してください。

6.6.2 Oracle Database 12c以前での接続権限の付与

次の例は、APEX_050000データベース・ユーザーにすべてのホストに対する接続権限を付与する方法を示しています。この例では、Oracle Application Expressがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続するとします。

DECLARE
  ACL_PATH  VARCHAR2(4000);
BEGIN
  -- Look for the ACL currently assigned to '*' and give APEX_050000
  -- the "connect" privilege if APEX_050000 does not have the privilege yet.
 
  SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS
   WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL;
 
  IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_050000',
     'connect') IS NULL THEN
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
     'APEX_050000', TRUE, 'connect');
  END IF;
 
EXCEPTION
  -- When no ACL has been assigned to '*'.
  WHEN NO_DATA_FOUND THEN
  DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('power_users.xml',
    'ACL that lets power users to connect to everywhere',
    'APEX_050000', TRUE, 'connect');
  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*');
END;
/
COMMIT;

次の例は、ローカル・ネットワーク・リソースへのアクセス権について、より少ない権限を付与する方法を示しています。この例では、電子メールやレポート・サーバーなど、ローカル・ホストのサーバーへのアクセスのみを有効にします。

DECLARE
  ACL_PATH  VARCHAR2(4000);
BEGIN
  -- Look for the ACL currently assigned to 'localhost' and give APEX_050000
  -- the "connect" privilege if APEX_050000 does not have the privilege yet.
  SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS
   WHERE HOST = 'localhost' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL;
   
  IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_050000',
     'connect') IS NULL THEN
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
     'APEX_050000', TRUE, 'connect');
  END IF;
  
EXCEPTION
  -- When no ACL has been assigned to 'localhost'.
  WHEN NO_DATA_FOUND THEN
  DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('local-access-users.xml',
    'ACL that lets users to connect to localhost',
    'APEX_050000', TRUE, 'connect');
  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('local-access-users.xml','localhost');
END;
/
COMMIT;

6.6.3 Oracle Database 12cでの接続権限の付与

DBMS_NETWORK_ACL_ADMINのプロシージャCREATE_ACLASSIGN_ACLADD_PRIVILEGEおよびCHECK_PRIVILEGEは、Oracle Database 12cでは非推奨です。かわりにAPPEND_HOST_ACEを使用することをお薦めします。次の例は、APEX_050000データベース・ユーザーにすべてのホストに対する接続権限を付与する方法を示しています。この例では、Oracle Application Expressがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続するとします。

BEGIN
    DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
        host => '*',
        ace => xs$ace_type(privilege_list => xs$name_list('connect'),
                           principal_name => 'apex_050000',
                           principal_type => xs_acl.ptype_db));
END;
/

次の例は、ローカル・ネットワーク・リソースへのアクセス権について、より少ない権限を付与する方法を示しています。この例では、電子メールやレポート・サーバーなど、ローカル・ホストのサーバーへのアクセスのみを有効にします。

BEGIN
    DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
        host => 'localhost',
        ace => xs$ace_type(privilege_list => xs$name_list('connect'),
                           principal_name => 'apex_050000',
                           principal_type => xs_acl.ptype_db));
END;
/

6.6.4 無効なACLエラーのトラブルシューティング

前述のスクリプトの実行後に「ORA-44416: 無効な ACL」エラーを受信したら、次の問合せを使用して無効なACLを識別します。

REM Show the dangling references to dropped users in the ACL that is assigned
REM to '*'.

SELECT ACL, PRINCIPAL
  FROM DBA_NETWORK_ACLS NACL, XDS_ACE ACE
 WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL AND
       NACL.ACLID = ACE.ACLID AND
       NOT EXISTS (SELECT NULL FROM ALL_USERS WHERE USERNAME = PRINCIPAL);

次に、次のコードを実行してACLを修正します。

DECLARE
  ACL_ID   RAW(16);
  CNT      NUMBER;
BEGIN
  -- Look for the object ID of the ACL currently assigned to '*'
  SELECT ACLID INTO ACL_ID FROM DBA_NETWORK_ACLS
   WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL;

  -- If just some users referenced in the ACL are invalid, remove just those
  -- users in the ACL. Otherwise, drop the ACL completely.
  SELECT COUNT(PRINCIPAL) INTO CNT FROM XDS_ACE
   WHERE ACLID = ACL_ID AND
         EXISTS (SELECT NULL FROM ALL_USERS WHERE USERNAME = PRINCIPAL);

  IF (CNT > 0) THEN

    FOR R IN (SELECT PRINCIPAL FROM XDS_ACE
               WHERE ACLID = ACL_ID AND
                     NOT EXISTS (SELECT NULL FROM ALL_USERS
                                  WHERE USERNAME = PRINCIPAL)) LOOP
      UPDATE XDB.XDB$ACL
         SET OBJECT_VALUE =
               DELETEXML(OBJECT_VALUE,
                         '/ACL/ACE[PRINCIPAL="'||R.PRINCIPAL||'"]')
       WHERE OBJECT_ID = ACL_ID;
    END LOOP;

  ELSE
    DELETE FROM XDB.XDB$ACL WHERE OBJECT_ID = ACL_ID;
  END IF;

END;
/

REM commit the changes.

COMMIT;

ACLの修正後、このセクションの最初のスクリプトを実行してAPEX_050000ユーザーにACLを適用する必要があります。「Oracle Database 12cより前の接続権限の付与」を参照してください。

6.7 セキュリティ・タスクの実行

HTTPリクエストで、パスワードやその他の機密データがクリア・テキストで送信されることのないように、Secure Sockets Layer(SSL)を構成して使用することをお薦めします。SSLを使用しないと、パスワードが公開され、セキュリティが損なわれる可能性があります。

SSLは、業界標準のプロトコルです。RSA公開鍵暗号化と対称鍵暗号化を組み合せて使用することにより、認証、暗号化およびデータの整合性が提供されます。


関連項目:

『Oracle Application Express管理ガイド』の、HTTPプロトコル属性の構成に関する項

6.8 同時ジョブ数の制御

この項では、同時実行ジョブの数を指定する方法を説明します。

6.8.1 同時ジョブ数の管理について

JOB_QUEUE_PROCESSESには、同時に実行するジョブの最大数を指定します。Oracle Application Expressでは、トランザクションのサポートおよびSQLスクリプトでジョブが必要です。JOB_QUEUE_PROCESSESが有効でなく、正常に動作していない場合、スクリプトを正常に実行することはできません。

6.8.2 JOB_QUEUE_PROCESSESの数の表示

この項では、JOB_QUEUE_PROCESSESの数を表示する3つの方法について説明します。

6.8.2.1 インストール・ログ・ファイルでのJOB_QUEUE_PROCESSESの表示

Oracle Application Expressリリース5.0をインストールした後、またはOracle Application Expressをリリース4.2にアップグレードした後、JOB_QUEUE_PROCESSESの数をインストール・ログ・ファイルに表示できます。「インストール・セッションのログの確認」を参照してください。

6.8.2.2 Oracle Application ExpressでのJOB_QUEUE_PROCESSESの表示

「Application Expressのバージョン情報」ページにJOB_QUEUE_PROCESSESの数を表示することができます。

Application Expressのバージョン情報ページを表示するには、次の手順を実行します。

  1. Oracle Application Expressにサインインします。詳細は、「ワークスペースへのサインイン」を参照してください。

  2. ページの最上部にあるヘルプ・メニューを見つけます。

  3. 「ヘルプ」メニューから「バージョン情報」を選択します。

    Application Expressのバージョン情報ページが表示されます。ページの下部に、現在のJOB_QUEUE_PROCESSESの数が表示されます。

6.8.2.3 SQL*PlusによるJOB_QUEUE_PROCESSESの表示

次のSQLコマンドを実行して、SQL*PlusでJOB_QUEUE_PROCESSESの数を表示することができます。

SELECT VALUE FROM v$parameter WHERE NAME = 'job_queue_processes'

6.8.3 JOB_QUEUE_PROCESSESの数の変更

SQL*Plusで次のSQL文を実行して、JOB_QUEUE_PROCESSESの数を変更できます。

JOB_QUEUE_PROCESSESの数を更新するには、次のステップを実行します。

  1. 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
      
  2. SQL*Plusで次のSQL文を実行します。

    ALTER SYSTEM SET JOB_QUEUE_PROCESSES = <number>
    

    たとえば、ALTER SYSTEM SET JOB_QUEUE_PROCESSES = 20を実行すると、JOB_QUEUE_PROCESSESは20に設定されます。

6.9 他の言語でのOracle Application Expressの実行について

Oracle Application Expressのインタフェースは、ドイツ語、スペイン語、フランス語、イタリア語、日本語、韓国語、ポルトガル語(ブラジル)、簡体字中国語および繁体字中国語に変換できます。Oracle Application Expressの単一インスタンスは、これらの言語変換されたバージョンを1つ以上実装してインストールできます。開発者は、画面またはホーム・ページのアプリケーション・ビルダーのログから言語を選択するのみで、インストールされたあらゆる言語におけるApplication Expressの開発環境を実行することを選択できます。

他の言語をインストールするには、後述の追加ファイルが含まれているapex_5.0.zipファイルを使用する必要があります。以前にapex_5.0_en.zipをダウンロードした場合、Oracle Application Expressを再インストールする必要はありません。apex_5.0zipをダウンロードして、apex_5.0_en.zipを解凍した同じディレクトリにファイルを解凍するのみです。

言語変換されたバージョンのOracle Application Expressは、その特定言語をサポートするキャラクタ・セットが実装されたデータベースにロードする必要があります。言語変換されたバージョンのOracle Application Expressを、その言語の文字コードをサポートしないデータベースにインストールすると、インストールが正常に実行されなかったり、言語変換されたOracle Application Expressインスタンスが実行時に破損しているように見える場合があります。データベース・キャラクタ・セットAL32UTF8は、言語変換されたすべてのバージョンのOracle Application Expressをサポートします。

言語変換されたバージョンのOracle Application Expressを手動でインストールするには、SQL*Plusを使用します。インストール・ファイルはAL32UTF8にエンコードされます。


注意:

言語変換されたバージョンのOracle Application Expressをインストールするには、ターゲット・データベースのキャラクタ・セットにかかわらず、SQL*Plusを起動する前に環境変数NLS_LANGのキャラクタ・セット値をAL32UTF8に設定する必要があります。

言語変換されたバージョンのOracle Application Expressのロードに有効なNLS_LANG設定の例を次に示します。

American_America.AL32UTF8
Japanese_Japan.AL32UTF8 

6.10 言語変換されたバージョンのOracle Application Expressのインストール

この項では、Oracle Application Expressの言語変換されたバージョンのインストールについて説明します。

6.10.1 言語変換されたバージョンのOracle Application Expressのインストールについて

初めてインストールを行う場合も以前のリリースからアップグレードする場合も、言語変換されたバージョンのOracle Application Expressを実行するには、load_lang.sqlスクリプトを実行する必要があります。

インストール・スクリプトは、配布を解凍したapex/builderのサブディレクトリに格納されます。これらのサブディレクトリは、言語コードで識別されます。たとえば、ドイツ語バージョンはapex/builder/de、日本語バージョンはapex/builder/jaに格納されます。各ディレクトリには、言語コード(たとえば、load_de.sqlload_ja.sql)で識別される、言語固有のロード・スクリプトが格納されます。

6.10.2 言語変換されたバージョンのOracle Application Expressのインストール

言語変換されたバージョンのOracle Application Expressをインストールするには、次のステップを実行します。

  1. 環境変数NLS_LANGをキャラクタ・セットAL32UTF8に設定します。次に例を示します。

    • BourneまたはKornシェルの場合:

      NLS_LANG=American_America.AL32UTF8
      export NLS_LANG
      
    • Cシェルの場合:

      setenv NLS_LANG American_America.AL32UTF8
      
    • Windowsベースのシステムの場合:

      set NLS_LANG=American_America.AL32UTF8
      
  2. インストールする必要がある言語に基づいて、apex/builderの下のディレクトリにナビゲートします。たとえば、ドイツ語の場合は、apex/builder/deにナビゲートします。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. 次の文を実行します。

    ALTER SESSION SET CURRENT_SCHEMA = APEX_050000;
    
  4. 該当する言語固有のスクリプトを実行します。次に例を示します。

    @load_lang.sql
    

    langは特定の言語です。たとえば、ドイツ語の場合はload_de.sql、日本語の場合はload_ja.sqlとなります。

6.11 ワークスペースの作成およびOracle Application Expressユーザーの追加

アプリケーションの開発やインストールの前に、ワークスペースを作成し、Oracle Application Expressユーザーを追加し、ワークスペースにサインインする必要があります。

6.11.1 ワークスペースとユーザーについて

JavaScriptを有効にしたWebブラウザを使用してワークスペースにログインし、Oracle Application Expressのホーム・ページにアクセスします。詳細は、「ブラウザの要件」を参照してください。

ワークスペースでは、オブジェクト、データおよびアプリケーションをプライベートに保持しながら、同一のOracle Application Expressのインストール内で複数のユーザーが作業できます。各ワークスペースには、一意のIDおよび名前が含まれます。インスタンス管理者は、Oracle Application Express管理サービス内にワークスペースを手動で作成するか、ユーザーにリクエストを送信してもらうことができます。Oracle Application Express管理サービスは、Oracle Application Expressインスタンス全体を管理するための個別のアプリケーションです。


関連項目:

『Oracle Application Express管理ガイド』のワークスペースの作成およびワークスペースと変更リクエストの管理に関する項

6.11.2 Oracle Application Express管理サービスへのアクセス

ワークスペースとユーザー・アカウントを手動で作成するには、Oracle Application Express管理サービスと呼ばれる、Oracle Application Expressインスタンス全体を管理するための個別のアプリケーションにサインインします。Oracle Application Express Administration Servicesには、インストール・プロセスで作成またはリセットされたADMINアカウントとパスワードを使用してサインインします。

Oracle Application Express管理サービスにアクセスするには、次のステップを実行します。

  1. Webブラウザで、Oracle Application Express管理サービス・アプリケーションにナビゲートします。

    設定ではOracle HTTP Serverおよびmod_plsqlを使用するので、次の場所に移動します。

    http://hostname:port/pls/apex/apex_admin
    

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

    hostnameは、Oracle HTTP Serverがインストールされるシステムの名前です。

    portは、Oracle HTTP Serverに割り当てられているHTTPのポート番号です。デフォルトのインストールでは、この番号は7777です。

    plsは、mod_plsqlカートリッジを使用するためのインジケータです。

    apexは、mod_plsql構成ファイルで定義されているデータベース・アクセス記述子(DAD)です。

  2. サインイン・ページで、次のステップを実行します。

    設定によっては、初めてログインするときにパスワードの変更を要求される場合があります。


関連項目:

『Oracle Application Express管理ガイド』の「Oracle Application Express管理サービス」。

6.11.3 ワークスペースの手動作成

ワークスペースを手動で作成するには、Oracle Application Express管理サービスと呼ばれる個別のアプリケーションにサインインします。Oracle Application Express Administration Servicesには、インストール・プロセスで作成またはリセットされたADMINアカウントとパスワードを使用してサインインします。

Oracle Application Expressのワークスペースを手動で作成するには、次のステップを実行します。

  1. Oracle Application Express管理サービスへのアクセス。「Oracle Application Express管理サービスへのアクセス」を参照してください。

    Oracle Application Express管理サービスが表示されます。次に、ワークスペースを作成します。

  2. 「ワークスペースの管理」をクリックします。

  3. 「ワークスペース・アクション」で、「ワークスペースの作成」をクリックします。

    ワークスペースの作成ウィザードが表示されます。

  4. 「ワークスペースの指定」で、次を入力します。

    1. ワークスペース名: 一意のワークスペース名を入力します。

    2. 「ワークスペースID」: 新しいワークスペースIDを自動的に生成させるために、「ワークスペースID」は空白のままにしておきます。ワークスペースIDは、100000より大きい正の整数にする必要があります。

    3. ワークスペースの説明: ワークスペースの説明を入力します。

    4. をクリックします。

  5. 「スキーマの指定」で、既存のスキーマを再利用するか、新しく作成するかを指定します。

    既存のスキーマを使用する場合

    1. 「既存のスキーマを再利用」で、「はい」を選択します。

    2. リストからスキーマを選択します。

    3. をクリックします。

    新しいスキーマを作成する場合

    1. 「既存のスキーマを再利用」で、「いいえ」を選択します。

    2. スキーマの名前とパスワードを入力します。

    3. 領域割当てを指定します。

    4. をクリックします。

  6. 「管理者の指定」で、ワークスペース管理者の情報を入力して、「次へ」をクリックします。

  7. 選択内容を確認して、「ワークスペースの作成」をクリックします。


関連項目:

『Oracle Application Express管理ガイド』の「Oracle Application Express管理サービス」。

6.11.4 Oracle Application Expressユーザーの作成

Oracle Application Expressのユーザー・アカウントを作成するには、次のステップを実行します。

  1. Oracle Application Express管理サービスへのアクセス。「Oracle Application Express管理サービスへのアクセス」を参照してください。

    Oracle Application Express管理サービスが表示されます。

  2. 「ワークスペースの管理」アイコンをクリックします。

  3. 「開発者とユーザーの管理」をクリックします。

  4. 「ユーザーの作成」をクリックします。

  5. 「ユーザー属性」に、適切な情報を入力します。*印が付いているフィールドは必須フィールドです。


    ヒント:

    特定の属性の詳細を表示するには、アイテム・ラベルをクリックします。ヘルプが利用できる場合は、アイテム・ラベル上にカーソルを重ねると、アイテム・ラベルが赤色に変わり、カーソルが矢印と疑問符に変わります。

  6. 「アカウント権限」で、次のステップを実行します。

    1. ワークスペース: リストからワークスペースを選択します。

    2. デフォルトのスキーマ: データの参照、アプリケーションの作成およびSQLスクリプトの実行に使用するデフォルト・スキーマを指定します。

      使用可能なスキーマが複数あるワークスペースを使用する場合、このスキーマがデフォルトになります。この設定でセキュリティは制御されず、ユーザーのプリファレンスのみが制御されます。

    3. 管理者ユーザー: このユーザーがワークスペースの管理者権限を持つかどうかを指定します。

      管理者はすべてのコンポーネントへのアクセス権が付与されます。また、管理者はユーザー・アカウント、グループおよび開発サービスを管理できます。インスタンス管理者によってオフにされていると、コンポーネントを使用できない場合があります。

    4. 開発者ユーザー: このユーザーが開発者権限を持つかどうかを指定します。

      開発者はアプリケーション・ビルダーまたはSQLワークショップ、あるいはその両方へのアクセス権を持っている必要があります。インスタンス管理者によって無効にされると、これらのコンポーネントは使用できないことがあります。

    5. アプリケーション・ビルダー・アクセス: 開発者がアプリケーション・ビルダーへのアクセス権を持つかどうかを決定します。

    6. SQLワークショップ・アクセス: 開発者がSQLワークショップへのアクセス権を持つかどうかを決定します。

    7. チーム開発アクセス: 開発者がチーム開発へのアクセス権を持つかどうかを決定します。

    8. アカウントの可用性の設定: 「ロック済」を選択すると、アカウントは使用できなくなります。「ロック解除済」を選択すると、アカウントを使用できるようになります。

      ユーザーが「ワークスペース・プリファレンス」に指定された許可されるログイン失敗の最大回数を超過すると、そのアカウントは自動的にロックされます。

  7. 「パスワード」で、次のステップを実行します。

    • パスワード: 大/小文字を区別してパスワードを入力します。

    • パスワードの確認: パスワードを再度入力します。

    • 初回使用時にパスワードの変更が必要: 「いいえ」を選択すると、ユーザーは期限が切れるまで同じパスワードを使用できます。「はい」を選択すると、ユーザーは初回のログイン時に、パスワードをすぐに変更するよう要求されます。

  8. 「ユーザーの作成」または「作成後、別のものの作成」をクリックします。

6.11.5 ワークスペースへのサインイン

資格証明(ワークスペース名、ユーザー名およびパスワード)を使用して、ワークスペースにサインインします。

ワークスペースにサインインするには、次のステップを実行します。

  1. Webブラウザで、Oracle Application Expressのサインイン・ページにナビゲートします。

    設定ではOracle HTTP Server(Apache)およびmod_plsqlを使用するので、次の場所に移動します。

    http://hostname:port/pls/apex
    

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

    • hostnameは、Oracle HTTP Serverがインストールされるシステムの名前です。

    • portは、Oracle HTTP Serverに割り当てられているHTTPのポート番号です。デフォルトのインストールでは、この番号は7777です。Oracle HTTP Serverのインストール時のポート番号に関する情報は、次のファイルのいずれかで参照できます。

      ORACLE_BASE\ORACLE_HOME\install\portlist.ini
      ORACLE_BASE\ORACLE_HTTPSERVER_HOME\Apache\Apache\conf\httpd.conf
      

      ポート番号を変更しても、portlist.iniファイルは更新されないことに注意してください。このファイルはインストール直後のみ参照可能です。

    • plsは、mod_plsqlカートリッジを使用するためのインジケータです。

    • apexは、mod_plsql構成ファイルで定義されているデータベース・アクセス記述子(DAD)です。

    「サインイン」ページが表示されます。

  2. サインイン・ページで、次の用に入力します。

    • 作業領域: 作業領域の名前を入力します。

    • ユーザー名: ユーザー名を入力します。

    • パスワード- パスワードを大/小文字を区別して入力します。

  3. 「サインイン」をクリックします。

    設定によっては、初めてログインするときにパスワードの変更を要求される場合があります。


関連項目:

『Oracle Application Express管理ガイド』の「ワークスペースの作成」および「ワークスペースと変更リクエストの管理」を参照してください。

6.12 アップグレード・インストールのインストール後のタスクの実行

アップグレード・インストールが正常に実行され、すべてのアップグレード済アプリケーションが正常に機能していることを確認したら、以前のOracle Application Expressインストールからスキーマを削除する必要があります。

6.12.1 以前のOracle Application Expressインストールの削除について

以前のインストールのスキーマに関連付けられたデータベース・ユーザーは権限が付与されたユーザーです。不要になった場合は削除する必要があります。以前のインストールのスキーマの削除には、2つのステップがあります。最初に以前のインストールが存在することを確認して、次にスキーマを削除します。

6.12.2 以前のインストールが存在するかどうかの確認

以前のインストールが存在するかどうかを確認するには、次のステップを実行します。

  1. SQL*Plusを起動して、SYSとしてOracle Application Expressがインストールされているデータベースに接続します。次に例を示します。

    • 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 
      
  2. 次の問合せを実行します。

    SELECT username  FROM dba_users  WHERE (  username LIKE 'FLOWS\_______' ESCAPE '\'       OR username LIKE 'APEX\_______' ESCAPE '\' )   AND USERNAME NOT IN ( SELECT SCHEMA                           FROM dba_registry                          WHERE comp_id = 'APEX' );
    

結果に書式がFLOWS_XXXXXXまたはAPEX_XXXXXX(XXXXXXは6つの数字を表す)のエントリが含まれる場合、それらのエントリは削除候補です。

6.12.3 以前のインストールのスキーマの削除

以前のインストールのスキーマを削除するには、次のステップを実行します。

  1. 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
      
  2. 次の例のような文を実行します。

    DROP USER APEX_040200 CASCADE;
    

6.12.4 Oracle Database 11g以降での無効なACLの修正

Oracle Database 11g以降を実行しており、以前のOracle Application Expressスキーマのネットワーク・サービスを有効化してある場合、「以前のOracle Application Expressインストールの削除について」のステップを実行した後に、無効なACLを修正する必要がある場合があります。

無効なACLを修正するには、次のステップを実行します。

  1. 作業ディレクトリを、インストール・ソフトウェアを解凍した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. 次のような文を実行します。

    EXEC DBMS_NETWORK_ACL_ADMIN.DELETE_PRIVILEGE('power_users.xml', 'FLOWS_030000');
    

6.13 パフォーマンスの最適化タスクについて

Webアプリケーションのパフォーマンスは、そのサイズおよび、イメージ、CSSおよびJavaScriptファイルなどの静的なコンテンツをブラウザがリクエストする頻度に大きく依存します。パフォーマンスを向上させるために、大部分のWebサーバーは、オン・ザ・フライHTTPレスポンス圧縮をサポートし、ブラウザが一度の要求でファイルをキャッシュできる長さを構成できるようにする設定を用意しています。HTTPレスポンス圧縮は通常gzipエンコーディングを使用して実装され(たとえば、Oracle HTTP Serverではmod_deflate)、ブラウザ・ファイル・キャッシュはCache-Control HTTPレスポンス・ヘッダーの発行によって有効化されます(たとえば、Oracle HTTP Serverではmod_headers)。

レスポンス圧縮とブラウザ・ファイル・キャッシュを有効化する方法の詳細は、Webサーバーのドキュメントを参照してください。Oracle Application Express開発環境とOracle Application Expressアプリケーションで最適パフォーマンスを得るためには、仮想イメージ・ディレクトリ(たとえば、/i/)のファイル、およびデータベース・アクセス記述子からのレスポンス(たとえば、/pls/apex)のgzip圧縮を有効化するほか、ブラウザが12時間以上にわたり仮想イメージ・ディレクトリからのファイルをキャッシュできるようにすることをお薦めします。

6.14 ランタイム環境と完全開発環境の間の変換

この項では、ランタイム環境とフル開発環境の間の変換方法について説明します。

6.14.1 ランタイム環境と完全開発環境の間の変換について

Oracle Application Expressランタイム環境では、アプリケーションを変更または編集する機能をサポートせずに本番アプリケーションを実行できます。含まれるのは、アプリケーションの実行に必要なパッケージのみです。このため、ランタイム環境はより堅牢な環境となります。管理用のWebインタフェースは用意されていません。

Oracle Application Expressランタイム環境は、SQL*PlusまたはSQL DeveloperおよびAPEX_INSTANCE_ADMIN APIを使用して管理します。


関連項目:

「Oracle Application Expressランタイム環境について」および『Oracle Application Express管理ガイド』のエクスポートされたアプリケーションのランタイム環境へのインストールに関する項

6.14.2 非CDBまたはローカルなPDBにおける完全開発環境へのランタイム環境の変換

Oracle Application Expressランタイム環境を、非CDB、またはローカルなPDBにおける完全開発環境に変換するには、次のステップを実行します。

  1. 作業ディレクトリを、インストール・ソフトウェアを解凍した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. apxdvins.sqlを実行します。次に例を示します。

    @apxdvins.sql
    
  4. 「インスタンス管理アカウントの作成または更新」の手順に従います。


関連項目:

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

6.14.3 非CDBまたはローカルなPDBにおけるランタイム環境への完全開発環境の変換


ヒント:

完全開発環境をランタイム環境に変換する前に、すべてのWebシート・アプリケーションをエクスポートします。開発環境をランタイムに変換する際、既存のWebシート・データ・グリッドおよびレポートはすべてのワークスペースから削除されます。ランタイム環境を完全開発環境に戻しても、これらのWebシート・データ・グリッドまたはレポートはリストアされません。

非CDBまたはローカルなPDBにおけるランタイム環境に、Oracle Application Express完全開発環境を変換するには、次のステップを実行します。

  1. 作業ディレクトリを、インストール・ソフトウェアを解凍した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. apxdevrm.sqlを実行します。次に例を示します。

    @apxdevrm.sql
    

関連項目:

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

6.14.4 CDBにおける完全開発環境へのランタイム環境の変換

CDBでOracle Application Expressランタイム環境を完全開発環境に変換するには、次のステップを実行します。

  1. 作業ディレクトリを、インストール・ソフトウェアを解凍した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. apxdvins_con.sqlを実行します。次に例を示します。

    @apxdvins_con.sql
    
  4. 「インスタンス管理アカウントの作成または更新」の手順に従います。


関連項目:

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

6.14.5 完全開発環境のCDBにおけるランタイム環境への変換


ヒント:

完全開発環境をランタイム環境に変換する前に、すべてのWebシート・アプリケーションをエクスポートします。開発環境をランタイムに変換する際、既存のWebシート・データ・グリッドおよびレポートはすべてのワークスペースから削除されます。ランタイム環境を完全開発環境に戻しても、これらのWebシート・データ・グリッドまたはレポートはリストアされません。

CDBでOracle Application Express完全開発環境をランタイム環境に変換するには、次のステップを実行します。

  1. 作業ディレクトリを、インストール・ソフトウェアを解凍した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. apxdevrm_con.sqlを実行します。次に例を示します。

    @apxdevrm_con.sql
    

関連項目:

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