ヘッダーをスキップ
Oracle Database Application Expressインストレーション・ガイド
リリース3.1.2
B51320-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

3 Oracle Technology Networkからのダウンロード

この章では、Oracle Technology Network(OTN)からZIPファイルをダウンロードし、適切なインストール後のタスクを実行して、Oracle Application Expressをインストールする方法について説明します。

この章の内容は、新規インストールとアップグレード・インストールの両方に該当します。 詳細は、「以前のリリースのOracle Application Expressからのアップグレード」を参照してください。

この章の内容は次のとおりです。


注意:

このマニュアルでは、Apache Oracleホーム・ディレクトリ(ORACLE_HTTPSERVER_HOME)にOracle HTTP Serverがインストールされていると想定します。

3.1 インストール前の推奨タスク

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

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

  2. 通常の順、または優先度の高い順に、Oracle Application Expressスキーマをインストールするデータベースを除く、既存のすべてのOracle Databaseインスタンスを停止します。Real Application Clusters(RAC)システムでは、各ノードのすべてのインスタンスを停止します。

    自動ストレージ管理(ASM)を実行中の場合は、Oracle Application Expressをインストールするデータベースを除く、ASMを使用するすべてのデータベースを停止してから、ASMインスタンスを停止します。

    Oracle DatabaseおよびASMインスタンスを停止するには、Windowsの「サービス」ユーティリティを使用します。このユーティリティは、Windowsの「コントロール パネル」または「管理ツール」メニュー(「スタート」→「プログラム」)から使用できます。Oracle Databaseの名前は、OracleServiceから始まります。Oracle ASMサービスは、OracleASMService+ASMという名前です。また、ASMが使用するOracleCSServiceサービスも停止します。サービスの名前を右クリックし、メニューから「停止」を選択します。

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

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


    参照:

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

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

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


    注意:

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

3.2 HTTPサーバーの選択

Oracle Application Expressを実行するには、埋込みPL/SQLゲートウェイ、またはOracle HTTP Serverおよびmod_plsqlに対するアクセス権が必要です。 詳細は、「HTTPサーバーの選択について」を参照してください。

3.3 OTNからのダウンロードおよび埋込みPL/SQLゲートウェイの構成

このセクションでは、Oracle Technology Network(OTN)からZIPファイルをダウンロードし、埋込みPL/SQLゲートウェイを構成して、Oracle Application Expressをインストールする方法について説明します。

このセクションの内容は次のとおりです。

3.3.1 Oracle Databaseのインストールおよびインストール前のタスクの実行

Oracle Application Expressでは、リリース9.2.0.3以上のOracle Databaseが必要です。 詳細は、ご使用のオペレーティング環境向けの『Oracle Databaseインストレーション・ガイド』および「インストール前の推奨タスク」を参照してください。

3.3.2 Oracle Application Expressのダウンロードおよびインストール

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

  1. Oracle Application Expressのダウンロード・ページから、apex_3.1.zipファイルをダウンロードします。次の場所で参照できます。

    http://www.oracle.com/technology/products/database/application_express/download.html
    

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

  2. 次のとおり、ディレクトリ名を変更せずにapex_3.1.zipを解凍します。

    • UNIXおよびLinuxの場合:apex_3.1.zipを解凍します。

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

  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 Application Expressランタイム環境について」を参照してください。

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

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

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

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

参照:

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

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

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

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

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

以前のリリースからアップグレードする場合、FLOWS_FILESはすでに存在し、APEX_PUBLIC_USERが作成されていない場合は作成されます。


ヒント:

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

3.3.3 ADMINアカウントのパスワードの変更

Oracle Application Expressを新しくインストールした場合またはランタイム環境を開発環境に変換した場合は、内部ADMINアカウントのパスワードを変更する必要があります。アップグレードの場合、パスワードは保存され、前のリリースから継承されます。

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

  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
    

    ADMINアカウントのパスワードの入力を求められたら入力します。


参照:

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

3.3.4 プロセスの再起動

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

3.3.5 埋込みPL/SQLゲートウェイの構成

埋込みPL/SQLゲートウェイは、Oracle Database 11gとともにインストールされます。 ただし、Oracle Application Expressで使用する前に構成する必要があります。 このためには、構成ファイルを実行し、ANONYMOUSアカウントのロックを解除する必要があります。


注意:

Oracle XML DB HTTP Serverおよび埋込みPL/SQLゲートウェイは、Oracle Database 11gより前のデータベースではサポートされていません。

このセクションの内容は次のとおりです。

3.3.5.1 apex_epg_config.sql構成スクリプトの実行

新規インストールで構成スクリプトapex_epg_config.sqlを実行し、埋込みPL/SQLゲートウェイを構成します。次に、ANONYMOUSアカウントのロックを解除します。


注意:

アップグレードの場合で、埋込みPL/SQLゲートウェイをすでに構成してあれば、このセクションをスキップして「リリース3.0からアップグレードする場合のimagesディレクトリの更新」に進んでください。

apex_epg_config.sql構成スクリプトを実行するには、次のステップを実行します。

  1. 作業ディレクトリを、Oracle Application Expressソフトウェアを解凍した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. 次の例に示すとおり、Oracle Application Expressソフトウェアを解凍したベース・ディレクトリにファイル・システム・パスを渡すapex_epg_config.sqlを実行します。

    • Windowsの場合:

      @apex_epg_config SYSTEM_DRIVE:\TEMP
      
    • UNIXおよびLinuxの場合:

      @apex_epg_config /tmp
      
  4. 次の文を入力し、ANONYMOUSアカウントのロックを解除します。

    ALTER USER ANONYMOUS ACCOUNT UNLOCK;
    

3.3.5.2 リリース3.0からアップグレードする場合のimagesディレクトリの更新

Oracle Application Expressをリリース3.0からアップグレードする場合は、apxldimg.sqlスクリプトを実行してimagesディレクトリを更新する必要があります。


ヒント:

以前のリリースのOracle Application Expressからのアップグレードではない場合、このステップは不要です。 前述のセクションで説明したように、apex_epg_config.sqlを実行すると、イメージがロードされます。

apxldimg.sqlスクリプトを実行するには、次のステップを実行します。

  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. 次の例に示すとおり、Oracle Application Expressソフトウェアを解凍したベース・ディレクトリへのファイル・システム・パスを渡し、apxldimg.sqlを実行します。

    • Windowsの場合:

      @apxldimg.sql SYSTEM_DRIVE:\TEMP
      
    • UNIXおよびLinuxの場合:

      @apxldimg.sql /tmp
      

    ヒント:

    前述の例では、Windowsの場合はTEMP、UNIXまたはLinuxの場合はtmpというディレクトリにOracle Application Expressを解凍したことを前提としています。

3.3.5.3 Oracle XML DB HTTP Serverポートの検証

埋込みPL/SQLゲートウェイは、Oracle DatabaseのOracle XML DB HTTP Serverで実行されます。 対応するポート番号を確認すると、Oracle XML DB HTTPサーバーが有効化されているかどうかを判断できます。

Oracle XML DB HTTP Serverを実行するポート番号を検証するには、次のステップを実行します。

  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. 次の文を入力し、ポート番号を確認します。

    SELECT DBMS_XDB.GETHTTPPORT FROM DUAL;
    

    ポート番号に0が戻された場合、Oracle XML DB HTTP Serverは無効化されています。

  3. 有効化するには、「Oracle XML DB HTTP Serverの有効化」のステップを実行します。

3.3.5.4 Oracle XML DB HTTP Serverの有効化

埋込みPL/SQLゲートウェイは、Oracle DatabaseのOracle XML DB HTTP Serverで実行されます。

Oracle XML DB HTTP Serverを有効化するには、次のステップを実行します。

  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(port);
    

    次に例を示します。

    EXEC DBMS_XDB.SETHTTPPORT(8080);
    

注意:

1024未満のポート番号は、多くのオペレーティング・システムで特権プロセス用に予約されています。1024未満のポート(80など)でXML DB HTTPリスナーを有効化するには、次のドキュメントを参照してください。
  • 『Oracle XML DB開発者ガイド』のプロトコルを使用したリポジトリへのアクセスに関する項

  • 『Oracle Database Net Servicesリファレンス』のプロトコル・アドレスの構成およびポート番号の制限に関する項


3.3.5.5 Oracle XML DB HTTP Serverの無効化

埋込みPL/SQLゲートウェイは、Oracle DatabaseのOracle XML DB HTTP Serverで実行されます。

Oracle XML DB HTTP Serverを無効化するには、次のステップを実行します。

  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);
    

3.3.6 Oracle Database 11gでのネットワーク・サービスの有効化

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

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

    ユーザーはAPEX_MAILパッケージからメソッドをコールできますが、アウトバンド・メールの送信時に問題が発生します。

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

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

  • オンライン・ヘルプの内容を検索する(Findリンクの使用)。

このセクションの内容は次のとおりです。


ヒント:

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

3.3.6.1 接続権限の付与

次の例は、FLOWS_030100データベース・ユーザーにすべてのホストに対する接続権限を付与する方法を示しています。

DECLARE
  ACL_PATH  VARCHAR2(4000);
  ACL_ID    RAW(16);
BEGIN
  -- Look for the ACL currently assigned to '*' and give FLOWS_030100
  -- the "connect" privilege if FLOWS_030100 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;

  -- Before checking the privilege, make sure that the ACL is valid
  -- (for example, does not contain stale references to dropped users).
  -- If it does, the following exception will be raised:
  --
  -- ORA-44416: Invalid ACL: Unresolved principal 'FLOWS_030100'
  -- ORA-06512: at "XDB.DBMS_XDBZ", line ...
  --
  SELECT SYS_OP_R2O(extractValue(P.RES, '/Resource/XMLRef')) INTO ACL_ID
    FROM XDB.XDB$ACL A, PATH_VIEW P
   WHERE extractValue(P.RES, '/Resource/XMLRef') = REF(A) AND
         EQUALS_PATH(P.RES, ACL_PATH) = 1;

  DBMS_XDBZ.ValidateACL(ACL_ID);
   IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'FLOWS_030100',
     'connect') IS NULL THEN
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
     'FLOWS_030100', 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',
    'FLOWS_030100', TRUE, 'connect');
  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*');
END;
/
COMMIT;

次の例は、ローカル・ネットワーク・リソースへのアクセス権について、より少ない権限を付与する方法を示しています。この例では、Oracle Application Expressオンライン・ヘルプを索引付けできます。また、対象サーバーもローカル・ホスト上に存在する場合は、電子メールおよびPDFへの出力を行うことができる場合があります。

DECLARE
  ACL_PATH  VARCHAR2(4000);
  ACL_ID    RAW(16);
BEGIN
  -- Look for the ACL currently assigned to 'localhost' and give FLOWS_030100
  -- the "connect" privilege if FLOWS_030100 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;

  -- Before checking the privilege, make sure that the ACL is valid
  -- (for example, does not contain stale references to dropped users).
  -- If it does, the following exception will be raised:
  --
  -- ORA-44416: Invalid ACL: Unresolved principal 'FLOWS_030100'
  -- ORA-06512: at "XDB.DBMS_XDBZ", line ...
  --

  SELECT SYS_OP_R2O(extractValue(P.RES, '/Resource/XMLRef')) INTO ACL_ID
    FROM XDB.XDB$ACL A, PATH_VIEW P
   WHERE extractValue(P.RES, '/Resource/XMLRef') = REF(A) AND
         EQUALS_PATH(P.RES, ACL_PATH) = 1;

  DBMS_XDBZ.ValidateACL(ACL_ID);
   IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'FLOWS_030100',
     'connect') IS NULL THEN
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
     'FLOWS_030100', 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 power users to connect to everywhere',
    'FLOWS_030100', TRUE, 'connect');
  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('local-access-users.xml','localhost');
END;
/
COMMIT;

3.3.6.2 無効な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の修正後、このセクションの最初のスクリプトを実行してFLOWS_030100ユーザーにACLを適用する必要があります。「接続権限の付与」を参照してください。

3.3.7 セキュリティ上の考慮事項

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

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

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

Oracle Application Expressのインタフェースは、ドイツ語、スペイン語、フランス語、イタリア語、日本語、韓国語、ポルトガル語(ブラジル)、簡体字中国語および繁体字中国語に変換できます。Oracle Application Expressの単一インスタンスは、これらの言語変換されたバージョンを1つ以上実装してインストールできます。実行時に、各ユーザーのWebブラウザの言語設定によって、特定の言語バージョンが使用されます。

言語変換されたバージョンの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

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

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

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

言語変換されたバージョンの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. 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 = FLOWS_030100;
    
  4. 該当する言語固有のスクリプトを実行します。次に例を示します。

    @load_lang.sql
    

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

3.3.9 JOB_QUEUE_PROCESSESの管理について

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

このセクションの内容は次のとおりです。

3.3.9.1 JOB_QUEUE_PROCESSESの数の表示

JOB_QUEUE_PROCESSESの数を表示するには、3つの方法があります。

  • インストール・ログ・ファイル

  • Oracle Application Expressの「Application Expressのバージョン情報」ページ

  • SQL*Plus

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

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

3.3.9.1.2 Oracle Application ExpressでのJOB_QUEUE_PROCESSESの表示

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

「Application Expressのバージョン情報」ページを表示するには、次のステップを実行します。

  1. Oracle Application Expressにログインします。 詳細は、「Oracle Application Expressへのログイン」を参照してください。

  2. 「管理」リストで、「Application Expressのバージョン情報」をクリックします。

    ページの下部に、現在のJOB_QUEUE_PROCESSESの数が表示されます。

3.3.9.1.3 SQL*PlusによるJOB_QUEUE_PROCESSESの表示

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

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

3.3.9.2 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に設定されます。

3.3.10 SHARED_SERVERSパラメータの構成

埋込みPL/SQLゲートウェイでは、Oracle Databaseの共有サーバー・アーキテクチャを使用します。 埋込みPL/SQLゲートウェイの使用時に良好なパフォーマンスを実現するには、データベース初期化パラメータSHARED_SERVERSが適切な(0でも1でもない)値に設定されていることを確認します。 同時ユーザーが少数の場合は、SHARED_SERVERSの値に5を使用することをお薦めします。

次に例を示します。

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

    ALTER SYSTEM SET SHARED_SERVERS = 5 SCOPE=BOTH;
    

3.3.11 Oracle Application Expressへのログイン

WebブラウザでOracle Application Expressのホームページにアクセスします。Oracle Application Expressアプリケーションを表示または開発するには、WebブラウザでJavaScriptおよびHTML 4.0およびCSS 1.0規格がサポートされている必要があります。「ブラウザの要件」を参照してください。

このセクションの内容は次のとおりです。

3.3.11.1 Application Expressのユーザー・ロールについて

Oracle Application Express開発環境では、ユーザーは作業領域という作業用の共有領域にログインします。ユーザーは、次の4つの主なロールに分類されます。

  • Oracle Application Express管理者は、Oracle Application Express管理サービス・アプリケーションを使用して、ホスティングされたインスタンス全体を管理するスーパーユーザーです。

  • 作業領域管理者は、ユーザー・アカウントの管理、作業領域アクティビティの監視、ログ・ファイルの表示など、作業領域固有の管理者タスクを実行するユーザーです。

  • 開発者は、アプリケーションを作成および編集するユーザーです。開発者は、専用の作業領域を使用することも、作業領域を共有することもできます。

  • エンド・ユーザーには、開発権限はありません。外部認証スキームを使用しないアプリケーションにアクセスできるように、エンド・ユーザーを定義する必要があります。

3.3.11.2 ローカル開発環境設定について

自分のユーザー・ロールに応じてOracle Application Expressを設定します。構成済の開発環境にログインする開発者の場合、管理者が作業領域へのアクセス権をその開発者に付与する必要があります。Oracle Application Express管理者の場合、次のステップを実行する必要があります。

  1. Oracle Application Express管理サービスにログインします。Oracle Application Express管理サービスは、Oracle Application Expressインスタンス全体を管理するための個別のアプリケーションです。インストール時に作成または再設定したADMINアカウントおよびパスワードを使用してログインします。

  2. 割当てモードを指定します。Oracle Application Express管理サービスで、作業領域の作成(または割当て)プロセスが開発環境にどのように影響するかを判別する必要があります。

  3. 作業領域を作成します。作業領域は、複数のユーザーが、各自のオブジェクト、データおよびアプリケーションをそれぞれに保持しながら、同じOracle Application Expressインストール内で作業できる、仮想プライベート・データベースです。各作業領域には、一意のIDと名前があります。Oracle Application Express管理者は、作業領域を手動で作成するか、ユーザーにリクエストを送信してもらうことができます。

  4. 作業領域にログインします。Oracle Application Express管理サービスで作業領域を作成した後、Oracle Application Expressの「ログイン」ページに戻って、作業領域にログインします。

環境設定の詳細は、『Oracle Database Application Express 2日で開発者ガイド』または『Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド』の「クイック・スタート」を参照してください。

3.4 OTNからのダウンロードおよびOracle HTTP Serverの構成

このセクションでは、Oracle Technology Network(OTN)からZIPファイルをダウンロードしOracle Database 11gまたはOracle Application Server 10gで配布されたOracle HTTP Serverおよびmod_plsqlを構成して、Oracle Application Expressをインストールする方法について説明します。

このセクションの内容は次のとおりです。

3.4.1 Oracle Databaseのインストールおよびインストール前のタスクの実行

Oracle Application Expressでは、リリース9.2.0.3以上のOracle Databaseが必要です。 詳細は、ご使用のオペレーティング環境向けの『Oracle Databaseインストレーション・ガイド』および「インストール前の推奨タスク」を参照してください。

3.4.2 Oracle Application Expressのダウンロードおよびインストール

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

  1. Oracle Application Expressのダウンロード・ページから、apex_3.1.zipファイルをダウンロードします。次の場所で参照できます。

    http://www.oracle.com/technology/products/database/application_express/download.html
    

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

  2. 次のとおり、ディレクトリ名を変更せずにapex_3.1.zipを解凍します。

    • UNIXおよびLinuxの場合:apex_3.1.zipを解凍します。

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

  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 Application Expressランタイム環境について」を参照してください。

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

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

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

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

参照:

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

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

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

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

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

以前のリリースからアップグレードする場合、FLOWS_FILESはすでに存在し、APEX_PUBLIC_USERが作成されていない場合は作成されます。


ヒント:

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

3.4.3 ADMINアカウントのパスワードの変更

Oracle Application Expressを新しくインストールした場合またはランタイム環境を開発環境に変換した場合は、内部ADMINアカウントのパスワードを変更する必要があります。アップグレードの場合、パスワードは保存され、前のリリースから継承されます。

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

  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
    

    ADMINアカウントのパスワードの入力を求められたら入力します。


参照:

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

3.4.4 プロセスの再起動

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

3.4.5 Oracle Database 11gまたはOracle Application Server 10gで配布されたOracle HTTP Serverの構成

このセクションでは、Oracle Database 11gまたはOracle Application Server 10gで配布されたOracle HTTP Serverおよびmod_plsqlを構成する方法について説明します。

このセクションの内容は次のとおりです。

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

APEX_PUBLIC_USERアカウントは、新しいOracle Application Expressのインストールの終了時にロックされます。新しいインストール環境でデータベース・アクセス記述子(DAD)を構成するには、まず、このアカウントをロック解除する必要があります。


ヒント:

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

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

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

    ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK
    

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

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


ヒント:

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

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

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

    ALTER USER APEX_PUBLIC_USER IDENTIFIED BY new_password
    

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

3.4.5.3 imagesディレクトリのコピー

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

このセクションの内容は次のとおりです。

3.4.5.3.1 アップグレード後のimagesディレクトリのコピー

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

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

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

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

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

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

既存のimagesディレクトリをコピーした後、次のコマンド構文を使用してOracle Databaseホームから既存のimagesディレクトリのパスにapex\imagesディレクトリをコピーし、既存のimagesを上書きします。

  • Oracle Application Server 10gの場合:

    • Windowsの場合:

      xcopy /E /I APEX_HOME\apex\images ORACLE_HTTPSERVER_HOME\Apache\images
      
    • UNIXおよびLinuxの場合:

      cp -rf APEX_HOME/apex/images ORACLE_HTTPSERVER_HOME/Apache
      
  • Oracle Database 11gで配布されたOracle HTTP Serverの場合:

    • Windowsの場合:

      xcopy /E /I APEX_HOME\apex\images ORACLE_HTTPSERVER_HOME\ohs\images
      
    • UNIXおよびLinuxの場合:

      cp -rf APEX_HOME/apex/images ORACLE_HTTPSERVER_HOME/ohs
      

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

  • APEX_HOMEは、Oracle Application Expressソフトウェアが解凍されたディレクトリを示しています。

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

3.4.5.3.2 新規インストールへのimagesディレクトリのコピー

インストール後、ディレクトリapex/imagesをコピーします。

  • Oracle Application Server 10gの場合:

    • Windowsの場合:

      xcopy /E /I ORACLE_HOME\apex\images ORACLE_HTTPSERVER_HOME\Apache\images
      
    • UNIXおよびLinuxの場合:

      cp -rf $ORACLE_HOME/apex/images ORACLE_HTTPSERVER_HOME/Apache
      
  • Oracle Database 11gで配布されたOracle HTTP Serverの場合:

    • Windowsの場合:

      xcopy /E /I ORACLE_HOME\apex\images ORACLE_HTTPSERVER_HOME\ohs\images
      
    • UNIXおよびLinuxの場合:

      cp -rf $ORACLE_HOME/apex/images ORACLE_HTTPSERVER_HOME/ohs
      

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

  • ORACLE_HOMEは、Oracle DatabaseのOracleホームを示しています。

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

3.4.5.4 Oracle HTTP Server 11gまたはOracle Application Server 10gの構成

次の場合は、後述するインストール後の処理を実行する必要があります。

  • Oracle Application Expressを新しくインストールする(以前のリリースからのアップグレードではない)。

  • Oracle Database 11gで配布されたOracle HTTP ServerまたはOracle Application Server 10gを実行している。

  • Oracle HTTP ServerがOracleホームにインストールされている。

このセクションの内容は次のとおりです。

Oracle HTTP Serverリリース9.0.3を実行している場合、次のステップは該当しません。詳細は、「Oracle9i リリース2で配布されたOracle HTTP Serverの構成」を参照してください。


注意:

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

3.4.5.4.1 dads.confファイルの編集

Oracle Application Expressを新しくインストールする場合は、dads.confファイルを編集する必要があります。dads.confファイルには、Oracle Application ExpressにアクセスするためのDAD情報が保存されています。

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_HTTPSERVER_HOME\ohs\modplsql\conf\dads.conf
        
      • UNIXおよびLinuxの場合:

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

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

    Alias /i/ "ORACLE_HTTPSERVER_HOME/apex/images/"
    AddType text/xml       xbl
    AddType text/x-component       htc
    
    <Location /pls/apex>
     Order deny,allow
     PlsqlDocumentPath docs
     AllowOverride None
     PlsqlDocumentProcedure         wwv_flow_file_mgr.process_downloadd
     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
     Allow from all
    </Location>
    
  3. PlsqlNLSLanguageを含む行を検索します。

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

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

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

Oracle 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
    
  • Windowsでは、次を実行します。

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

3.4.6 Oracle Database 11gでのネットワーク・サービスの有効化

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

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

    ユーザーはAPEX_MAILパッケージからメソッドをコールできますが、アウトバンド・メールの送信時に問題が発生します。

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

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

  • オンライン・ヘルプの内容を検索する(Findリンクの使用)。

このセクションの内容は次のとおりです。


ヒント:

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

3.4.6.1 接続権限の付与

次の例は、FLOWS_030100データベース・ユーザーにすべてのホストに対する接続権限を付与する方法を示しています。

DECLARE
  ACL_PATH  VARCHAR2(4000);
  ACL_ID    RAW(16);
BEGIN
  -- Look for the ACL currently assigned to '*' and give FLOWS_030100
  -- the "connect" privilege if FLOWS_030100 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;

  -- Before checking the privilege, make sure that the ACL is valid
  -- (for example, does not contain stale references to dropped users).
  -- If it does, the following exception will be raised:
  --
  -- ORA-44416: Invalid ACL: Unresolved principal 'FLOWS_030100'
  -- ORA-06512: at "XDB.DBMS_XDBZ", line ...
  --
  SELECT SYS_OP_R2O(extractValue(P.RES, '/Resource/XMLRef')) INTO ACL_ID
    FROM XDB.XDB$ACL A, PATH_VIEW P
   WHERE extractValue(P.RES, '/Resource/XMLRef') = REF(A) AND
         EQUALS_PATH(P.RES, ACL_PATH) = 1;

  DBMS_XDBZ.ValidateACL(ACL_ID);
   IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'FLOWS_030100',
     'connect') IS NULL THEN
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
     'FLOWS_030100', 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',
    'FLOWS_030100', TRUE, 'connect');
  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*');
END;
/
COMMIT;

次の例は、ローカル・ネットワーク・リソースへのアクセス権について、より少ない権限を付与する方法を示しています。この例では、Oracle Application Expressオンライン・ヘルプを索引付けできます。また、対象サーバーもローカル・ホスト上に存在する場合は、電子メールおよびPDFへの出力を行うことができる場合があります。

DECLARE
  ACL_PATH  VARCHAR2(4000);
  ACL_ID    RAW(16);
BEGIN
  -- Look for the ACL currently assigned to 'localhost' and give FLOWS_030100
  -- the "connect" privilege if FLOWS_030100 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;

  -- Before checking the privilege, make sure that the ACL is valid
  -- (for example, does not contain stale references to dropped users).
  -- If it does, the following exception will be raised:
  --
  -- ORA-44416: Invalid ACL: Unresolved principal 'FLOWS_030100'
  -- ORA-06512: at "XDB.DBMS_XDBZ", line ...
  --

  SELECT SYS_OP_R2O(extractValue(P.RES, '/Resource/XMLRef')) INTO ACL_ID
    FROM XDB.XDB$ACL A, PATH_VIEW P
   WHERE extractValue(P.RES, '/Resource/XMLRef') = REF(A) AND
         EQUALS_PATH(P.RES, ACL_PATH) = 1;

  DBMS_XDBZ.ValidateACL(ACL_ID);
   IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'FLOWS_030100',
     'connect') IS NULL THEN
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
     'FLOWS_030100', 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 power users to connect to everywhere',
    'FLOWS_030100', TRUE, 'connect');
  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('local-access-users.xml','localhost');
END;
/
COMMIT;

3.4.6.2 無効な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の修正後、このセクションの最初のスクリプトを実行してFLOWS_030100ユーザーにACLを適用する必要があります。「接続権限の付与」を参照してください。

3.4.7 セキュリティ上の考慮事項

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

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

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

Oracle Application Expressのインタフェースは、ドイツ語、スペイン語、フランス語、イタリア語、日本語、韓国語、ポルトガル語(ブラジル)、簡体字中国語および繁体字中国語に変換できます。Oracle Application Expressの単一インスタンスは、これらの言語変換されたバージョンを1つ以上実装してインストールできます。実行時に、各ユーザーのWebブラウザの言語設定によって、特定の言語バージョンが使用されます。

言語変換されたバージョンの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

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

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

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

言語変換されたバージョンの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. 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 = FLOWS_030100;
    
  4. 該当する言語固有のスクリプトを実行します。次に例を示します。

    @load_lang.sql
    

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

3.4.9 JOB_QUEUE_PROCESSESの管理について

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

このセクションの内容は次のとおりです。

3.4.9.1 JOB_QUEUE_PROCESSESの数の表示

JOB_QUEUE_PROCESSESの数を表示するには、3つの方法があります。

  • インストール・ログ・ファイル

  • Oracle Application Expressの「Application Expressのバージョン情報」ページ

  • SQL*Plus

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

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

3.4.9.1.2 Oracle Application ExpressでのJOB_QUEUE_PROCESSESの表示

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

「Application Expressのバージョン情報」ページを表示するには、次のステップを実行します。

  1. Oracle Application Expressにログインします。 詳細は、「Oracle Application Expressへのログイン」を参照してください。

  2. 「管理」リストで、「Application Expressのバージョン情報」をクリックします。

    ページの下部に、現在のJOB_QUEUE_PROCESSESの数が表示されます。

3.4.9.1.3 SQL*PlusによるJOB_QUEUE_PROCESSESの表示

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

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

3.4.9.2 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に設定されます。

3.4.10 PlsqlDatabasePasswordパラメータの難読化について

PlsqlDatabasePasswordパラメータは、データベースへのログイン用のパスワードを指定します。dadTool.plユーティリティを使用すると、dads.confファイル内のパスワードを難読化できます。

dadTool.plユーティリティは、次のディレクトリに格納されています。

  • UNIXベースおよびLinuxベースのシステムの場合:

    ORACLE_BASE/ORACLE_HTTPSERVER_HOME/Apache/modplsql/conf
    
  • Windowsベースのシステムの場合:

    ORACLE_BASE\ORACLE_HTTPSERVER_HOME\Apache\modplsql\conf
    

3.4.10.1 パスワードの難読化

パスワードを難読化するには、dadTool.READMEファイルに記載されたステップに従って、dadTool.plを実行します。

3.4.11 Oracle Application Expressへのログイン

WebブラウザでOracle Application Expressのホームページにアクセスします。Oracle Application Expressアプリケーションを表示または開発するには、WebブラウザでJavaScriptおよびHTML 4.0およびCSS 1.0規格がサポートされている必要があります。「ブラウザの要件」を参照してください。

このセクションの内容は次のとおりです。

3.4.11.1 Application Expressのユーザー・ロールについて

Oracle Application Express開発環境では、ユーザーは作業領域という作業用の共有領域にログインします。ユーザーは、次の4つの主なロールに分類されます。

  • Oracle Application Express管理者は、Oracle Application Express管理サービス・アプリケーションを使用して、ホスティングされたインスタンス全体を管理するスーパーユーザーです。

  • 作業領域管理者は、ユーザー・アカウントの管理、作業領域アクティビティの監視、ログ・ファイルの表示など、作業領域固有の管理者タスクを実行するユーザーです。

  • 開発者は、アプリケーションを作成および編集するユーザーです。開発者は、専用の作業領域を使用することも、作業領域を共有することもできます。

  • エンド・ユーザーには、開発権限はありません。外部認証スキームを使用しないアプリケーションにアクセスできるように、エンド・ユーザーを定義する必要があります。

3.4.11.2 ローカル開発環境設定について

自分のユーザー・ロールに応じてOracle Application Expressを設定します。構成済の開発環境にログインする開発者の場合、管理者が作業領域へのアクセス権をその開発者に付与する必要があります。Oracle Application Express管理者の場合、次のステップを実行する必要があります。

  1. Oracle Application Express管理サービスにログインします。Oracle Application Express管理サービスは、Oracle Application Expressインスタンス全体を管理するための個別のアプリケーションです。インストール時に作成または再設定したADMINアカウントおよびパスワードを使用してログインします。

  2. 割当てモードを指定します。Oracle Application Express管理サービスで、作業領域の作成(または割当て)プロセスが開発環境にどのように影響するかを判別する必要があります。

  3. 作業領域を作成します。作業領域は、複数のユーザーが、各自のオブジェクト、データおよびアプリケーションをそれぞれに保持しながら、同じOracle Application Expressインストール内で作業できる、仮想プライベート・データベースです。各作業領域には、一意のIDと名前があります。Oracle Application Express管理者は、作業領域を手動で作成するか、ユーザーにリクエストを送信してもらうことができます。

  4. 作業領域にログインします。Oracle Application Express管理サービスで作業領域を作成した後、Oracle Application Expressの「ログイン」ページに戻って、作業領域にログインします。

環境設定の詳細は、『Oracle Database Application Express 2日で開発者ガイド』または 『Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド』の「クイック・スタート」を参照してください。

3.5 Oracle Application Expressランタイム環境について

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

Oracle Application Expressランタイム環境は、SQL*PlusまたはSQL DeveloperおよびAPEX_INSTANCE_ADMIN APIを使用して管理します。 詳細は、『Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド』のランタイム環境の管理に関する項を参照してください。

このセクションの内容は次のとおりです。

3.5.1 完全開発環境へのランタイム環境の変換

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.sqlを実行します。次に例を示します。

    @apxdvins
    

参照:

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

3.5.2 ランタイム環境への完全開発環境の変換

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
    
  4. 「ADMINアカウントのパスワードの変更」のステップに従います。


参照:

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