ヘッダーをスキップ
Oracle® Application Expressインストレーション・ガイド
リリース3.2
B53793-03
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

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インスタンスを停止します。Oracle Real Application Clusters(Oracle 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.2.zipファイルをダウンロードします。次の場所で参照できます。

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

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

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

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

    • Windowsの場合: Windowsエクスプローラでapex_3.2.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 Databaseセキュリティ・ガイド』の「パスワード保護の構成」を参照してください。

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

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

  • APEX_030200: 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ゲートウェイをすでに構成してあれば、このセクションをスキップして「以前のリリースからアップグレードする場合の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 以前のリリースからアップグレードする場合のimagesディレクトリの更新

Oracle Application Expressを以前のリリースからアップグレードする場合は、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パッケージを使用して、APEX_030200データベース・ユーザーにすべてのホストに対する接続権限を付与する必要があります。これらの権限を付与しないと、次の動作で問題が発生します。

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

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

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

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

  • オンライン・ヘルプのコンテンツ検索(検索リンクの使用)

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


ヒント:

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

3.3.6.1 接続権限の付与

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

DECLARE
  ACL_PATH  VARCHAR2(4000);
  ACL_ID    RAW(16);
BEGIN
  -- Look for the ACL currently assigned to '*' and give APEX_030200
  -- the "connect" privilege if APEX_030200 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, ensure 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 'APEX_030200'
  -- 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, 'APEX_030200', 
     'connect') IS NULL THEN 
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 
     'APEX_030200', 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_030200', 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 APEX_030200
  -- the "connect" privilege if APEX_030200 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, ensure 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 'APEX_030200'
  -- 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, 'APEX_030200', 
     'connect') IS NULL THEN 
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 
     'APEX_030200', 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',
    'APEX_030200', 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の修正後、このセクションの最初のスクリプトを実行してAPEX_030200ユーザーにACLを適用する必要があります。「接続権限の付与」を参照してください。

3.3.7 Oracle Database 11gリリース2以上でのオンライン・ヘルプの索引付けの有効化

Oracle Application Expressオンライン・ヘルプを検索する機能がOracle TextおよびURLデータ・ストアによって実現します。Oracle TextのURLデータ・ストアをDatabase 11gリリース2以上で使用する場合のデフォルトの動作と権限に変更があります。

Oracle Database 11gリリース2でOracle Application Expressのオンライン・ヘルプを検索しようとして、次のエラーが発生した場合、Oracle Text URLデータ・ストアを使用するための権限がデータベース・ユーザーAPEX_030200に付与されていません。

ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine 
ORA-20000: Oracle Text error: 
DRG-10758: index owner does not have the privilege to use file or URL data store

Oracle Application Expressでオンライン・ヘルプの索引付けを有効にするには、Oracle Text URLデータ・ストアを使用するための権限をAPEX_030200データベース・ユーザーに付与する必要があります。これを行うには、この特定の権限をデータベース・ロールに割り当ててから、そのロールをAPEX_030200データベース・ユーザーに付与します。

Oracle TextのURLデータ・ストアを使用するための権限がデータベース・ロールに付与されているかどうかを確認するには、次のステップを実行します。

  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 par_value FROM ctxsys.ctx_parameters WHERE par_name = 'FILE_ACCESS_ROLE';
    

    NULL、またはOracle TextのURLデータ・ストアを使用する権限が付与されているデータベース・ロールが戻されます。

  3. ステップ2で値が戻らなかった場合は、次の例に示すように新しいデータベース・ロールを作成します。

    CREATE ROLE APEX_URL_DATASTORE_ROLE;
    
  4. 次の文を使用して、このロールをデータベース・ユーザーAPEX_030200に付与します。

    GRANT APEX_URL_DATASTORE_ROLE to APEX_030200;
    

    ステップ2で値が戻った場合は、例のAPEX_URL_DATASTORE_ROLEのかわりに、そのデータベース・ロール名を使用します。

  5. 最後に、ステップ2で値が戻らなかった場合は、Oracle Text APIで次の文を使用して、新しく作成されたデータベース・ロールに権限を付与します。

    EXEC ctxsys.ctx_adm.set_parameter('file_access_role', 'APEX_URL_DATASTORE_ROLE');
    

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

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

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

3.3.9 他の言語での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.9.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 = APEX_030200;
    
  4. 該当する言語固有のスクリプトを実行します。次に例を示します。

    @load_lang.sql
    

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

3.3.10 JOB_QUEUE_PROCESSESの管理について

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

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

3.3.10.1 JOB_QUEUE_PROCESSESの数の表示

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

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

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

  • SQL*Plus

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

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

3.3.10.1.2 Oracle Application ExpressでのJOB_QUEUE_PROCESSESの表示

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

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

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

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

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

3.3.10.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.10.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.11 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.12 作業領域の作成およびOracle Application Expressユーザーの追加

Webブラウザを使用して作業領域にログインし、Oracle Application Expressのホームページにアクセスします。使用するWebブラウザでJavaScript、HTML 4.0およびCSS 1.0規格がサポートされている必要があります。「ブラウザの要件」を参照してください。

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

Oracle Application Express管理者は、Oracle Application Express管理サービス内に作業領域を手動で作成するか、ユーザーにリクエストを送信してもらうことができます。Oracle Application Express管理サービスは、Oracle Application Expressインスタンス全体を管理するための独立したアプリケーションです。詳細は、『Oracle Application Express管理ガイド』の「作業領域の作成」および「作業領域リクエストの管理」を参照してください。


参照:

Oracle Application Expressを初めて使用する場合は、『Oracle Database Application Express 2日で開発者ガイド』を参照してください。

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

3.3.12.1 作業領域の手動作成

Oracle Application Express作業領域を手動で作成するには、次のステップを実行します。

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

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

      設定に埋込みPL/SQLゲートウェイを使用する場合は、次へ移動します。

      http://hostname:port/apex/apex_admin
      

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

      hostnameは、Oracle XML DB HTTPサーバーがインストールされているシステムの名前です。

      portは、Oracle XML DB HTTPサーバーに割り当てられているポート番号です。デフォルトのインストールの場合、この番号は8080です。

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

    2. 「ログイン」ページで、次の操作を行います。

      • 「ユーザー名」に、adminと入力します。

      • 「パスワード」に、Oracle Application Expressのインストール時に指定したOracle Application Express管理者アカウントのパスワードを入力します。

      • 「ログイン」をクリックします。


    参照:

    詳細は、『Oracle Application Express管理ガイド』の「Oracle Application Express管理サービスへのログイン」を参照してください。

    次に、作業領域を作成します。

  2. 「作業領域の管理」をクリックします。

  3. 「作業領域の管理」で、「作業領域の作成」をクリックします。

    「作業領域の作成」ウィザードが表示されます。

  4. 「作業領域の指定」に、作業領域の名前と説明を入力して、「次へ」をクリックします。

  5. 「スキーマの指定」で、Oracle Formsアプリケーションのスキーマを選択します。

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

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

    3. 「次へ」をクリックします。

  6. 「管理者の指定」に、作業領域管理者の情報を入力して、「次へ」をクリックします。

  7. 選択した内容を確認し、「作成」をクリックします。

3.3.12.2 Oracle Application Expressユーザーの作成

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

  1. 前述のセクションで説明したように、Oracle Application Express管理サービスにログインします。詳細は、『Oracle Application Express管理ガイド』の「Oracle Application Express管理サービスへのログイン」を参照してください。

  2. 「作業領域の管理」をクリックします。

  3. 「作業領域の管理」で、「開発者とユーザーの管理」をクリックします。

    「開発者とユーザーの管理」ページが表示されます。

  4. 「作成」をクリックします。

    「ユーザーの作成/編集」ページが表示されます。

  5. 「ユーザー属性」で、適切な情報を入力します。アスタリスクが付いたフィールドは必須です。


    ヒント:

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

  6. 「パスワード」に、このアカウントの大/小文字を区別したパスワードを入力します。

    組織でパスワード・ポリシーを設定している場合は、パスワードが要件を満たすことを確認してください。

  7. 「開発者権限」で、適切な権限を選択します。

    • 開発者ユーザー: 開発者または作業領域管理者としてこのユーザーを追加する場合は、「はい」を選択します。エンド・ユーザーの場合は、「いいえ」を選択します。

      開発者は、アプリケーションおよびデータベース・オブジェクトの作成および変更、開発者アクティビティ、セッション・ステート、作業領域アクティビティおよびスキーマ・レポートの表示が可能です。

    • 作業領域管理者ユーザー: 作業領域管理者としてこのユーザーを追加する場合は、「はい」を選択します。開発者またはエンド・ユーザーの場合は、「いいえ」を選択します。

      作業領域管理者は、開発者権限を持っていることに加え、ユーザー・アカウントの作成および編集、グループの管理、同じ作業領域内のユーザーのパスワードの変更および開発サービスの管理が可能です。

  8. 「アカウント制御」で、次の項目を指定します。

    • アカウントの可用性: ユーザーがこのアカウントにログインできるようにするには、「ロック解除済」を選択します。

    • 初回使用時にパスワードの変更が必要: ユーザーが現在の一時パスワードでログインした直後にパスワードを変更する必要がある場合は、「はい」を選択します。それ以外の場合は、「いいえ」を選択します。

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

3.3.12.3 作業領域へのログイン

作業領域を作成した後、ログイン資格証明(作業領域名、ユーザー名およびパスワード)を使用してログインします。


参照:

Oracle Application Express管理ガイドの「作業領域の作成」および「作業領域リクエストの管理」を参照してください。

作業領域にログインするには、次のステップを実行します。

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

    設定に埋込みPL/SQLゲートウェイを使用する場合は、次へ移動します。

    http://hostname:port/apex
    

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

    • hostnameは、Oracle XML DB HTTPサーバーがインストールされているシステムの名前です。

    • portは、Oracle XML DB HTTPサーバーに割り当てられているポート番号です。デフォルトのインストールの場合、この番号は8080です。

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

      以前のリリースからアップグレードしたユーザーや、カスタム構成があるユーザーの場合は、この値はhtmldbかその他の値にする必要があります。Oracle Application Express管理者にDADを確認します。

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

  2. 「ログイン」で、次の項目を入力します。

    • 「作業領域」フィールド: 作業領域の名前を入力します。

    • 「ユーザー名」フィールド: ユーザー名を入力します。

    • 「パスワード」フィールド: 大/小文字を区別したパスワードを入力します。

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

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

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.2.zipファイルをダウンロードします。次の場所で参照できます。

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

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

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

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

    • Windowsの場合: Windowsエクスプローラでapex_3.2.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 Databaseセキュリティ・ガイド』の「パスワード保護の構成」を参照してください。

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

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

  • APEX_030200: 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.2.1 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セキュリティ・ガイド』を参照してください。

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_1など)を示しておくことをお薦めします。

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

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

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

  • Oracle Database 11gで配布されたOracle HTTP Serverの場合: marvel.confまたはdads.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/Apache/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_download
     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パッケージを使用して、APEX_030200データベース・ユーザーにすべてのホストに対する接続権限を付与する必要があります。これらの権限を付与しないと、次の動作で問題が発生します。

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

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

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

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

  • オンライン・ヘルプのコンテンツ検索(検索リンクの使用)

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


ヒント:

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

3.4.6.1 接続権限の付与

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

DECLARE
  ACL_PATH  VARCHAR2(4000);
  ACL_ID    RAW(16);
BEGIN
  -- Look for the ACL currently assigned to '*' and give APEX_030200
  -- the "connect" privilege if APEX_030200 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, ensure 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 'APEX_030200'
  -- 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, 'APEX_030200', 
     'connect') IS NULL THEN 
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 
     'APEX_030200', 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_030200', 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 APEX_030200
  -- the "connect" privilege if APEX_030200 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, ensure 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 'APEX_030200'
  -- 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, 'APEX_030200', 
     'connect') IS NULL THEN 
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH, 
     'APEX_030200', 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',
    'APEX_030200', 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の修正後、このセクションの最初のスクリプトを実行してAPEX_030200ユーザーにACLを適用する必要があります。「接続権限の付与」を参照してください。

3.4.7 Oracle Database 11gリリース2以上でのオンライン・ヘルプの索引付けの有効化

Oracle Application Expressオンライン・ヘルプを検索する機能がOracle TextおよびURLデータ・ストアによって実現します。Oracle TextのURLデータ・ストアをDatabase 11gリリース2以上で使用する場合のデフォルトの動作と権限に変更があります。

Oracle Database 11gリリース2でOracle Application Expressのオンライン・ヘルプを検索しようとして、次のエラーが発生した場合、Oracle Text URLデータ・ストアを使用するための権限がデータベース・ユーザーAPEX_030200に付与されていません。

ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine 
ORA-20000: Oracle Text error: 
DRG-10758: index owner does not have the privilege to use file or URL data store

Oracle Application Expressでオンライン・ヘルプの索引付けを有効にするには、Oracle Text URLデータ・ストアを使用するための権限をAPEX_030200データベース・ユーザーに付与する必要があります。これを行うには、この特定の権限をデータベース・ロールに割り当ててから、そのロールをAPEX_030200データベース・ユーザーに付与します。

Oracle TextのURLデータ・ストアを使用するための権限がデータベース・ロールに付与されているかどうかを確認するには、次のステップを実行します。

  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 par_value FROM ctxsys.ctx_parameters WHERE par_name = 'FILE_ACCESS_ROLE';
    

    NULL、またはOracle TextのURLデータ・ストアを使用する権限が付与されているデータベース・ロールが戻されます。

  3. ステップ2で値が戻らなかった場合は、次の例に示すように新しいデータベース・ロールを作成します。

    CREATE ROLE APEX_URL_DATASTORE_ROLE;
    
  4. 次の文を使用して、このロールをデータベース・ユーザーAPEX_030200に付与します。

    GRANT APEX_URL_DATASTORE_ROLE to APEX_030200;
    

    ステップ2で値が戻った場合は、例のAPEX_URL_DATASTORE_ROLEのかわりに、そのデータベース・ロール名を使用します。

  5. 最後に、ステップ2で値が戻らなかった場合は、Oracle Text APIで次の文を使用して、新しく作成されたデータベース・ロールに権限を付与します。

    EXEC ctxsys.ctx_adm.set_parameter('file_access_role', 'APEX_URL_DATASTORE_ROLE');
    

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

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

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

3.4.9 他の言語での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.9.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 = APEX_030200;
    
  4. 該当する言語固有のスクリプトを実行します。次に例を示します。

    @load_lang.sql
    

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

3.4.10 JOB_QUEUE_PROCESSESの管理について

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

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

3.4.10.1 JOB_QUEUE_PROCESSESの数の表示

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

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

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

  • SQL*Plus

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

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

3.4.10.1.2 Oracle Application ExpressでのJOB_QUEUE_PROCESSESの表示

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

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

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

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

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

3.4.10.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.10.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.11 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.11.1 パスワードの難読化

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

3.4.12 作業領域の作成およびOracle Application Expressユーザーの追加

Webブラウザを使用して作業領域にログインし、Oracle Application Expressのホームページにアクセスします。使用するWebブラウザでJavaScript、HTML 4.0およびCSS 1.0規格がサポートされている必要があります。「ブラウザの要件」を参照してください。

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

Oracle Application Express管理者は、Oracle Application Express管理サービス内に作業領域を手動で作成するか、ユーザーにリクエストを送信してもらうことができます。Oracle Application Express管理サービスは、Oracle Application Expressインスタンス全体を管理するための独立したアプリケーションです。詳細は、『Oracle Application Express管理ガイド』の「作業領域の作成」および「作業領域リクエストの管理」を参照してください。


参照:

Oracle Application Expressを初めて使用する場合は、『Oracle Database Application Express 2日で開発者ガイド』を参照してください。

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

3.4.12.1 作業領域の手動作成

Oracle Application Express作業領域を手動で作成するには、次のステップを実行します。

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

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

      設定でApacheおよびmod_plsqlを使用する場合は、次のURLに移動します。

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

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

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

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

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

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

    2. 「ログイン」ページで、次の操作を行います。

      • 「ユーザー名」に、adminと入力します。

      • 「パスワード」に、Oracle Application Expressのインストール時に指定したOracle Application Express管理者アカウントのパスワードを入力します。

      • 「ログイン」をクリックします。


    参照:

    詳細は、『Oracle Application Express管理ガイド』の「Oracle Application Express管理サービスへのログイン」を参照してください。

    次に、作業領域を作成します。

  2. 「作業領域の管理」をクリックします。

  3. 「作業領域の管理」で、「作業領域の作成」をクリックします。

    「作業領域の作成」ウィザードが表示されます。

  4. 「作業領域の指定」に、作業領域の名前と説明を入力して、「次へ」をクリックします。

  5. 「スキーマの指定」で、Oracle Formsアプリケーションのスキーマを選択します。

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

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

    3. 「次へ」をクリックします。

  6. 「管理者の指定」に、作業領域管理者の情報を入力して、「次へ」をクリックします。

  7. 選択した内容を確認し、「作成」をクリックします。

3.4.12.2 Oracle Application Expressユーザーの作成

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

  1. 前述のセクションで説明したように、Oracle Application Express管理サービスにログインします。詳細は、『Oracle Application Express管理ガイド』の「Oracle Application Express管理サービスへのログイン」を参照してください。

  2. 「作業領域の管理」をクリックします。

  3. 「作業領域の管理」で、「開発者とユーザーの管理」をクリックします。

    「開発者とユーザーの管理」ページが表示されます。

  4. 「作成」をクリックします。

    「ユーザーの作成/編集」ページが表示されます。

  5. 「ユーザー属性」で、適切な情報を入力します。アスタリスクが付いたフィールドは必須です。


    ヒント:

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

  6. 「パスワード」に、このアカウントの大/小文字を区別したパスワードを入力します。

    組織でパスワード・ポリシーを設定している場合は、パスワードが要件を満たすことを確認してください。

  7. 「開発者権限」で、適切な権限を選択します。

    • 開発者ユーザー: 開発者または作業領域管理者としてこのユーザーを追加する場合は、「はい」を選択します。エンド・ユーザーの場合は、「いいえ」を選択します。

      開発者は、アプリケーションおよびデータベース・オブジェクトの作成および変更、開発者アクティビティ、セッション・ステート、作業領域アクティビティおよびスキーマ・レポートの表示が可能です。

    • 作業領域管理者ユーザー: 作業領域管理者としてこのユーザーを追加する場合は、「はい」を選択します。開発者またはエンド・ユーザーの場合は、「いいえ」を選択します。

      作業領域管理者は、開発者権限を持っていることに加え、ユーザー・アカウントの作成および編集、グループの管理、同じ作業領域内のユーザーのパスワードの変更および開発サービスの管理が可能です。

  8. 「アカウント制御」で、次の項目を指定します。

    • アカウントの可用性: ユーザーがこのアカウントにログインできるようにするには、「ロック解除済」を選択します。

    • 初回使用時にパスワードの変更が必要: ユーザーが現在の一時パスワードでログインした直後にパスワードを変更する必要がある場合は、「はい」を選択します。それ以外の場合は、「いいえ」を選択します。

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

3.4.12.3 作業領域へのログイン

作業領域を作成した後、ログイン資格証明(作業領域名、ユーザー名およびパスワード)を使用してログインします。


参照:

Oracle Application Express管理ガイドの「作業領域の作成」および「作業領域リクエストの管理」を参照してください。

作業領域にログインするには、次のステップを実行します。

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

    設定に埋込みPL/SQLゲートウェイを使用する場合は、次へ移動します。

    http://hostname:port/apex
    

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

    • hostnameは、Oracle XML DB HTTPサーバーがインストールされているシステムの名前です。

    • portは、Oracle XML DB HTTPサーバーに割り当てられているポート番号です。デフォルトのインストールの場合、この番号は8080です。

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

      以前のリリースからアップグレードしたユーザーや、カスタム構成があるユーザーの場合は、この値はhtmldbかその他の値にする必要があります。Oracle Application Express管理者にDADを確認します。

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

  2. 「ログイン」で、次の項目を入力します。

    • 「作業領域」フィールド: 作業領域の名前を入力します。

    • 「ユーザー名」フィールド: ユーザー名を入力します。

    • 「パスワード」フィールド: 大/小文字を区別したパスワードを入力します。

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

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

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

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

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

3.5.1 以前のOracle Application Expressインストールの削除

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

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

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

  1. SQL*Plusを起動し、Oracle Application Expressがインストールされているデータベースに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 username
       FROM dba_users 
     WHERE (username LIKE 'FLOWS_%' OR USERNAME LIKE 'APEX_%') 
       AND USERNAME NOT IN (
            SELECT 'FLOWS_FILES' 
              FROM DUAL 
             UNION 
            SELECT 'APEX_PUBLIC_USER' FROM DUAL 
             UNION
            SELECT SCHEMA s 
               FROM dba_registry
             WHERE comp_id = 'APEX');
    

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

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

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

  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 FLOWS_030000 CASCADE;
    

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

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

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

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

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

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


参照:

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

3.6.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
    

参照:

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