ヘッダーをスキップ
Oracle Real Application Clustersインストレーション・ガイド
11gリリース1(11.1)for Linux and UNIX Systems
E05832-04
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

5 Oracle Application Expressのインストール後の作業

ここでは、Oracle Real Application Clusters(Oracle RAC)ソフトウェアのインストールが終了した後、Oracle Application Expressの構成で実行する必要がある作業について説明します。

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

5.1 アップグレード後のApplication Expressプロセスの再起動

以前インストールしたOracle Application Expressが存在する場合、Oracle RACのインストールが完了した後で、リスナーなど、インストールを開始する前に停止したOracle Application Expressプロセスを再起動する必要があります。また、Oracle HTTP Serverを再起動します。

5.2 Oracle Application Express 3.0へのパッチの適用

Oracle Application Express 3.0をすでに実行している場合、次のURLにあるOracle Technology Network(OTN)の「Oracle Application Express」ページで、Oracle Application Expressのパッチ・セットのリリースまたは新しいバージョンについての情報を確認してください。

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

Oracle Database 11gにアップグレードしても、Application Express 3.0インスタンスにパッチが適用されてApplication Express 3.0.1にアップグレードされるわけではありません。

5.3 HTTPサーバーの選択

Oracle Application Expressは、埋込みPL/SQLゲートウェイにアクセスするか、またはOracle HTTP Serverとmod_plsqlにアクセスする必要があります。次に示す情報を参照して、HTTPサーバーを選択してください。

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

5.3.1 Oracle RAC環境でのHTTPサーバーの選択

Oracle HTTP Serverを使用すると、1つのHTTPサーバーがすべてのノードにアクセスできるように、サービス名形式で接続を指定できます。そのため、modplsqlとともにOracle HTTP Serverを使用することをお薦めします。この項では、このHTTPサーバーを構成する方法について説明します。

Oracle RACインストールでは、埋込みPL/SQLゲートウェイ・オプションを選択しないことをお薦めします。埋込みPL/SQLゲートウェイでは、データベース・インスタンスに組み込まれたHTTPサーバーが使用されるため、Oracle RACの共有アーキテクチャが利用されません。

HTTPサーバーとしてRACで埋込みPL/SQLゲートウェイを使用するには、各ノードで埋込みPL/SQLゲートウェイを構成したうえで、Oracle Application Expressのユーザーが、アクセスするノードをURLで指定する必要があります。ノードに障害があると、埋込みPL/SQLゲートウェイにも障害が発生し、サービスは動作可能なノードにフェイルオーバーされません。

5.3.2 Oracle HTTP Serverおよびmod_plsqlの概要

Oracle HTTP Serverでは、mod_plsqlプラグインを使用して、Oracle Database内のOracle Application Expressエンジンと通信が行われます。mod_plsqlは、Oracle Database内でWebサーバーとOracle Application Expressオブジェクトとの間の通信ブローカとして機能します。具体的には、mod_plsqlは、SQL*Net接続を介して、ブラウザの要求をデータベースのストアド・プロシージャ・コールにマップします。

この構成は、Webブラウザ、Oracle HTTP Server(ohs)とmod_plsql、およびOracle Application Expressが含まれるOracle Databaseという3層アーキテクチャからなります。

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

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

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

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

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

ファイル・システムのimagesディレクトリのパスを調べるには、既存のリリースに応じて、次のいずれかのファイル内でテキストalias /i/を確認します。

  • Oracle9i HTTP Serverリリース2: httpd.confファイルを確認します。

  • Oracle HTTP Server 11g: dads.confファイルを確認します。

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

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

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

  • 既存のOracle Application Server 10g:

    cp -rf ORACLE_BASE/ORACLE_HOME/apex/images\
    ORACLE_BASE/ORACLE_HTTPSERVER_HOME/Apache
    
  • 既存のOracle HTTP Server 11g:

    cp -rf ORACLE_BASE/ORACLE_HOME/apex/images\
    ORACLE_BASE/ORACLE_HTTPSERVER_HOME/ohs
    

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

  • ORACLE_BASEは、Oracleホーム・ディレクトリがインストールされるOracleソフトウェアのベース・ディレクトリです(u01/app/oracleなど)。

  • ORACLE_HTTPSERVER_HOMEは、既存のOracle Application ServerまたはOracle HTTP ServerのOracleホームです。

  • ORACLE_HOMEは、Oracle Database 11gのOracleホームです。

次に例を示します。

cp -rf u01/app/oracle/10_2/db_1/apex/images \
u01/app/oracle/OAS_11_0/ohs

5.4.2 新しいインストール後のimagesディレクトリのコピー

インストールの実行後、次のようなコマンドを使用して、ディレクトリapex/imagesをコピーします。

cp -rf ORACLE_BASE/ORACLE_HOME/apex/images\
ORACLE_BASE/ORACLE_HTTPSERVER_HOME/ohs

5.5 新しいインストールでのOracle HTTP Serverの構成

この項では、新しいインストールで様々なバージョンのOracle HTTP Serverとmod_plsqlを構成する方法について説明します。

内容は次のとおりです。

5.5.1 Oracle HTTP Serverのセキュリティに関する考慮事項

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

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

5.5.2 新しいインストールでのOracle HTTP Serverリリース9.0.3の構成

Oracle HTTP Serverリリース9.0.3では、ファイルwdbsvr.appに、Oracle Application Expressにアクセスするためのデータベース・アクセス記述子(DAD)についての情報が含まれています。DADは、Oracle HTTP ServerコンポーネントmodplsqlがHTTP要求を処理するためにデータベース・サーバーに接続する方法を指定する値の集合です。

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

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

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

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

    $ sqlplus sys/SYS_password as sysdba
    
  3. 次のコマンドの後に新しいパスワードを続けて入力します。

    @apxxepwd.sql password
    

    たとえば、パスワードをapex1234に変更するには、次のコマンドを入力します。

    @apxxepwd.sql password apex1234
    

5.5.2.2 APEX_PUBLIC_USERデータベース・ユーザーのパスワードの変更

DADファイルにパスワードを指定してデータベース・ユーザーAPEX_PUBLIC_USERのパスワードを変更するには、次の手順を実行します。

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

    $ sqlplus sys/SYS_password as sysdba
    
  2. 次のSQL文を入力します。PASSWORDは新しいパスワードです。

    ALTER USER APEX_PUBLIC_USER IDENTIFIED BY PASSWORD
    

5.5.2.3 新しいインストールでのwdbsvr.appファイルの変更

DADを作成するには、ファイルwdbsvr.appを変更して、Oracle Application Expressのエントリを追加します。

wdbsvr.appファイルを変更するには、次の手順を実行します。

  1. テキスト・エディタを使用して、パスORACLE_BASE/ORACLE_HTTPSERVER_HOME/modplsql/cfg/のファイルwdbsvr.appを開きます。

  2. 次の構文を使用して、Oracle Application Expressのエントリを追加します。イタリック体で示す設定のみを変更します。

    [DAD_htmldb]
    connect_string = localhost:1521:orcl
    password = apex
    username = apex_public_user
    default_page = apex
    document_table = wwv_flow_file_objects$
    document_path = docs
    document_proc = wwv_flow_file_mgr.process_download
    reuse = Yes
    enablesso = No
    stateful = STATELESS_RESET
    nls_lang = American_America.AL32UTF8
    

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

    • connect_stringは、ホストID、ポート番号、およびOracle Application ExpressがインストールされたOracle9iデータベースを表します。host:port:sidという形式を使用します。

      Oracle9iバージョンのOracle HTTP Serverを使用し、これがOracle Application Expressで使用するように指定したデータベースと同じOracleホームにインストールされている場合、このパラメータは空白のままにします。

    • passwordは、「APEX_PUBLIC_USERデータベース・ユーザーのパスワードの変更」で指定したOracle Application ExpressのADMINアカウントのパスワードです。

    • nls_langは、DADの言語設定を決定します。nls_lang値のキャラクタ・セット部分は、データベース・キャラクタ・セットがAL32UTF8であるかどうかにかかわらず、常にAL32UTF8に設定する必要があります。

      NLS設定の地域または言語のいずれかの部分に空白が含まれる場合、次の例に示すとおり、値を二重引用符で囲む必要があります。

      nls_lang = "ENGLISH_UNITED KINGDOM.AL32UTF8"
      

      次の例に示すとおり、ビューNLS_DATABASE_PARAMETERSを問い合せることで、データベースのNLS設定に関する情報を参照できます。

      SELECT parameter,value
      FROM nls_database_parameters
      WHERE PARAMETER = 'NLS_CHARACTERSET';
      
  3. ユーザー名の設定など、他の設定は、前述の例に示す値のままにします。

  4. wdbsvr.appファイルを保存して閉じます。

5.5.2.4 Oracle9iのhttpd.confファイルの変更

httpd.confファイルを変更して、images ディレクトリをコピーしたファイル・システム・パスを指すエイリアスをファイルに含める必要があります。また、SQL Workshopをサポートするために、httpd.confファイルを変更して、2つの新しいMIMEタイプを追加する必要がある場合があります。

httpd.confファイルを変更するには、次の手順を実行します。

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

    ORACLE_BASE/Apache/Apache/conf/httpd.conf
    
  2. imagesディレクトリをコピーしたファイル・システム・パスを指すエイリアスのエントリを追加します。次に例を示します。

    alias /i/ "/home/oracle/OraHome1/Apache/Apache/images/"
    
  3. 次の行がhttpd.confファイルに存在しない場合は、追加します。

    AddType text/xml xbl
    AddType text/x-component htc
    

    Oracle HTML DB 2.0からアップグレードしている場合、これらのMIMEタイプはファイル内ですでに定義済です。

  4. httpd.confファイルを保存して閉じます。

  5. 変更したDAD設定を使用してOracle HTTP Serverを再起動します。

    Oracle HTTP Serverを停止して再起動するには、次の構文を使用してコマンドを入力します。ORACLE_BASEはOracleベース・ディレクトリのパスです。

    ORACLE_BASE/Apache/Apache/bin/apachectl stop
    ORACLE_BASE/Apache/Apache/bin/apachectl start
    

    注意:

    Oracle HTTP Serverがポート1024以下でリスニングするように設定されている場合、rootなど、権限を付与されたユーザーで停止および起動コマンドを実行する必要があります。


    参照:

    『Oracle HTTP Server管理者ガイド』

5.5.3 新しいインストールでのOracle HTTP ServerまたはOracle Application Serverの構成

Oracle Application Expressは、Oracle HTTP Serverとmod_plsqlにアクセス可能である必要があります。 次のいずれかの条件に該当する場合は、この項に示すインストール後の手順を実行します。

  • Oracle HTTP Server 11gまたはOracle Application Server 10gを実行している。

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

  • Oracle Application Expressと動作するようにOracle HTTP Serverを構成していない。

Oracle HTTP Serverリリース9.0.3を実行している場合、この項の指示は適用されません。Oracle HTTP Serverリリース9.0.3の構成の詳細は、「新しいインストールでのOracle HTTP Serverの構成」を参照してください。

この項の指示が適用される場合は、次の手順を実行します。


注意:

この項の説明では、Apacheホーム・ディレクトリ(ORACLE_HTTPSERVER_HOME)は、Oracle HTTP Serverがインストールされている場所です。

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

Oracle Application ExpressのADMINアカウントのパスワードを変更する必要があります。

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

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

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

    $ sqlplus sys/SYS_password as sysdba
    
  3. 次の構文を使用して、新しいパスワードを入力します。

    > @apxxepwd.sql password
    

    たとえば、パスワードをapex1234に変更するには、次のコマンドを入力します。

    > @apxxepwd.sql apex1234
    

5.5.3.2 APEX_PUBLIC_USERデータベース・ユーザーのロック解除

新しいインストールにOracle Application ExpressのOracle HTTP Serverを構成する際は、データベース・ユーザーAPEX_PUBLIC_USERアカウントをロック解除しておく必要があります。データベース・ユーザーAPEX_PUBLIC_USERのアカウントをロック解除するするには、次の手順を実行します。

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

    $ $ORACLE_HOME/bin/sqlplus
    SQL> CONNECT SYS as SYSDBA
    Enter password: SYS_password
    
  2. 次のコマンドを実行します。

    SQL> ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK
    

5.5.3.3 APEX_PUBLIC_USERデータベース・ユーザーのパスワードの変更

DADファイルにパスワードを指定してデータベース・ユーザーAPEX_PUBLIC_USERのパスワードを変更するには、次の手順を実行します。

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

    $ sqlplus sys/SYS_password as sysdba
    
  2. 次のSQL文を入力します。PASSWORDは新しいパスワードです。

    ALTER USER APEX_PUBLIC_USER IDENTIFIED BY PASSWORD
    

5.5.3.4 dads.confファイルの編集

Oracle Application Expressを新しくインストールする場合、dads.confファイルを編集する必要があります。

dads.confファイルを編集するには、次の手順を実行します。

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

    • Oracle Application Server 10g:

      ORACLE_HTTPSERVER_HOME/Apache/modplsql/conf/dads.conf
      

      次に例を示します。

      $ vi /u01/product/oas/Apache/modplsql/conf/dads.conf
      
      
    • Oracle HTTP Server 11g:

      ORACLE_HTTPSERVER_HOME/ohs/modplsql/conf/dads.conf
      

      次に例を示します。

      $ vi /u01/product/oas/ohs/modplsql/conf/dads.conf
      
  2. 次のコード・テキストをdads.confファイルにコピーします。

    テキスト内の変数$ORACLE_HOMEhostportservice_nameおよびapex_public_user_passwordには、ご使用のシステムに応じた適切な値を指定します。apex_public_user_passwordは、「APEX_PUBLIC_USERデータベース・ユーザーのパスワードの変更」で定義したパスワードです。

    Alias /i/ "ORACLE_BASE/ORACLE_HTTPSERVER_HOME/ohs/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
     Allow from all
    </Location>
    
  3. PlsqlNLSLanguageが含まれる行を確認します。

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

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

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

Oracle HTTP Serverを停止して再起動するには、次のコマンドを実行します。

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

5.5.5 他の言語でのOracle Application Expressのインストール

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

Oracle Application Expressの翻訳バージョンは、その特定の言語をサポートできるキャラクタ・セットが存在するデータベースにロードする必要があります。Oracle Application Expressの翻訳バージョンを、その言語の文字コードがサポートされていないデータベースにインストールしようとすると、インストールが失敗するか、または翻訳されたOracle Application Expressインスタンスを実行したときに適切に表示されない場合があります。データベース・キャラクタ・セットAL32UTF8は、Oracle Application Expressのすべての翻訳バージョンをサポートしています。

SQL*Plusを使用して、Oracle Application Expressの翻訳バージョンを手動でインストールできます。インストール・ファイルは、AL32UTF8でエンコードされています。


注意:

ターゲット・データベースのキャラクタ・セットに関係なく、Oracle Application Expressの翻訳バージョンをインストールするには、SQL*Plusの起動前に環境変数NLS_LANGのキャラクタ・セット値をAL32UTF8に設定する必要があります。

次に、Oracle Application Expressの翻訳バージョンをロードするための有効なNLS_LANG設定の例を示します。

American_America.AL32UTF8
Japanese_Japan.AL32UTF8

5.5.6 Oracle Application Expressの翻訳バージョンのインストール

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

Oracle Application Expressの翻訳バージョンをインストールするには、次の手順を実行します。

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

    BourneまたはKornシェル

    $ NLS_LANG=American_America.AL32UTF8$ export NLS_LANG
    

    Cシェル

    % setenv NLS_LANG American_America.AL32UTF8
    
  2. SQL*Plusを起動して、ターゲット・データベースにSYSユーザーで接続します。

  3. 次の文を実行します。

    > ALTER SESSION SET CURRENT_SCHEMA = FLOWS_03000;
    
  4. 言語固有の適切なスクリプトを実行します。次に例を示します。

    > @load_de.sql
    

    インストール・スクリプトは、解凍されたディストリビューション$ORACLE_HOME/apex/builderの言語コードによって識別されるサブディレクトリに格納されています。たとえば、ドイツ語バージョンは$ORACLE_HOME/apex/builder/de、日本語バージョンは$ORACLE_HOME/apex/builder/jaに格納されています。これらの各ディレクトリには、言語コードによって識別される言語ロード・スクリプトが含まれています(load_de.sqlload_ja.sqlなど)。

5.5.7 JOB_QUEUE_PROCESSESの管理

JOB_QUEUE_PROCESSESは、同時実行ジョブの最大数を決定します。Oracle Application Expressリリース3.0では、トランザクション・サポートおよびSQLスクリプトでジョブが必要です。JOB_QUEUE_PROCESSESが有効化されて適切に機能していないと、スクリプトを正常に実行できません。

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

5.5.7.1 JOB_QUEUE_PROCESSESの数の参照

次のいずれかの方法を使用してJOB_QUEUE_PROCESSESの数を参照できます。

5.5.7.1.1 インストール・ログ・ファイルでのJOB_QUEUE_PROCESSESの参照

Oracle Application Expressリリース3.0をインストールするか、またはOracle Application Expressリリース3.0にアップグレードした後、インストール・ログ・ファイルでJOB_QUEUE_PROCESSESの数を参照できます。

5.5.7.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の現在の数が表示されます。

5.5.7.1.3 SQL*PlusからのJOB_QUEUE_PROCESSESの参照

SQL*Plusで次のSQL文を実行すると、JOB_QUEUE_PROCESSESの数を参照できます。

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

5.5.7.2 JOB_QUEUE_PROCESSESの数の変更

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

  1. SQL*Plusを使用して、SYSDBAでデータベースにログインします。

  2. SQL*Plusで次のSQL文を実行します。ここで、変数numberは、設定するプロセス数を表します。

    > ALTER SYSTEM SET JOB_QUEUE_PROCESSES = number
    

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

5.5.8 PlsqlDatabasePasswordパラメータの不明瞭化

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

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

ORACLE_HTTPSERVER_HOME/ohs/modplsql/conf

5.5.8.1 パスワードの不明瞭化

パスワードを不明瞭化するには、dadTool.READMEファイルの指示に従ってdadTool.plを実行します。

5.5.9 Oracle Application Expressへのログイン

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

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

5.5.9.1 Oracle Application Expressユーザーのロール

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

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

  • 開発者: アプリケーションを作成および編集するユーザーです。開発者は、自分の作業領域を持つか、作業領域を共有できます。

  • エンド・ユーザー: 開発権限を持っていないユーザーです。エンド・ユーザーとして定義されたユーザーは、外部認証スキームを使用しないアプリケーションにアクセスできます。

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

5.5.9.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 2日でApplication Express開発者ガイド』または『Oracle Database Application Expressユーザーズ・ガイド』のクイック・スタートに関する項を参照してください。

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

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

5.6.1 接続権限の付与

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


注意:

次の例を実行するには、データベースのCOMPATIBLE初期化パラメータを11.1.0.0.0以上に設定しておく必要があります。このパラメータは、Oracle 11g Databaseでは、あらかじめデフォルトで設定されています。ただし、以前のバージョンからOracle 11g Databaseにアップグレードしている場合は、このパラメータを設定する必要があります。


参照:

COMPATIBLE初期化パラメータの変更については、『Oracle Database管理者ガイド』のOracle Databaseの作成および構成に関する項を参照してください。

  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_03000'
  -- 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_03000',
     'connect') IS NULL THEN
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
     'FLOWS_03000', 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_03000', TRUE, 'connect');
  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*');
END;
/
COMMIT;

5.7 無効な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を特定したら、次のスクリプトを実行して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が修正されたら、この項の最初のスクリプトを実行して、ACLをFLOWS_03000ユーザーに適用します。「接続権限の付与」を参照してください。