Oracle9i リリース2(9.2)で配布されたOracle HTTP Serverでは、Oracle Application ExpressにアクセスするためのDAD情報はwdbsvr.appファイルに含まれています。DADは、Oracle HTTP ServerコンポーネントmodplsqlがHTTPのリクエストに応じるためにデータベース・サーバーに接続する方法を指定する一連の値です。
この付録の内容は次のとおりです。
Oracle Application Expressをインストールする前に、次のステップを実行することをお薦めします。
Oracle Application Expressのすべてのインストール要件を確認して満たします。「Oracle Application Expressのインストール要件」を参照してください。
既存のすべてのOracle DatabaseインスタンスおよびOracle関連のプロセスを停止します。
通常の順、または優先度の高い順に、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サービスも停止します。サービスの名前を右クリックし、メニューから「停止」を選択します。
Oracle Databaseインストールをバックアップします。
Oracle Application Expressをインストールする前に、現行のOracle Databaseインストールのバックアップを作成することをお薦めします。バックアップには、Oracle Database Recovery Manager(Oracle Databaseインストールに含まれる)を使用できます。
|
参照: 『Oracle Databaseバックアップおよびリカバリ・アドバンスト・ユーザーズ・ガイド』 |
ターゲット・データベースが含まれるOracle Databaseインスタンスを起動します。
システムをバックアップした後で、ターゲットのOracle Databaseが含まれるOracleインスタンスを起動する必要があります。リスナー、Oracle HTTP Serverなど、他のプロセスは開始しないでください。ただし、リモート・インストールを実行している場合は、リモート・データベースのデータベース・リスナーが起動されていることを確認します。
このセクションでは、Oracle Technology Network(OTN)からZIPファイルをダウンロードし、Oracle9i リリース2で配布されたOracle HTTP Serverを構成して、Oracle Application Expressをインストールする方法について説明します。
このセクションの内容は次のとおりです。
Oracle Application Expressでは、リリース9.2.0.3以上のOracle Databaseが必要です。詳細は、ご使用のオペレーティング環境向けの『Oracle Databaseインストレーション・ガイド』および「インストール前の推奨タスク」を参照してください。
Oracle Application Expressをインストールするには、次のステップを実行します。
Oracle Application Expressのダウンロード・ページから、apex_3.2.zipファイルをダウンロードします。次の場所で参照できます。
http://www.oracle.com/technetwork/developer-tools/apex/overview/index.html
ご使用のリリースがこのマニュアルの発行時点より新しい場合、実際のファイル名が異なる場合があります。
次のとおり、ディレクトリ名を変更せずにapex_3.2.zipを解凍します。
UNIXおよびLinuxの場合: apex_3.2.zipを解凍します。
Windowsの場合: Windowsエクスプローラでapex_3.2.zipファイルをダブルクリックします。
作業ディレクトリをapexに変更します。
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
デフォルト・プロファイルに対して既存のすべてのパスワード複雑性ルールを有効にします。詳細は、『Oracle Databaseセキュリティ・ガイド』の「パスワード保護の構成」を参照してください。
完全開発環境ではアプリケーションを開発するため、アプリケーション・ビルダー環境へのすべてのアクセス権があります。ランタイム環境ではアプリケーションは変更できず、実行することができます。詳細は、「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は、ファイル・システム上の書込み可能なディレクトリからインストールする必要があります。「インストール・セッションのログの確認」を参照してください。 |
Oracle Application Expressを新しくインストールした場合またはランタイム環境を開発環境に変換した場合は、内部ADMINアカウントのパスワードを変更する必要があります。アップグレードの場合、パスワードは保存され、前のリリースから継承されます。
ADMINアカウントのパスワードを変更するには、次のステップを実行します。
作業ディレクトリを、インストール・ソフトウェアを解凍したapexディレクトリに変更します。
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
@apxchpwd
ADMINアカウントのパスワードの入力を求められたら入力します。
|
参照: SQL*Plusの詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。 |
Oracle Application Expressをインストールした後で、インストールの開始前に停止したプロセス(リスナーなど)を再起動する必要があります。また、Oracle HTTP Serverも再起動します。
このセクションでは、Oracle9i リリース2で配布されたOracle HTTP Serverおよびmod_plsqlを構成する方法について説明します。
このセクションの内容は次のとおりです。
APEX_PUBLIC_USERアカウントは、新しいOracle Application Expressのインストールの終了時にロックされます。新しいインストール環境でデータベース・アクセス記述子(DAD)を構成するには、まず、このアカウントをロック解除する必要があります。
APEX_PUBLIC_USERアカウントをロック解除するには、次のステップを実行します。
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
次の文を実行します。
ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK
APEX_PUBLIC_USERアカウントは、新しいOracle Application Expressのインストール時にランダムなパスワードとともに作成されます。新しいインストール環境でデータベース・アクセス記述子(DAD)を構成するには、まず、このアカウントのパスワードを変更する必要があります。
APEX_PUBLIC_USERアカウントのパスワードを変更するには、次のステップを実行します。
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
次の文を実行します。
ALTER USER APEX_PUBLIC_USER IDENTIFIED BY new_password
new_passwordは、APEX_PUBLIC_USERに設定する新しいパスワードです。後続のセクションでDADを作成する場合に、このパスワードを使用します。
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セキュリティ・ガイド』を参照してください。 |
新規インストールをロードしているか、以前のリリースをアップグレードしているかにかかわらず、トップ・レベルのapex\imagesディレクトリからOracle HTTP Server用のOracleホームを含むファイル・システム上の場所に、imagesディレクトリをコピーする必要があります。
このセクションの内容は次のとおりです。
アップグレード中に、既存のimagesディレクトリを上書きする必要があります。以前のバージョンに戻すことができるように、アップグレードの開始前に、Oracle Application Express用の既存のimagesディレクトリのコピーを作成して、imagesのリリース番号(images_3_1など)を示しておくことをお薦めします。
ファイル・システム上でimagesディレクトリを特定するには、httpd.confファイルでテキスト別名/i/を確認します。
imagesディレクトリのパスを特定したら、既存のimagesディレクトリをバックアップの場所にコピーします。これによって、必要に応じて、以前のリリースに戻すことができます。
既存のimagesディレクトリをコピーした後、次のコマンド構文を使用してOracle Databaseホームから既存のimagesディレクトリのパスにapex\imagesディレクトリをコピーし、既存のimagesを上書きします。
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_HOMEは、Oracle DatabaseのOracleホームを示しています。
ORACLE_HTTPSERVER_HOMEはOracle HTTP Serverの既存のOracleホームです。
インストール後、ディレクトリapex/imagesをコピーします。
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_HOMEは、Oracle DatabaseのOracleホームを示しています。
ORACLE_HTTPSERVER_HOMEはOracle HTTP Serverの既存のOracleホームです。
DADを作成するには、wdbsvr.appファイルを変更し、Oracle Application Express用のエントリを1つ追加します。
wdbsvr.appファイルを変更するには、次のステップを実行します。
テキスト・エディタを使用して、wdbsvr.appファイルを開きます。
Windowsの場合:
ORACLE_HTTPSERVER_HOME\Apache\modplsql\cfg\wdbsvr.app
UNIXおよびLinuxの場合:
ORACLE_HTTPSERVER_HOME/Apache/modplsql/cfg/wdbsvr.app
次の構文を使用して、Oracle Application Express用のエントリを1つ追加します。イタリック体の設定項目のみを変更します。
[DAD_apex] 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 データベースを示します。ホスト:ポート:SIDの書式を使用します。
使用するOracle9i バージョンのOracle HTTP Serverが、Oracle Application Expressとの併用に指定したデータベースと同じOracleホームにインストールされている場合、このパラメータを空白のままにします。
passwordは、APEX_PUBLIC_USERの変更したパスワードです。詳細は、「APEX_PUBLIC_USERアカウントのパスワードの変更」を参照してください。
nls_lang設定で、DADの言語設定を判断します。データベース・キャラクタ・セットがAL32UTF8であるかどうかにかかわらず、nls_lang値のキャラクタ・セット部分は、AL32UTF8に設定されている必要があります。
NLS設定の地域部分または言語部分のいずれかに空白が含まれている場合、次のように二重引用符で値を囲む必要があります。
nls_lang = "ENGLISH_UNITED KINGDOM.AL32UTF8"
データベースのNLS設定の情報を確認するには、次のようにNLS_DATABASE_PARAMETERSビューを問い合せます。
SELECT parameter,value
FROM nls_database_parameters
WHERE PARAMETER IN ('NLS_CHARACTERSET','NLS_LANGUAGE','NLS_TERRITORY');
ユーザー名などの他の設定は、前述の例のままにします。
変更を保存して、wdbsvr.appファイルを閉じます。
imagesディレクトリをコピーしたファイル・システム・パスを指す別名が含まれるように、httpd.confファイルを変更する必要があります。また、SQLワークショップをサポートするために2つの新しいMIMEタイプを追加するには、httpd.confファイルを変更する必要があります。
httpd.confファイルを変更するには、次のステップを実行します。
テキスト・エディタを使用して、httpd.confファイルを開きます。
Windowsの場合:
ORACLE_HTTPSERVER_HOME\Apache\Apache\conf\httpd.conf
UNIXおよびLinuxの場合:
ORACLE_HTTPSERVER_HOME/Apache/Apache/conf/httpd.conf
imagesディレクトリをコピーしたファイル・システム・パスを指す別名エントリを追加します。
Windowsの場合は、次のようになります。
Alias /i/ "C:\oracle\ora92\Apache\Apache\images/"
UNIXおよびLinuxの場合は、次のようになります。
Alias /i/ "/home/oracle/OraHome1/Apache/Apache/images/"
前述の例では、apexins.sqlスクリプトの実行時に、imagesディレクトリの別名を/i/と指定したと想定していることに注意してください。
パスの末尾にスラッシュ(/)を含める必要があることに注意してください。
次に、SQLワークショップをサポートする次の2つの行が存在しない場合は、これを追加します。
AddType text/xml xbl AddType text/x-component htc
Oracle HTML DB 2.0以降からのアップグレードの場合、これらのMIMEタイプがすでに存在している必要があります。
変更を保存して、httpd.confファイルを閉じます。
Oracle HTTP Serverを停止して再起動します。
WindowsでOracle HTTP Serverを停止および再起動するには、次のようにします。
「スタート」メニュー→「プログラム」→「Oracle - OraHome」→「Oracle」→「Oracle HTTP Server」→「Oracle HTTP Serverの停止」を選択して、Oracle HTTP Serverを停止します。
「スタート」メニュー→「プログラム」→「Oracle - OraHome」→「Oracle」→「Oracle HTTP Server」→「Oracle HTTP Serverの起動」を選択して、Oracle HTTP Serverを再起動します。
UNIXおよびLinuxでは、次のコマンドを実行します。
ORACLE_HTTPSERVER_HOME/Apache/Apache/bin/apachectl stop ORACLE_HTTPSERVER_HOME/Apache/Apache/bin/apachectl start
Oracle HTTP Serverが1024未満の番号のポートでリスニングしている場合は、これらのコマンドを権限が付与されたユーザー(rootなど)として実行する必要があることに注意してください。
|
参照: Oracle HTTP Server管理者ガイド |
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の作成および構成」を参照してください。 |
次の例は、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;
前述のスクリプトを実行した後に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を適用する必要があります。「接続権限の付与」を参照してください。
HTTPリクエストで、パスワードやその他の機密データがクリア・テキストで送信されることのないように、Secure Sockets Layer(SSL)を構成して使用することをお薦めします。SSLを使用しないと、パスワードが公開され、セキュリティが損なわれる可能性があります。
SSLは、業界標準のプロトコルです。RSA公開鍵暗号化と対称鍵暗号化を組み合せて使用することにより、認証、暗号化およびデータの整合性が提供されます。
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
初めてインストールを行う場合も以前のリリースからアップグレードする場合も、言語変換されたバージョンのOracle Application Expressを実行するには、load_lang.sqlスクリプトを実行する必要があります。
インストール・スクリプトは、配布を解凍したapex/builderのサブディレクトリに格納されます。これらのサブディレクトリは、言語コードで識別されます。たとえば、ドイツ語バージョンはapex/builder/de、日本語バージョンはapex/builder/jaに格納されます。各ディレクトリには、言語コード(たとえば、load_de.sqlやload_ja.sql)で識別される、言語固有のロード・スクリプトが格納されます。
言語変換されたバージョンのOracle Application Expressをインストールするには、次のステップを実行します。
環境変数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
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
次の文を実行します。
ALTER SESSION SET CURRENT_SCHEMA = APEX_030200;
該当する言語固有のスクリプトを実行します。次に例を示します。
@load_lang.sql
langは特定の言語です。たとえば、ドイツ語の場合はload_de.sql、日本語の場合はload_ja.sqlとなります。
JOB_QUEUE_PROCESSESには、同時に実行するジョブの最大数を指定します。Oracle Application Expressリリース3.2では、トランザクションのサポートおよびSQLスクリプトでジョブが必要です。JOB_QUEUE_PROCESSESが有効でなく、正常に動作していない場合、スクリプトを正常に実行することはできません。
このセクションの内容は次のとおりです。
JOB_QUEUE_PROCESSESの数を表示するには、3つの方法があります。
インストール・ログ・ファイル
Oracle Application Expressの「Application Expressのバージョン情報」ページ
SQL*Plus
Oracle Application Expressリリース3.2をインストールした後、またはOracle Application Expressをリリース3.2にアップグレードした後、JOB_QUEUE_PROCESSESの数をインストール・ログ・ファイルに表示できます。「インストール・セッションのログの確認」を参照してください。
「Application Expressのバージョン情報」ページにJOB_QUEUE_PROCESSESの数を表示することもできます。
「Application Expressのバージョン情報」ページを表示するには、次のステップを実行します。
Oracle Application Expressにログインします。詳細は、「Oracle Application Express作業領域へのログイン」を参照してください。
「管理」リストで、「Application Expressのバージョン情報」をクリックします。
ページの下部に、現在のJOB_QUEUE_PROCESSESの数が表示されます。
SQL*Plusで次のSQL文を実行して、JOB_QUEUE_PROCESSESの数を変更できます。
JOB_QUEUE_PROCESSESの数を更新するには、次のステップを実行します。
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
SQL*Plusで次のSQL文を実行します。
ALTER SYSTEM SET JOB_QUEUE_PROCESSES = <number>
たとえば、ALTER SYSTEM SET JOB_QUEUE_PROCESSES = 20を実行すると、JOB_QUEUE_PROCESSESは20に設定されます。
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
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日で開発者ガイド』を参照してください。 |
このセクションの内容は次のとおりです。
Oracle Application Express作業領域を手動で作成するには、次のステップを実行します。
Oracle Application Express管理サービスにログインします。Oracle Application Express管理サービスは、Oracle Application Expressインスタンス全体を管理するための独立したアプリケーションです。ログインするには、インストール・プロセス中に作成または再設定したADMINアカウントおよびパスワードを使用します。
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)です。
「ログイン」ページで、次の操作を行います。
「ユーザー名」に、adminと入力します。
「パスワード」に、Oracle Application Expressのインストール時に指定したOracle Application Express管理者アカウントのパスワードを入力します。
「ログイン」をクリックします。
|
参照: 詳細は、『Oracle Application Express管理ガイド』の「Oracle Application Express管理サービスへのログイン」を参照してください。 |
次に、作業領域を作成します。
「作業領域の管理」をクリックします。
「作業領域の管理」で、「作業領域の作成」をクリックします。
「作業領域の作成」ウィザードが表示されます。
「作業領域の指定」に、作業領域の名前と説明を入力して、「次へ」をクリックします。
「スキーマの指定」で、Oracle Formsアプリケーションのスキーマを選択します。
「既存のスキーマを再利用」で、「はい」を選択します。
リストからスキーマを選択します。
「次へ」をクリックします。
「管理者の指定」に、作業領域管理者の情報を入力して、「次へ」をクリックします。
選択した内容を確認し、「作成」をクリックします。
Oracle Application Expressユーザー・アカウントを作成するには、次のステップを実行します。
前述のセクションで説明したように、Oracle Application Express管理サービスにログインします。詳細は、『Oracle Application Express管理ガイド』の「Oracle Application Express管理サービスへのログイン」を参照してください。
「作業領域の管理」をクリックします。
「作業領域の管理」で、「開発者とユーザーの管理」をクリックします。
「開発者とユーザーの管理」ページが表示されます。
「作成」をクリックします。
「ユーザーの作成/編集」ページが表示されます。
「ユーザー属性」で、適切な情報を入力します。アスタリスクが付いたフィールドは必須です。
|
ヒント: 特定の属性の詳細は、アイテム・ラベルをクリックしてください。ヘルプが利用できる場合は、アイテム・ラベル上にカーソルを重ねると、アイテム・ラベルが赤色に変わり、カーソルが矢印と疑問符に変わります。 |
「パスワード」に、このアカウントの大/小文字を区別したパスワードを入力します。
組織でパスワード・ポリシーを設定している場合は、パスワードが要件を満たすことを確認してください。
「開発者権限」で、適切な権限を選択します。
開発者ユーザー: 開発者または作業領域管理者としてこのユーザーを追加する場合は、「はい」を選択します。エンド・ユーザーの場合は、「いいえ」を選択します。
開発者は、アプリケーションおよびデータベース・オブジェクトの作成および変更、開発者アクティビティ、セッション・ステート、作業領域アクティビティおよびスキーマ・レポートの表示が可能です。
作業領域管理者ユーザー: 作業領域管理者としてこのユーザーを追加する場合は、「はい」を選択します。開発者またはエンド・ユーザーの場合は、「いいえ」を選択します。
作業領域管理者は、開発者権限を持っていることに加え、ユーザー・アカウントの作成および編集、グループの管理、同じ作業領域内のユーザーのパスワードの変更および開発サービスの管理が可能です。
アカウントの可用性: ユーザーがこのアカウントにログインできるようにするには、「ロック解除済」を選択します。
初回使用時にパスワードの変更が必要: ユーザーが現在の一時パスワードでログインした直後にパスワードを変更する必要がある場合は、「はい」を選択します。それ以外の場合は、「いいえ」を選択します。
「ユーザーの作成」または「作成後、別のものの作成」をクリックします。
作業領域を作成した後、ログイン資格証明(作業領域名、ユーザー名およびパスワード)を使用してログインします。
|
参照: Oracle Application Express管理ガイドの「作業領域の作成」および「作業領域リクエストの管理」を参照してください。 |
作業領域にログインするには、次のステップを実行します。
Webブラウザで、Oracle Application Expressの「ログイン」ページにナビゲートします。
設定でOracle HTTP Server(Apache)およびmod_plsqlを使用する場合は、次のURLに移動します。
http://hostname:port/pls/apex
各要素の意味は次のとおりです。
hostnameは、Oracle HTTP Serverがインストールされているシステムの名前です。
portは、Oracle HTTP Serverに割り当てられているポート番号です。デフォルトのインストールの場合、この番号は7777です。Oracle HTTP Serverのインストールのポート番号に関する情報は、次のファイルで確認できます。
ORACLE_BASE\ORACLE_HOME\install\portlist.ini ORACLE_BASE\ORACLE_HTTPSERVER_HOME\Apache\Apache\conf\httpd.conf
ポート番号を変更しても、portlist.iniファイル内の設定は変更されないことに注意してください。このファイルで正確な情報を確認できるのは、インストール直後のみです。
plsは、mod_plsqlカートリッジを使用するためのインジケータです。
apexは、mod_plsql構成ファイルで定義されているデータベース・アクセス記述子(DAD)です。
以前のリリースからアップグレードしたユーザーや、カスタム構成があるユーザーの場合は、この値はhtmldbかその他の値にする必要があります。Oracle Application Express管理者にDADを確認します。
「ログイン」ページが表示されます。
「ログイン」で、次の項目を入力します。
「作業領域」フィールド: 作業領域の名前を入力します。
「ユーザー名」フィールド: ユーザー名を入力します。
「パスワード」フィールド: 大/小文字を区別したパスワードを入力します。
「ログイン」をクリックします。
設定によっては、初めてログインするときにパスワードの変更を要求される場合があります。
このセクションでは、新規インストールでOracle HTTP Serverおよびmod_plsqlを構成する方法について説明します。
このセクションの内容は次のとおりです。
Oracle9i リリース2で配布されたOracle HTTP Serverを実行している場合、次のステップは該当しません。詳細は、「Oracle9i リリース2で配布されたOracle HTTP Serverの構成」を参照してください。
|
注意: このセクションでは、Oracleホーム・ディレクトリ(ORACLE_HTTPSERVER_HOME)にOracle HTTP Serverがインストールされていると想定します。 |
Oracle Application Expressでは、リリース9.2.0.3以上のOracle Databaseが必要です。詳細は、ご使用のオペレーティング環境向けの『Oracle Databaseインストレーション・ガイド』および「インストール前の推奨タスク」を参照してください。
次の場合は、後述するインストール後の処理を実行する必要があります。
Oracle Application Expressを新しくインストールする(以前のリリースからのアップグレードではない)。
Oracle Databaseリリース9.0.3で配布されたOracle HTTP Serverを実行している。
Oracle HTTP ServerがOracleホームにインストールされている。
このセクションの内容は次のとおりです。
|
注意: このセクションでは、Oracleホーム・ディレクトリ(ORACLE_HTTPSERVER_HOME)にOracle HTTP Serverがインストールされていると想定します。 |
最初に、Oracle Application ExpressのADMINアカウントのパスワードを変更します。
ADMINアカウントのパスワードを変更するには、次のステップを実行します。
作業ディレクトリをORACLE_BASE\ORACLE_HOME\apex(またはOracleホームを示すために使用される表記規則)に変更します。
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
apxchpwd.sqlを実行します。次に例を示します。
@apxchpwd.sql
ADMINアカウントのパスワードの入力を求められたら入力します。
新規インストールでOracle HTTP Server for Oracle Application Expressを構成する場合、データベース・ユーザーAPEX_PUBLIC_USERはロック解除されたアカウントである必要があります。データベース・ユーザーAPEX_PUBLIC_USERのアカウントをロック解除するには、次のステップを実行します。
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
次の文を実行します。
ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK
DADファイルにパスワードを指定するには、データベース・ユーザーAPEX_PUBLIC_USERのパスワードを変更する必要があります。次のステップを実行してAPEX_PUBLIC_USERデータベース・ユーザーのパスワードを変更してください。
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
次の文を実行します。
SQL> PASSWORD APEX_PUBLIC_USER Changing password for APEX_PUBLIC_USER New password: password Retype new password: password
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セキュリティ・ガイド』を参照してください。 |
DADを作成するには、wdbsvr.appファイルを変更し、Oracle Application Express用のエントリを1つ追加します。
wdbsvr.appファイルを変更するには、次のステップを実行します。
テキスト・エディタを使用して、wdbsvr.appファイルを開きます。
Windowsの場合:
ORACLE_HTTPSERVER_HOME\Apache\modplsql\cfg\wdbsvr.app
UNIXおよびLinuxの場合:
ORACLE_HTTPSERVER_HOME/Apache/modplsql/cfg/wdbsvr.app
次の構文を使用して、Oracle Application Express用のエントリを1つ追加します。イタリック体の設定項目のみを変更します。
[DAD_apex] 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 データベースを示します。ホスト:ポート:SIDの書式を使用します。
使用するOracle9i バージョンのOracle HTTP Serverが、Oracle Application Expressとの併用に指定したデータベースと同じOracleホームにインストールされている場合、このパラメータを空白のままにします。
passwordは、APEX_PUBLIC_USERの変更したパスワードです。詳細は、「APEX_PUBLIC_USERデータベース・ユーザーのパスワードの変更」を参照してください。
nls_lang設定で、DADの言語設定を判断します。データベース・キャラクタ・セットがAL32UTF8であるかどうかにかかわらず、nls_lang値のキャラクタ・セット部分は、AL32UTF8に設定されている必要があります。
NLS設定の地域部分または言語部分のいずれかに空白が含まれている場合、次のように二重引用符で値を囲む必要があります。
nls_lang = "ENGLISH_UNITED KINGDOM.AL32UTF8"
データベースのNLS設定の情報を確認するには、次のようにNLS_DATABASE_PARAMETERSビューを問い合せます。
SELECT parameter,value
FROM nls_database_parameters
WHERE PARAMETER IN ('NLS_CHARACTERSET','NLS_LANGUAGE','NLS_TERRITORY');
ユーザー名などの他の設定は、前述の例のままにします。
変更を保存して、wdbsvr.appファイルを閉じます。
imagesディレクトリをコピーしたファイル・システム・パスを指す別名が含まれるように、httpd.confファイルを変更する必要があります。また、SQLワークショップをサポートするために2つの新しいMIMEタイプを追加するには、httpd.confファイルを変更する必要があります。
httpd.confファイルを変更するには、次のステップを実行します。
テキスト・エディタを使用して、httpd.confファイルを開きます。
Windowsの場合:
ORACLE_HTTPSERVER_HOME\Apache\Apache\conf\httpd.conf
UNIXおよびLinuxの場合:
ORACLE_HTTPSERVER_HOME/Apache/Apache/conf/httpd.conf
imagesディレクトリをコピーしたファイル・システム・パスを指す別名エントリを追加します。
Windowsの場合は、次のようになります。
Alias /i/ "C:\oracle\ora92\Apache\Apache\images/"
UNIXおよびLinuxの場合は、次のようになります。
Alias /i/ "/home/oracle/OraHome1/Apache/Apache/images/"
前述の例では、apexins.sqlスクリプトの実行時に、imagesディレクトリの別名を/i/と指定したと想定していることに注意してください。
パスの末尾にスラッシュ(/)を含める必要があることに注意してください。
次に、SQLワークショップをサポートする次の2つの行が存在しない場合は、これを追加します。
AddType text/xml xbl AddType text/x-component htc
Oracle HTML DB 2.0以降からのアップグレードの場合、これらのMIMEタイプがすでに存在している必要があります。
変更を保存して、httpd.confファイルを閉じます。
|
参照: Oracle HTTP Server管理者ガイド |
Oracle HTTP Serverを停止および再起動するには、次のステップを実行します。
WindowsでOracle HTTP Serverを停止および再起動するには、次のようにします。
「スタート」メニュー→「プログラム」→「Oracle - OraHome」→「Oracle」→「Oracle HTTP Server」→「Oracle HTTP Serverの停止」を選択して、Oracle HTTP Serverを停止します。
「スタート」メニュー→「プログラム」→「Oracle - OraHome」→「Oracle」→「Oracle HTTP Server」→「Oracle HTTP Serverの起動」を選択して、Oracle HTTP Serverを再起動します。
UNIXおよびLinuxでは、次のコマンドを実行します。
ORACLE_HTTPSERVER_HOME/Apache/Apache/bin/apachectl stop ORACLE_HTTPSERVER_HOME/Apache/Apache/bin/apachectl start
Oracle HTTP Serverが1024未満の番号のポートでリスニングしている場合は、これらのコマンドを権限が付与されたユーザー(rootなど)として実行する必要があることに注意してください。
|
参照: Oracle HTTP Server管理者ガイド |
新規インストールをロードしているか、以前のリリースをアップグレードしているかにかかわらず、トップ・レベルのORACLE_BASE\ORACLE_HOME\apexディレクトリからOracle HTTP Server用のOracleホームを含むファイル・システム上の場所に、imagesディレクトリをコピーする必要があります。
|
注意: このセクションはOracle Application ExpressをOracle HTTP Serverおよびmod_plsqlとともに実行する場合のみ関連があります。 |
このセクションの内容は次のとおりです。
アップグレード中に、既存のimagesディレクトリを上書きする必要があります。以前のバージョンに戻すことができるように、アップグレードの開始前に、Oracle Application Express用の既存のimagesディレクトリのコピーを作成して、imagesのリリース番号(images_3_1など)を示しておくことをお薦めします。
ファイル・システム上でimagesディレクトリを特定するには、httpd.confファイルでテキスト別名/i/を確認します。
imagesディレクトリのパスを特定したら、既存のimagesディレクトリをバックアップの場所にコピーすることをお薦めします。これによって、必要に応じて、以前のリリースに戻すことができます。
既存のimagesディレクトリをコピーした後、次のコマンド構文を使用してOracle Databaseホームから既存のimagesディレクトリのパスにapex\imagesディレクトリをコピーし、既存のimagesを上書きします。
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_HOMEは、Oracle DatabaseのOracleホームを示しています。
ORACLE_HTTPSERVER_HOMEは、既存のOracle Application ServerまたはOracle HTTP ServerのOracleホームを示しています。
インストール後、ディレクトリapex/imagesをコピーします。
imagesディレクトリは、Windowsエクスプローラを使用するか、またはコマンド・プロンプトから次のようなコマンドを実行してコピーできます。
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_HOMEは、Oracle DatabaseのOracleホームを示しています。
ORACLE_HTTPSERVER_HOMEはOracle HTTP Serverの既存のOracleホームです。
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の作成および構成」を参照してください。 |
次の例は、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;
前述のスクリプトを実行した後に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を適用する必要があります。「接続権限の付与」を参照してください。
HTTPリクエストで、パスワードやその他の機密データがクリア・テキストで送信されることのないように、Secure Sockets Layer(SSL)を構成して使用することをお薦めします。SSLを使用しないと、パスワードが公開され、セキュリティが損なわれる可能性があります。
SSLは、業界標準のプロトコルです。RSA公開鍵暗号化と対称鍵暗号化を組み合せて使用することにより、認証、暗号化およびデータの整合性が提供されます。
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
初めてインストールを行う場合も以前のリリースからアップグレードする場合も、言語変換されたバージョンのOracle Application Expressを実行するには、load_lang.sqlスクリプトを実行する必要があります。
インストール・スクリプトは、配布を解凍したapex/builderのサブディレクトリに格納されます。これらのサブディレクトリは、言語コードで識別されます。たとえば、ドイツ語バージョンはapex/builder/de、日本語バージョンはapex/builder/jaに格納されます。各ディレクトリには、言語コード(たとえば、load_de.sqlやload_ja.sql)で識別される、言語固有のロード・スクリプトが格納されます。
言語変換されたバージョンのOracle Application Expressをインストールするには、次のステップを実行します。
環境変数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
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
次の文を実行します。
ALTER SESSION SET CURRENT_SCHEMA = APEX_030200;
該当する言語固有のスクリプトを実行します。次に例を示します。
@load_lang.sql
langは特定の言語です。たとえば、ドイツ語の場合はload_de.sql、日本語の場合はload_ja.sqlとなります。
JOB_QUEUE_PROCESSESには、同時に実行するジョブの最大数を指定します。Oracle Application Expressリリース3.2では、トランザクションのサポートおよびSQLスクリプトでジョブが必要です。JOB_QUEUE_PROCESSESが有効でなく、正常に動作していない場合、スクリプトを正常に実行することはできません。
このセクションの内容は次のとおりです。
JOB_QUEUE_PROCESSESの数を表示するには、3つの方法があります。
インストール・ログ・ファイル
Oracle Application Expressの「Application Expressのバージョン情報」ページ
SQL*Plus
Oracle Application Expressリリース3.2をインストールした後、またはOracle Application Expressをリリース3.2にアップグレードした後、JOB_QUEUE_PROCESSESの数をインストール・ログ・ファイルに表示できます。「インストール・セッションのログの確認」を参照してください。
「Application Expressのバージョン情報」ページにJOB_QUEUE_PROCESSESの数を表示することもできます。
「Application Expressのバージョン情報」ページを表示するには、次のステップを実行します。
Oracle Application Expressにログインします。詳細は、「Oracle Application Express作業領域へのログイン」を参照してください。
「管理」リストで、「Application Expressのバージョン情報」をクリックします。
ページの下部に、現在のJOB_QUEUE_PROCESSESの数が表示されます。
SQL*Plusで次のSQL文を実行して、JOB_QUEUE_PROCESSESの数を変更できます。
JOB_QUEUE_PROCESSESの数を更新するには、次のステップを実行します。
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
SQL*Plusで次のSQL文を実行します。
ALTER SYSTEM SET JOB_QUEUE_PROCESSES = <number>
たとえば、ALTER SYSTEM SET JOB_QUEUE_PROCESSES = 20を実行すると、JOB_QUEUE_PROCESSESは20に設定されます。
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
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日で開発者ガイド』を参照してください。 |
このセクションの内容は次のとおりです。
Oracle Application Express作業領域を手動で作成するには、次のステップを実行します。
Oracle Application Express管理サービスにログインします。Oracle Application Express管理サービスは、Oracle Application Expressインスタンス全体を管理するための独立したアプリケーションです。ログインするには、インストール・プロセス中に作成または再設定したADMINアカウントおよびパスワードを使用します。
Webブラウザで、Oracle Application Express管理サービス・アプリケーションにナビゲートします。
設定でOracle HTTP Server(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)です。
「ログイン」ページで、次の操作を行います。
「ユーザー名」に、adminと入力します。
「パスワード」に、Oracle Application Expressのインストール時に指定したOracle Application Express管理者アカウントのパスワードを入力します。
「ログイン」をクリックします。
|
参照: 詳細は、『Oracle Application Express管理ガイド』の「Oracle Application Express管理サービスへのログイン」を参照してください。 |
次に、作業領域を作成します。
「作業領域の管理」をクリックします。
「作業領域の管理」で、「作業領域の作成」をクリックします。
「作業領域の作成」ウィザードが表示されます。
「作業領域の指定」に、作業領域の名前と説明を入力して、「次へ」をクリックします。
「スキーマの指定」で、Oracle Formsアプリケーションのスキーマを選択します。
「既存のスキーマを再利用」で、「はい」を選択します。
リストからスキーマを選択します。
「次へ」をクリックします。
「管理者の指定」に、作業領域管理者の情報を入力して、「次へ」をクリックします。
選択した内容を確認し、「作成」をクリックします。
Oracle Application Expressユーザー・アカウントを作成するには、次のステップを実行します。
前述のセクションで説明したように、Oracle Application Express管理サービスにログインします。詳細は、『Oracle Application Express管理ガイド』の「Oracle Application Express管理サービスへのログイン」を参照してください。
「作業領域の管理」をクリックします。
「作業領域の管理」で、「開発者とユーザーの管理」をクリックします。
「開発者とユーザーの管理」ページが表示されます。
「作成」をクリックします。
「ユーザーの作成/編集」ページが表示されます。
「ユーザー属性」で、適切な情報を入力します。アスタリスクが付いたフィールドは必須です。
|
ヒント: 特定の属性の詳細は、アイテム・ラベルをクリックしてください。ヘルプが利用できる場合は、アイテム・ラベル上にカーソルを重ねると、アイテム・ラベルが赤色に変わり、カーソルが矢印と疑問符に変わります。 |
「パスワード」に、このアカウントの大/小文字を区別したパスワードを入力します。
組織でパスワード・ポリシーを設定している場合は、パスワードが要件を満たすことを確認してください。
「開発者権限」で、適切な権限を選択します。
開発者ユーザー: 開発者または作業領域管理者としてこのユーザーを追加する場合は、「はい」を選択します。エンド・ユーザーの場合は、「いいえ」を選択します。
開発者は、アプリケーションおよびデータベース・オブジェクトの作成および変更、開発者アクティビティ、セッション・ステート、作業領域アクティビティおよびスキーマ・レポートの表示が可能です。
作業領域管理者ユーザー: 作業領域管理者としてこのユーザーを追加する場合は、「はい」を選択します。開発者またはエンド・ユーザーの場合は、「いいえ」を選択します。
作業領域管理者は、開発者権限を持っていることに加え、ユーザー・アカウントの作成および編集、グループの管理、同じ作業領域内のユーザーのパスワードの変更および開発サービスの管理が可能です。
アカウントの可用性: ユーザーがこのアカウントにログインできるようにするには、「ロック解除済」を選択します。
初回使用時にパスワードの変更が必要: ユーザーが現在の一時パスワードでログインした直後にパスワードを変更する必要がある場合は、「はい」を選択します。それ以外の場合は、「いいえ」を選択します。
「ユーザーの作成」または「作成後、別のものの作成」をクリックします。
作業領域を作成した後、ログイン資格証明(作業領域名、ユーザー名およびパスワード)を使用してログインします。
|
参照: Oracle Application Express管理ガイドの「作業領域の作成」および「作業領域リクエストの管理」を参照してください。 |
作業領域にログインするには、次のステップを実行します。
Webブラウザで、Oracle Application Expressの「ログイン」ページにナビゲートします。
設定でOracle HTTP Server(Apache)およびmod_plsqlを使用する場合は、次のURLに移動します。
http://hostname:port/pls/apex
各要素の意味は次のとおりです。
hostnameは、Oracle HTTP Serverがインストールされているシステムの名前です。
portは、Oracle HTTP Serverに割り当てられているポート番号です。デフォルトのインストールの場合、この番号は7777です。Oracle HTTP Serverのインストールのポート番号に関する情報は、次のファイルで確認できます。
ORACLE_BASE\ORACLE_HOME\install\portlist.ini ORACLE_BASE\ORACLE_HTTPSERVER_HOME\Apache\Apache\conf\httpd.conf
ポート番号を変更しても、portlist.iniファイル内の設定は変更されないことに注意してください。このファイルで正確な情報を確認できるのは、インストール直後のみです。
plsは、mod_plsqlカートリッジを使用するためのインジケータです。
apexは、mod_plsql構成ファイルで定義されているデータベース・アクセス記述子(DAD)です。
以前のリリースからアップグレードしたユーザーや、カスタム構成があるユーザーの場合は、この値はhtmldbかその他の値にする必要があります。Oracle Application Express管理者にDADを確認します。
「ログイン」ページが表示されます。
「ログイン」で、次の項目を入力します。
「作業領域」フィールド: 作業領域の名前を入力します。
「ユーザー名」フィールド: ユーザー名を入力します。
「パスワード」フィールド: 大/小文字を区別したパスワードを入力します。
「ログイン」をクリックします。
設定によっては、初めてログインするときにパスワードの変更を要求される場合があります。