| SQL*Plus ユーザーズ・ガイドおよびリファレンス 10g リリース2(10.2) B19277-01 |
|
この章では、SQL*Plusのコマンドライン環境、Windows GUI環境およびiSQL*Plus環境の構成方法について説明します。ここでは、次の項目について説明します。
ここで説明する環境変数は、SQL*PlusおよびiSQL*Plusアプリケーション・サーバーが使用するファイルの位置またはパスを指定します。SQL*Plusの動作に影響する他の環境変数については、『Oracle Database管理者リファレンス』を参照してください。
| パラメータまたは変数 | 説明 |
|---|---|
|
JAVA_HOME |
Javaホーム(JDK 1.4以上)の場所の検索に使用するパスを指定する環境変数。通常、Oracle Javaホームに設定する必要があります。 例: $ORACLE_HOME/jdk |
|
JRE_HOME |
Java Runtimeホームの場所の検索に使用するパスを指定する環境変数。通常、Oracle Java Runtimeホームに設定する必要があります。 例: $JAVA_HOME/jre/bin |
|
LD_LIBRARY_PATH |
UNIXおよびLinux上でライブラリの検索に使用するパスを指定する環境変数。一部のオペレーティング・システムでは別の名前(Apple Mac OSでのDYLD_LIBRARY_PATH、IBM/AIX-5LでのLIBPATH、HP-UXでのSHLIB_PATHなど)である場合があります。Windowsオペレーティング・システムでは使用できません。 例: $ORACLE_HOME/lib |
|
LOCAL |
接続文字列を指定するWindows環境変数。UNIXのTWO_TASKと同じ機能を実行します。 |
|
NLS_LANG |
グローバリゼーション機能を指定する環境変数。iSQL*Plusでは、charsetパラメータは無視され、常にUTF8になります。 例: american_america.utf8 |
|
ORACLE_HOME |
SQL*Plusのインストール先を指定する環境変数。メッセージ・ファイルの格納場所を指定するために、SQL*Plusでも使用されます。 例: d:¥oracle¥10g |
|
ORA_NLS10 |
SQL*Plusリリース2(10.2)のNLSデータおよびユーザーのブート・ファイルの位置を指定する環境変数。デフォルトの位置は$ORACLE_HOME/nls/dataです。Oracle9iおよびOracle10gの両方を使用するシステム、またはアップグレードされたシステムの場合は、10g用にORA_NLS10、9i用にORA_NLS33を設定する必要があります。Oracle9iでは、デフォルトのNLSの位置は$ORACLE_HOME/common/nls/admin/dataでした。 |
|
ORACLE_PATH |
SQLスクリプトの位置を指定する環境変数。SQL*PlusがORACLE_PATHでスクリプト・ファイルを検出できない場合、またはORACLE_PATHが設定されていない場合は、現行の作業ディレクトリが検索されます。 Windowsでは使用しません。 |
|
ORACLE_SID |
データベース・インスタンスを指定する環境変数(オプション)。 |
|
PATH |
実行可能ファイルおよびWindowsのDLLを検索するパスを指定する環境変数。通常は、ORACLE_HOME/binを含めます。 |
|
SQLPATH |
SQLスクリプトの位置を指定する環境変数またはWindowsレジストリ・エントリ。SQL*Plusでは、カレント・ディレクトリ、次にSQLPATHに指定したディレクトリ、SQLPATHディレクトリのサブディレクトリの順に、SQLスクリプト(login.sqlを含む)が検索されます。SQLPATHは、コロンで区切られたディレクトリのリストです。UNIX版のインストールでは、デフォルト値は設定されません。 Windows版では、SQLPATHがインストール時にレジストリ・エントリに定義されます。SQLPATHレジストリ・エントリについては、「SQLPATHレジストリ・エントリ」を参照してください。 |
|
SQLPLUS |
Windows版では、SQL*Plusメッセージ・ファイルの位置を指定する環境変数。この環境変数は、インストール中に設定されます。デフォルト値は次のとおりです。 %ORACLE_HOME%¥SQLPLUS¥MESG UNIXでは使用しません。 |
|
SQLPLUS_FONT |
SQL*PlusのWindows GUIで使用するフォントを指定するWindowsレジストリ・エントリ。SQLPLUS_FONTエントリを作成していないか、無効な名前や値を指定した場合は、デフォルトのFixedsysが使用されます。 |
|
SQLPLUS_FONT_SIZE |
SQL*PlusのWindows GUIで使用されるフォント・サイズを指定するWindowsレジストリ・エントリ。SQLPLUS_FONT_SIZEエントリを作成していないか、無効な名前や値を指定した場合は、デフォルト・サイズ(16)が使用されます。 |
|
TNS_ADMIN |
tnsnames.oraファイルの位置を指定する環境変数。この環境変数を指定しない場合は、$ORACLE_HOME/network/adminが使用されます。 例: h:¥network |
|
TWO_TASK |
接続文字列を指定するUNIX環境変数。データベースを指定しない接続は、TWO_TASKに指定したデータベースに接続されます。 例: TWO_TASK=MYDB これは、次のように解釈されます。 sqlplus hr@MYDB |
|
iSQLPlusAllowUserMarkup |
HTMLのエンティティ・マッピングが、特別な意味の文字を出力可能な表現に置き換えるかどうかを指定するiSQL*Plus構成ファイル・パラメータ。エンティティ・マッピングは、デフォルトで有効で、iSQL*Plusの出力にユーザー定義のHTMLが使用されないようにします。iSQLPlusAllowUserMarkupパラメータは、iSQL*Plusアプリケーション・サーバーで、ユーザーによるエンティティ・マッピング設定の変更、またはカスタムHTMLヘッダー、HTMLボディおよびTableタグの使用を可能にするかどうかを制御します。 ユーザー定義のHTMLの詳細は、「ユーザー定義HTMLマークアップの有効化」を参照してください。 |
|
iSQLPlusAllowScriptsURL |
iSQL*Plusアプリケーション・サーバーで、ユーザーによるURLからのスクリプトのロード、スクリプトからの@、@@およびSTARTコマンドの実行、または動的レポートによってURLからロードされたスクリプトの使用を可能にするかどうかを制御するiSQL*Plus構成ファイル・パラメータ。 詳細は、「URLアクセスの有効化」を参照してください。 |
|
iSQLPlusBannerMessage |
iSQL*Plusの「ログイン」画面からデフォルトのセキュリティ・メッセージを削除するか、または独自のシステム全体のメッセージに置き換えるiSQL*Plus構成ファイル・パラメータ。 詳細は、「不正なアクセスに関するバナーの有効化」を参照してください。 |
|
iSQLPlusConnectIdList |
ユーザーがiSQL*Plusでアクセス可能なデータベースを指定するiSQL*Plus構成ファイル・オプション。このパラメータを指定すると、「ログイン」画面で、「接続識別子」テキスト・フィールドのかわりに、ドロップダウン・リストに使用可能なデータベースが表示されます。これによって、ホスト環境でのiSQL*Plusサーバーのセキュリティを向上させることができます。 データベース・アクセス制限の詳細は、「データベース・アクセス制限の有効化」を参照してください。 |
|
|
iSQL*Plusアプリケーション・サーバーのエラー・ログにメッセージが記録されるレベルを指定するiSQL*Plus構成ファイル・オプション。 iSQL*Plusロギングの詳細は、「iSQL*Plusロギング・レベルの設定」を参照してください。 |
各セッションで同じ設定を使用するように、SQL*PlusまたはiSQL*Plusアプリケーション・サーバーの環境を設定できます。
この設定には、次の2つのオペレーティング・システム・ファイルを使用します。
これらのファイルの正確な名前は、システムによって異なります。
一部の権限での接続では、サイト・プロファイルまたはユーザー・プロファイルにSET SERVEROUTPUTまたはSET APPINFOコマンドが入力されていると、エラーが生成される場合があります。
次の表に、プロファイル・スクリプトを示し、コマンドラインやWindowsおよびiSQL*Plusのユーザー・インタフェースに影響する一部のコマンドと設定を示します。
| スクリプトの内容 | コマンドラインおよびWindows GUIで実行されるタイミング | iSQL*Plusサーバーで実行されるタイミング |
|---|---|---|
|
サイト・プロファイル(glogin.sql) SQL*Plusスクリプトに含めることができる内容(システム変数設定やDBAが実装する他のグローバル設定など)はすべて含めることができます。 |
SQLPLUSコマンドまたはCONNECTコマンドからOracleデータベースへの正常な接続後 /NOLOGが指定された場合 |
iSQL*PlusセッションまたはiSQL*PlusセッションのCONNECTコマンドからOracleデータベースへの正常な接続時
|
|
ユーザー・プロファイル(login.sql) SQL*Plusスクリプトに含めることができる内容はすべて含めることができます。ただし、設定はユーザー・セッションにのみ適用可能です。 |
サイト・プロファイルの直後 |
該当なし |
| プロファイル・スクリプト内のコマンド | コマンドラインおよびWindows GUIに影響する操作 | iSQL*Plusサーバーに影響する操作 |
|---|---|---|
|
DBAがこのサイトで希望する動作を実現するために、SQL*Plusの互換モードを設定した場合 |
DBAがこのサイトで希望する動作を実現するために、SQL*Plusの互換モードを設定した場合 |
|
|
SQLPLUSコマンド COMPATIBILITYオプション |
SET SQLPLUSCOMPATIBILITYコマンドが実行された場合(SQLPLUSコマンドのCOMPATIBILITYオプション付きで設定された場合以外) |
該当なし |
|
SQLPLUSコマンド RESTRICTオプション |
RESTRICTオプションを3に設定してSQL*Plusを起動すると、ユーザー・プロファイル・スクリプトが読み取られません。 |
該当なし |
サイト・プロファイル・スクリプトは、インストール中に作成されます。このスクリプトは、SQL*Plusコマンドライン接続、Windows GUI接続およびiSQL*Plus接続に対するセッション全体の動作を構成するために、データベース管理者が使用します。
サイト・プロファイル・スクリプトは、通常、glogin.sqlという名前です。ユーザーが、SQL*PlusセッションまたはiSQL*Plusセッションを開始し、Oracleデータベースとの接続が正常に確立されるたびに、SQL*PlusサーバーまたはiSQL*Plusサーバーはこのスクリプトを実行します。
サイト・プロファイルを使用すると、DBAは、特定のSQL*Plusまたは特定のiSQL*Plusアプリケーション・サーバーをインストールするすべてのユーザーに対してデフォルトのSQL*Plus環境を設定できます。
ユーザーはサイト・プロファイルに直接アクセスできません。
サイト・プロファイル・スクリプトは、UNIXでは$ORACLE_HOME/sqlplus/admin/glogin.sql、Windowsでは%ORACLE_HOME%¥sqlplus¥admin¥glogin.sqlにあります。この場所にすでにサイト・プロファイルが存在する場合は、SQL*Plusインストール時に上書きされます。SQL*Plusが削除されると、サイト・プロファイル・スクリプトも削除されます。
SQL*PlusのコマンドラインおよびWindows GUI接続の場合、SQL*Plusはユーザー・プロファイル・スクリプトもサポートします。ユーザー・プロファイルは、サイト・プロファイルの後に実行され、ユーザー・セッションの特別なカスタマイズを可能にします。ユーザー・プロファイル・スクリプトは、通常、login.sqlという名前です。SQL*Plusでは、カレント・ディレクトリのユーザー・プロファイル、次に、環境変数SQLPATHで指定されたディレクトリが検索されます。SQL*Plusでは、このコロンで区切られたディレクトリおよびそれらのサブディレクトリのリストの順に検索されます。
すべてのSQLコマンド、PL/SQLブロックまたはSQL*Plusコマンドをユーザー・プロファイルに追加できます。SQL*Plusを起動すると、自動的にユーザー・プロファイルが検索され、ユーザー・プロファイル内のコマンドが実行されます。
iSQL*Plusでは、ユーザー・プロファイルは使用されません。
LOGINファイルは、他のすべてのスクリプトと同様に、変更が可能です。次のユーザー・プロファイル・スクリプトの例に、ユーザーが追加できる変更の一部を示します。
-- login.sql -- SQL*Plus user login startup file. -- -- This script is automatically run after glogin.sql -- -- To change the SQL*Plus prompt to display the current user, -- connection identifier and current time. -- First set the database date format to show the time. ALTER SESSION SET nls_date_format = 'HH:MI:SS'; -- SET the SQLPROMPT to include the _USER, _CONNECT_IDENTIFIER -- and _DATE variables. SET SQLPROMPT "_USER'@'_CONNECT_IDENTIFIER _DATE> " -- To set the number of lines to display in a report page to 24. SET PAGESIZE 24 -- To set the number of characters to display on each report line to 78. SET LINESIZE 78 -- To set the number format used in a report to $99,999. SET NUMFORMAT $99,999
STOREコマンドを使用すると、コマンドラインおよびWindows GUIから、現行のSQL*Plusのシステム変数をスクリプトに格納できます。変数を変更した場合は、このスクリプトを実行して元の値に戻すことができます。この機能は、システム変数を変更するレポートを実行した後でシステム変数の値をリセットする場合に便利です。また、SQL*Plusを起動するたびに、これらのシステム変数が設定されるように、ユーザー・プロファイル・スクリプトを、このスクリプトに含めることもできます。
すべてのシステム変数の現行の設定を格納するには、次のように入力します。
STORE SET file_name
ファイル名とファイル拡張子を入力するか、またはデフォルトの拡張子.SQLを使用する場合は、ファイル名のみを入力します。SET SUF[FIX] {SQL | text}コマンドを使用して、デフォルトのファイル拡張子を変更することもできます。
格納済のシステム変数をリストアするには、次のように入力します。
START file_name
ファイルの拡張子がデフォルト(SET SUF[FIX] {SQL | text}コマンドで指定したもの)の場合は、ファイル名にピリオドおよび拡張子を追加する必要はありません。
@(アットマーク)または@@(二重アットマーク)コマンドを使用して、スクリプトを実行することもできます。
SQL*Plusシステム変数の現行の値を新しいスクリプトplusenv.sqlに格納するには、次のように入力します。
STORE SET plusenv
Created file plusenv |
この時点で、任意のシステム変数の値を変更できます。
SHOW PAGESIZE
PAGESIZE 24 |
SET PAGESIZE 60 SHOW PAGESIZE
PAGESIZE 60 |
その後、システム変数の元の値をスクリプトからリストアできます。
START plusenv SHOW PAGESIZE
PAGESIZE 24 |
通常、コマンドライン・ヘルプは、Oracleデータベースのインストール中にインストールされます。インストールされていない場合は、データベース管理者がSQL*Plusコマンドライン・ヘルプ表を作成し、次の2つの方法でSQL*Plusヘルプ・データを作成した表に移入できます。
また、データベース管理者はSQL*PlusからSQLスクリプトを実行して、SQL*Plusコマンドライン・ヘルプを削除することもできます。
SQL*Plusヘルプをインストールまたは削除する前に、次のことを確認してください。
コマンドライン・ヘルプをインストールするために提供されているシェル・スクリプトまたはバッチ・ファイルを実行します。
UNIXでは、次のディレクトリで使用可能なシェル・スクリプトHELPINSを使用します。
$ORACLE_HOME/BIN
Windowsでは、バッチ・ファイルHELPINS.BATを使用します。次のディレクトリにあります。
%ORACLE_HOME%¥BIN
SYSTEM_PASS=SYSTEM/password EXPORT SYSTEM_PASS
Windowsでは、次のようにSYSTEM_PASSを設定します。
SET SYSTEM_PASS=SYSTEM/password
passwordには、SYSTEMユーザーに対して定義したパスワードを指定します。
$ORACLE_HOME/BIN/HELPINS
Windowsでは、コマンドラインから次のように入力してバッチ・ファイルHELPINS.BATを実行します。
%ORACLE_HOME%¥BIN¥HELPINS
いずれの場合でも、HELPINSユーティリティはSYSTEM_PASSからログインを読み取り、SQL*Plusを使用してOracleデータベースに接続して、ヘルプ表の作成とロードを実行した後に切断します。コマンドライン・ヘルプは、次にSQL*Plusを起動した際に使用できます。
コマンドライン・ヘルプをロードするために提供されているSQLスクリプトHELPBLD.SQLを実行します。
SQLPLUS SYSTEM
SYSTEMユーザーに対して定義したパスワードの入力を求めるプロンプトが表示されます。
@$ORACLE_HOME/SQLPLUS/ADMIN/HELP/HLPBLD.SQL HELPUS.SQL
Windowsでは、SQL*Plusから次のように入力してSQLスクリプトHLPBLD.SQLを実行します。
@%ORACLE_HOME%¥SQLPLUS¥ADMIN¥HELP¥HLPBLD.SQL HELPUS.SQL
HLPBLD.SQLスクリプトによって、ヘルプ表が作成されロードされます。
コマンドライン・ヘルプを削除するために提供されているSQLスクリプトHELPDROP.SQLを実行します。
SQLPLUS SYSTEM
SYSTEMユーザーに対して定義したパスワードの入力を求めるプロンプトが表示されます。
@$ORACLE_HOME/SQLPLUS/ADMIN/HELP/HELPDROP.SQL
Windowsでは、SQL*Plusから次のように入力してSQLスクリプトHELPDROP.SQLを実行します。
@%ORACLE_HOME%¥SQLPLUS¥ADMIN¥HELP¥HELPDROP.SQL
HELPDROP.SQLスクリプトは、ヘルプ表を削除してから切断します。
デフォルト以外のデータベースに接続する場合、同一のコンピュータか別のコンピュータかに関係なく、Oracle Netがインストールされ、データベース・リスナーが構成されて実行中である必要があります。Oracle Net Servicesは、SQL*PlusおよびiSQL*Plusアプリケーション・サーバーによって使用されます。
Oracle Net Servicesおよびデータベース・リスナーは、Oracleデータベースのインストール中に、デフォルトでインストールされます。Oracle Netのインストールおよび構成の詳細は、http://otn.oracle.co.jp/document/にあるOracleデータベースのドキュメントを参照してください。
次のように、iSQL*Plusアプリケーション・サーバーの動作およびセキュリティを設定できます。
Oracleデータベースのインストール後、iSQL*Plusサーバーに接続できない場合は、アプリケーション・サーバーが稼働していること(「iSQL*Plusアプリケーション・サーバーの実行のテスト」を参照)、および正しいURLに接続されていることを確認します。それでも接続できない場合は、アプリケーション・サーバーが使用しようとしているポートが使用中である可能性があります。メッセージが表示される場合も、その内容は、ポートを使用中のアプリケーションによって異なります。
$ORACLE_HOME/oc4j/j2ee/isqlplus/config
<website port="5560" display-name="Oracle9iAS Containers for J2EE HTTP Web Site">
現在使用されているポートを表示し、アプリケーション・サーバーが使用しようとしているポートがすでに使用中かどうかを確認するには、次のコマンドを実行します。
netstat -an
別のアプリケーションが同じポートを使用している場合、アプリケーション・サーバーが使用するポートを、使用されていない番号のポートに変更する必要があります。ポート番号には2000を超える値を使用し、通常はWebサービスが使用する80または8080は使用しないことをお薦めします。ポート番号には、すべての一意の整数値を使用できます。
$ORACLE_HOME/oc4j/j2ee/isqlplus/config
<website port="5560" display-name="Oracle9iAS Containers for J2EE HTTP Web Site">
このポート属性に指定された番号が、アプリケーション・サーバーの使用しようとしているポート番号です。
オペレーティング・システム・ユーティリティを使用して、iSQL*Plusアプリケーション・サーバーが実行中であるかどうかを確認します。Windowsでは、iSQL*Plusアプリケーション・サーバーは、Windows サービスとして実行するか、またはWindowsのコマンド・プロンプトから起動できます。
$ ps -eaf|grep Djava
次のような行が戻されます。
oracle 6082 1 0 Nov 05 pts/8 28:42 $ORACLE_HOME/jdk/bin/java -Djava.awt.headless=true -Djava.security.properties=/
この実行中のプロセスは、iSQL*Plusアプリケーション・サーバーです。
iSQL*Plusは、Windowsコマンド・プロンプトからも起動できます。iSQL*Plusアプリケーション・サーバーが起動され、コマンドラインから実行されているかどうかを確認するには、次のメッセージを含むオープン中のWindowsコマンド・プロンプトがあるかどうかを確認します。
%ORACLE_HOME%¥bin¥isqlplusctl start iSQL*Plus 10.2.0.1.0 Copyright (c) 2005 Oracle. All rights reserved. Starting iSQL*Plus ... iSQL*Plus started.
log4j.rootLoggerパラメータで、iSQL*Plusアプリケーション・サーバー・メッセージのロギングが有効かどうかを指定します。また、iSQL*Plusアプリケーション・サーバーのエラー・ログに記録されるメッセージのレベルも設定します。オラクル社カスタマ・サポート・センターから指示された場合を除き、この値を変更する必要はありません。ロギングは、ユーザーの問題解決に役立ちます。
log4j.rootLoggerパラメータを変更するには、iSQL*Plusアプリケーション・サーバーを停止する必要があります。log4j.rootLoggerパラメータは、log4j.propertiesファイルで指定され、このファイルは次のディレクトリに格納されます。
$ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/isqlplus/isqlplus/WEB-INF/classes
ロギングは、ALLエラーおよびメッセージ、DEBUGメッセージ、INFOメッセージ、WARNメッセージ、ERRORメッセージ、FATALエラーまたはOFFに設定できます。この設定は、log4j.propertiesファイルの必要な行をコメントにするか、またはコメント解除することによって変更できます。次に、FATALエラーを記録するデフォルトの設定例を示します。
# Set root logger level and its only appender to A1. #log4j.rootLogger=ALL, A1 #log4j.rootLogger=DEBUG, A1 #log4j.rootLogger=INFO, A1 #log4j.rootLogger=WARN, A1 #log4j.rootLogger=ERROR, A1 log4j.rootLogger=FATAL, A1 #log4j.rootLogger=OFF, A1
iSQL*Plusログ・ファイルは、次のファイルに書き込まれます。
$ORACLE_HOME/oc4j/j2ee/isqlplus/application-deployments/isqlplus/application.log
iSQL*Plusヘルプ・ログ・ファイルは、次のファイルに書き込まれます。
$ORACLE_HOME/oc4j/j2ee/isqlplus/application-deployments/isqlplushelp/application.log
iSQL*Plusセッションをタイムアウトさせることによって、マシン負荷を削減し、リソースを有効に活用できます。タイムアウト間隔は、session-timeout要素で設定されます。この要素は、セッションが時間切れになるまでのアイドル時間を定義します。
session-timeout要素を変更するには、iSQL*Plusアプリケーション・サーバーを停止する必要があります。web.xml構成ファイルを編集して、タイムアウト間隔を変更できます。web.xmlファイルは、次のディレクトリにあります。
$ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/isqlplus/isqlplus/WEB-INF
web.xmlファイルで、<session-config>内の<session-timeout>要素を検索します。構成ファイルで変更する行の構文は、次のとおりです。
<session-config> <session-timeout>15</session-timeout> </session-config>
値には、セッションがタイムアウトになるまでのアイドル時間(分)を指定します。デフォルト値は15分です。1〜1440分までの任意の値を設定できます。また、負の値(-1など)を入力して、期限切れにならないように設定することもできます。ただし、ユーザーがスクリプトを入力できないほど小さい値は設定しないでください。
タイムアウトしたiSQL*Plusセッションをユーザーが使用しようとすると、「ログイン」画面が表示されて再度ログインするように要求されます。次のエラーが表示されます。
SSP2-0864: セッションは失効しています。再度ログインしてください
ユーザーがiSQL*Plusでアクセスできるデータベースを、制限リストに含まれるデータベースに制限することができます。データベース・アクセス制限が有効な場合、「ログイン」画面で「接続識別子」テキスト・フィールドのかわりに使用可能なデータベースのドロップダウン・リストが表示されます。これによって、ホスト環境でのiSQL*Plusサーバーのセキュリティを向上させることができます。接続識別子は、iSQLPlusConnectIdListに定義されている順に表示されます。
iSQLPlusConnectIdListパラメータを変更するには、iSQL*Plusアプリケーション・サーバーを停止する必要があります。
$ORACLE_HOME/oc4j/j2ee/oc4j-applications/applications/isqlplus/isqlplus/WEB-INF/web.xmlファイルを編集して、iSQL*Plusユーザーのデータベース・アクセスを制限します。次のエントリを変更し、データベースの制限リストを含む新規のparam-value要素を含めます。
<init-param> <param-name>iSQLPlusConnectIdList</param-name> <description>The database(s) to which iSQL*Plus users are restricted. The list should contain the Oracle SIDs or SERVICE_NAMEs, separated by a semicolon (;). If there are no entries, database access is not restricted through iSQL*Plus.</description> <param-value>ora10g;ora9i</param-value> </init-param>
param-value要素内のエントリは、ご使用の$ORACLE_HOME/network/admin/tnsnames.oraファイルに設定したSERVICE_NAMEまたはSIDの別名と同一である必要があります。
接続識別子では、大/小文字が区別されます。また、引数にリストされた各接続識別子は、tnsnames.oraファイルで指定した別名と同一である必要があります。
設定後は、「ログイン」画面で行われるすべての接続、すべての動的レポート、およびCONNECTコマンドで試行されるすべての接続は、接続先が制限リストに含まれるデータベース以外の場合は拒否されます。同様に、SET INSTANCEを使用する場合、定義済の接続識別子はiSQLPlusConnectIdList内のエントリに一致する必要があります。一致しない場合、接続は拒否されます。
接続識別子が指定されていないか、または指定された識別子がiSQLPlusConnectIdList内のエントリに一致しない場合は、データベース接続が拒否され、次のエラーが発生します。
SP2-0884: Connection to database database_name is not allowed
iSQL*Plus DBA URLにアクセスするには、OC4Jユーザー・マネージャを設定する必要があります。次のものを使用して、OC4Jを設定できます。
iSQL*Plus DBAアクセスを有効にするには、iSQL*Plusアプリケーション・サーバーを停止する必要があります。
このマニュアルでは、XMLベースのプロバイダを使用する、iSQL*Plus DBA URLの設定方法について説明します。詳細は、http://otn.oracle.co.jp/document/にあるOracle Application Serverのドキュメントを参照してください。
Oracle JAAS Providerは、JAZN(Java AuthoriZatioN)とも呼ばれ、Oracleが実装するJava Authentication and Authorization Service(JAAS)です。このマニュアルでは、これ以降、OracleのJAAS ProviderをJAZNと呼びます。JAZN(Oracle JAAS Provider)の詳細は、http://www.oracle.com/technology/tech/java/oc4j/index.htmlにあるOracle Application Server Containers for J2EEのドキュメントを参照してください。
iSQL*Plus DBA URLのユーザーを管理するには、次の手順を実行します。
$JAVA_HOMEは、ご使用のJDK(1.4以上)の位置です。$JAVA_HOMEは、$ORACLE_HOME/jdkに設定する必要があります。
admin_passwordは、iSQL*Plus DBAレルム管理者ユーザーであるadminのパスワードです。adminユーザーのパスワードは、デフォルトで「welcome」に設定されています。このパスワードは、できるだけ早く変更してください。詳細は、「ユーザー・パスワードの変更」を参照してください。
JAZNシェル・オプションおよびコマンドライン・オプションは、すべての手順で使用できます。
JAZNシェルを起動するには、次のように入力します。
$JAVA_HOME/bin/java -Djava.security.properties=$ORACLE_ HOME/oc4j/j2ee/home/config/jazn.security.props -jar $ORACLE_ HOME/oc4j/j2ee/home/jazn.jar -user "iSQL*Plus DBA/admin" -password admin_password -shell
JAZNシェルを終了するには、次のように入力します。
EXIT
iSQL*Plus DBA URLへのアクセス権を持つ複数のユーザーを作成できます。JAZNシェルからユーザーを作成するには、次のように入力します。
JAZN> adduser "iSQL*Plus DBA" username password
コマンドラインからユーザーを作成するには、次のように入力します。
$JAVA_HOME/bin/java -Djava.security.properties=$ORACLE_ HOME/oc4j/j2ee/home/config/jazn.security.props -jar $ORACLE_ HOME/oc4j/j2ee/home/jazn.jar -user "iSQL*Plus DBA/admin" -password admin_password -adduser "iSQL*Plus DBA" username password
usernameとpasswordには、iSQL*Plus DBA URLへのログインに使用するユーザー名とパスワードを指定します。
複数のユーザーを作成するには、前述のコマンドをユーザーごとに繰り返します。
ユーザーが作成され、iSQL*Plus DBAレルムに追加されたことを確認できます。ユーザーの作成をJAZNシェルを使用して確認するには、次のように入力します。
JAZN> listusers "iSQL*Plus DBA"
ユーザーの作成をコマンドラインを使用して確認するには、次のように入力します。
$JAVA_HOME/bin/java -Djava.security.properties=$ORACLE_ HOME/oc4j/j2ee/home/config/jazn.security.props -jar $ORACLE_ HOME/oc4j/j2ee/home/jazn.jar -user "iSQL*Plus DBA/admin" -password admin_password -listusers "iSQL*Plus DBA"
作成したユーザー名が表示されます。
作成したユーザーごとに、webDbaロールへのアクセス権を付与する必要があります。ユーザーにwebDbaロールへのアクセス権をJAZNシェルから付与するには、次のように入力します。
JAZN> grantrole webDba "iSQL*Plus DBA" username
ユーザーにwebDbaロールへのアクセス権をコマンドラインから付与するには、次のように入力します。
$JAVA_HOME/bin/java -Djava.security.properties=$ORACLE_ HOME/oc4j/j2ee/home/config/jazn.security.props -jar $ORACLE_ HOME/oc4j/j2ee/home/jazn.jar -user "iSQL*Plus DBA/admin" -password admin_password -grantrole webDba "iSQL*Plus DBA" username
JAZNシェルを使用してユーザーを削除するには、次のように入力します。
JAZN> remuser "iSQL*Plus DBA" username
コマンドラインを使用してユーザーを削除するには、次のように入力します。
$JAVA_HOME/bin/java -Djava.security.properties=$ORACLE_ HOME/oc4j/j2ee/home/config/jazn.security.props -jar $ORACLE_ HOME/oc4j/j2ee/home/jazn.jar -user "iSQL*Plus DBA/admin" -password admin_password -remuser "iSQL*Plus DBA" username
ユーザーのwebDbaロールへのアクセス権をJAZNシェルから取り消すには、次のように入力します。
JAZN> revokerole webDba "iSQL*Plus DBA" username
ユーザーのwebDbaロールへのアクセス権をコマンドラインから取り消すには、次のように入力します。
$JAVA_HOME/bin/java -Djava.security.properties=$ORACLE_ HOME/oc4j/j2ee/home/config/jazn.security.props -jar $ORACLE_ HOME/oc4j/j2ee/home/jazn.jar -user "iSQL*Plus DBA/admin" -password admin_password -revokerole "iSQL*Plus DBA" username
ユーザー・パスワードをJAZNシェルから変更するには、次のように入力します。
JAZN> setpasswd "iSQL*Plus DBA" username old_password new_password
ユーザー・パスワードをコマンドラインから変更するには、次のように入力します。
$JAVA_HOME/bin/java -Djava.security.properties=$ORACLE_ HOME/oc4j/j2ee/home/config/jazn.security.props -jar $ORACLE_ HOME/oc4j/j2ee/home/jazn.jar -user "iSQL*Plus DBA/admin" -password admin_password -setpasswd "iSQL*Plus DBA" username old_password new_password
ご使用のブラウザでiSQL*Plus DBA URLを入力することによって、iSQL*Plus DBAアクセスをテストします。
http://machine_name.domain:5560/isqlplus/dba
iSQL*Plus DBA URLに対する認証を要求するダイアログ・ボックスが表示されます。前述の手順で作成したユーザーでログインします。変更を有効にするために、iSQL*Plusを再起動する必要があります。
ここでは、SSLを使用するためのiSQL*Plusの設定例を示します。この手順では、既存の証明書を所有していることを前提としています。所有していない場合は、認証局(CA)へ証明書を要求できます。多くのCAは、テストに使用するためのテスト証明書を提供します。
この手順では、JAVA_HOMEにORACLE_HOME/jdkを設定し、次の手順を$ORACLE_HOME/oc4j/j2eeディレクトリから実行します。
iSQL*Plusを使用してSSLを有効にするには、iSQL*Plusアプリケーション・サーバーを停止する必要があります。
keytoolユーティリティを使用して、鍵のペア(公開鍵および秘密鍵)および鍵のペアを格納するキー・ストア(データベース)を生成します。
$JAVA_HOME/bin/keytool -genkey -keyalg "RSA" -keystore keystore -storepass 123456 -validity 100
この例では、鍵アルゴリズムにRSAを使用し、鍵を格納するストレージ・ファイル名としてキー・ストアを使用します。ストレージ・ファイルへのアクセスに使用するパスワードに123456を設定します。このパスワードは100日間有効です。keytoolユーティリティは、次のように詳細な情報の入力を要求するプロンプトを表示します。
What is your first and last name? [Unknown]: Test User What is the name of your organizational unit? [Unknown]: IT Department What is the name of your organization? [Unknown]: Oracle Corporation What is the name of your City or Locality? [Unknown]: San Francisco What is the name of your State or Province? [Unknown]: California What is the two-letter country code for this unit? [Unknown]: US Is CN=Test User, OU=IT Department, O=Oracle Corporation, L=San Francisco, ST=California, C=US correct? [no]: yes Enter key password for <mykey> (RETURN if same as keystore password):
keystoreというストレージ・ファイルが、カレント・ディレクトリに生成されます。
ご使用のサーバーのルート証明書を手順1で作成したストレージ・ファイルにロードします。
$JAVA_HOME/bin/keytool -keystore keystore -import -alias servertest -file servertest.cer Enter keystore password: 123456 Owner: CN=Thawte Test CA Root, OU=TEST TEST TEST, O=Thawte Certification, ST=FO TESTING PURPOSES ONLY, C=ZA Issuer: CN=Thawte Test CA Root, OU=TEST TEST TEST, O=Thawte Certification, ST=F R TESTING PURPOSES ONLY, C=ZA Serial number: 0 Valid from: Thu Aug 01 10:00:00 EST 1996 until: Fri Jan 01 08:59:59 EST 2021 Certificate fingerprints: MD5: 5E:E0:0E:1D:17:B7:CA:A5:7D:36:D6:02:DF:4D:26:A4 SHA1: 39:C6:9D:27:AF:DC:EB:47:D6:33:36:6A:B2:05:F1:47:A9:B4:DA:EA Trust this certificate? [no]: yes Certificate was added to keystore
この例では、ルート証明書servertest.cerに対して別名servertestが作成されます。
証明書を要求するCAへの証明書要求を作成します。
$JAVA_HOME/bin/keytool -certreq -keystore keystore -file mycsr.csr Enter keystore password: 123456
この例では、証明書要求ファイルはmycsr.csrです。mycsr.csrの内容を使用して新しい証明書をCAに要求します。新しいファイルmycert.cerを作成し、このファイルに新しい証明書の内容を貼り付けます。
前述の手順で取得した新しい証明書をストレージ・ファイルへインポートします。
$JAVA_HOME/bin/keytool -import -trustcacerts -file mycert.cer Enter keystore password: 123456 Owner: CN=Test User, OU=IT Department, O=Oracle Corporation, L=San Francisco, ST=California, C=US Issuer: CN=Thawte Test CA Root, OU=TEST TEST TEST, O=Thawte Certification, ST=FOR TESTING PURPOSES ONLY, C=ZA Serial number: 7988 Valid from: Thu Sep 04 14:12:45 EST 2003 until: Thu Sep 25 14:12:45 EST 2003
Certificate fingerprints:
MD5: F3:E2:1F:6B:5E:E0:8A:7C:7D:94:60:96:28:55:CF:75
SHA1: D2:54:0E:97:86:53:D7:F5:E9:68:BC:C6:BF:42:62:88:38:15:BE:F4 Trust this certificate? [no]: yes Certificate was added to keystore
iSQL*PlusをSSLモードで実行するように構成します。
cd $ORACLE_HOME/oc4j/j2ee/isqlplus/config
cp http-web-site.xml secure-web-site.xml
<web-site port="4443" secure="true" display-name="Oracle9iAS Containers for J2EE HTTP Web Site">
SSLモードのiSQL*Plusに使用するポートは、マシン上のどの空きポートでもかまいません。この例では、ポート4443を設定します。デフォルトのSSLポートは443です。
<ssl-config keystore="/oracle/ora10g/oc4j/j2ee/keystore" keystore-password="123456" />
<web-site default="true" path="./secure-web-site.xml" />
SSL実装の詳細は、『Oracle Application Server Containers for J2EEセキュリティ・ガイド』を参照してください。
アプリケーション・サーバー構成ファイルを編集して、iSQL*PlusまたはiSQL*Plusヘルプを有効または無効にできます。
iSQL*PlusまたはiSQL*Plusヘルプを無効にするには、次の手順を実行します。
<application name="isqlplus" path="../applications/isqlplus.ear" auto-start="true" />
または、iSQL*Plusヘルプのapplicationタグを検索します。このタグは、<application name="isqlplushelp" ...>という形式です。iSQL*Plusヘルプを無効にするには、commentタグ<!--および-->で囲みます。iSQL*Plusヘルプを有効にするには、commentタグを削除します。iSQL*Plusヘルプを無効化または有効化するために構成ファイルで変更する行の構文は、次のとおりです。
<application name="isqlplushelp" path="../applications/isqlplushelp.ear" auto-start="true" />
iSQLPlusBannerMessage構成パラメータによって、iSQL*Plusの「ログイン」画面に表示されるデフォルトのセキュリティ・メッセージを削除するか、または独自のメッセージを作成できます。また、システム全体のブロードキャスト・メッセージ(免責事項、計画されている停止時間のメッセージ)を表示できます。表示されるデフォルトのメッセージは、次のとおりです。
Unauthorized use of this site is prohibited and may be subject to civil and criminal prosecution.
メッセージを変更するには、iSQL*Plusアプリケーション・サーバーを停止する必要があります。
構成ファイルweb.xmlを編集して、iSQLPlusBannerMessageを新しい値に設定できます。web.xmlファイルは、次のディレクトリにあります。
$ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/isqlplus/isqlplus/WEB-INF
web.xmlファイルで、<param-name> iSQLPlusBannerMessageを検索します。構成ファイルで変更する行の構文は、次のとおりです。
<init-param> <param-name>iSQLPlusBannerMessage</param-name> <param-value/> <description>A text message displayed on the iSQL*Plus login screen.</description> </init-param>
デフォルトのメッセージを変更するには、次の値を変更します。
<param-value/>
この値を、次の値に置き換えます。
<param-value>new_message</param-value>
new_messageは、デフォルトのメッセージのかわりに表示する新しいメッセージのテキストです。バナー・メッセージを表示しない場合は、HTMLの空白エンティティ を使用します。
iSQLPlusAllowScriptsURL構成パラメータは、iSQL*Plusアプリケーション・サーバーで、ユーザーによるURLからのスクリプトのロード、スクリプトからの@、@@およびSTARTコマンドの実行、または動的レポートによってURLからロードされたスクリプトの使用を可能にするかどうかを制御します。
この構成パラメータを変更するには、iSQL*Plusアプリケーション・サーバーを停止する必要があります。
構成ファイルweb.xmlを編集して、iSQLPlusAllowScriptsURLをYESまたはNOに設定できます。web.xmlファイルは、次のディレクトリにあります。
$ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/isqlplus/isqlplus/WEB-INF
web.xmlファイルで、<param-name> iSQLPlusAllowScriptsURLを検索します。構成ファイルで変更する行の構文は、次のとおりです。
<init-param> <param-name>iSQLPlusAllowScriptsURL</param-name> <param-value>no</param-value> <description>Enables and disables the Dynamic Report URL and Upload from URL functionality, and prevents @, @@ and START from accessing URLs. Valid values are: yes | no</description> </init-param>
パラメータがNOに設定されている場合、またはパラメータが存在しないか値が無効な場合、ユーザーはURLからスクリプトをロードできません。iSQLPlusAllowScriptsURLのデフォルト値は、NOです。URLアクセスが無効になっている場合、「スクリプトのロード」画面に「URL」フィールドは表示されません。@、@@またはSTARTコマンドを実行しようとすると、次のメッセージが表示されます。
SP2-0936 URL access is disabled in iSQL*Plus
パラメータがYESに設定されている場合、ユーザーは、URLからのスクリプトのロード、スクリプトからの@、@@およびSTARTコマンドの実行、または動的レポートによってURLからロードされたスクリプトの使用を行うことができます。
iSQLPlusAllowUserMarkup構成オプションは、iSQL*Plusアプリケーション・サーバーで、ユーザーがスクリプトでカスタムHTMLを使用できるかどうかを制御します。
ユーザー定義のHTMLマークアップを有効にするには、iSQL*Plusアプリケーション・サーバーを停止する必要があります。
構成ファイルweb.xmlを編集して、iSQLPlusAllowUserMarkupをALLまたはNONEに設定できます。web.xmlファイルは、次のディレクトリにあります。
$ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/isqlplus/isqlplus/WEB-INF
web.xmlファイルで、<param-name> iSQLPlusAllowUserMarkupを検索します。構成ファイルで変更する行の構文は、次のとおりです。
<init-param> <param-name>iSQLPlusAllowUserMarkup</param-name> <param-value>none</param-value> <description>Valid values are: none | all</description> </init-param>
パラメータがNONEに設定されている場合、あるいはパラメータが存在しないか値が無効な場合、ユーザーは、SET MARKUP HTML HEAD text BODY text TABLE text ENTMAPまたはCOLUMN ENTMAPを使用してユーザー定義のHTMLを作成することはできません。スクリプトの書式設定プリファレンス画面で、「特殊文字とHTML実体参照のマップ」がOFFに設定されている場合、その値は無視され、ONに設定されます。iSQLPlusAllowUserMarkupのデフォルト値はNONEです。この値をNONEに設定しておくことによって、セキュリティが強化されます。
パラメータがALLに設定されている場合は、SET MARKUP HTML HEAD text BODY text TABLE text ENTMAPコマンドおよびCOLUMN ENTMAPコマンドを実行して、iSQL*Plusセッションまたはレポート列に対するエンティティのマッピングのステータスを変更できます。これによって、カスタムHTMLをiSQL*Plusレポート出力に含めることが可能になります。
CookieおよびJavaScriptを有効にするには、Webブラウザを構成する必要があります。
ご使用のiSQL*Plusインタフェースおよびオンライン・ヘルプは、デフォルトでオペレーティング・システムの言語で表示されます。ただし、取得したり入力するデータは、環境変数NLS_LANGで設定したlanguageおよびterritoryパラメータによって判断されます。charsetパラメータは無視され、常にUTF8になります。詳細は、第11章「SQL*Plus グローバリゼーション・サポート」を参照してください。
iSQL*Plusの各ログインは一意に識別されるため、次のことが可能です。
iSQL*Plusでは、セッションのコンテキスト情報をアプリケーション・サーバーに格納することで、このステートフルな動作がサポートされます。アプリケーション・サーバーで、HTTP要求が常に同じサーバーにルート指定されていることを確認する必要があります。同じサーバーにルート指定されていない場合、セッションのコンテキストは見つかりません。ただし、複数のアプリケーション・サーバーを起動すると、複数のサーバー間でのユーザー負荷の分散に有効な場合があります。
次に同じワークステーションからiSQL*Plusへログインする場合、次の特定セッションの設定は保持または自動的に入力されます。
ユーザー名、パスワードおよび出力先の設定は、iSQL*Plusでは保存されません。ログインの詳細は、ご使用のWebブラウザで保持されます。
Windows GUIの構成について、次の内容を説明します。
カレント・セッションのSQL環境文の作成に使用する「環境」ダイアログ・ボックスを表示するには、「オプション」メニューから「環境」を選択します。
「オプション設定」リストから項目を選択して、設定を開始します。デフォルトの設定を使用することも、他のダイアログ・ボックスの設定項目を使用して設定をカスタマイズすることもできます。使用できる設定項目は、選択するオプションによって異なります。オプションおよび値に対し、複数の変更を実行できます。テキスト・ボックスが使用できる場合は、適切なテキストまたは数値を入力できます。「OK」をクリックして、設定を確定します。
ARRAYSIZEをデフォルト値(15)に設定します。
ARRAYSIZEを変更するには、「ユーザー定義」を選択して、テキスト・ボックスに数字を入力します。
ECHOのデフォルトはオフです。設定を変更するには、「ユーザー定義」を選択してから「オン」をクリックします。
ここでは、Windowsのレジストリ・エントリを設定して、Windows GUIおよびコマンドライン・インタフェースの設定をカスタマイズする方法を説明します。
Windows版のOracle製品をインストールすると、Oracle Universal Installerは関連するパラメータをWindowsのレジストリに追加します。
ご使用のWindowsプラットフォームで使用できるレジストリのバージョン(REGEDT32.EXEまたはREGEDIT.EXE)を次の表に示します。
| Windowsプラットフォーム | REGEDT32.EXE | REGEDIT.EXE |
|---|---|---|
|
Windows XP Pro |
使用可 |
使用可 |
|
Windows 2000 |
使用可 |
使用可 |
HKEY_LOCAL_MACHINE¥SOFTWARE¥ORACLEサブキーには、Oracleデータベースのパラメータが含まれます。
Oracleデータベースのパラメータを定義するレジストリ・エントリの編集方法の説明は、レジストリ・エディタのヘルプ・システムを参照してください。
Oracleデータベースに関連するレジストリ・エントリの値を変更したり、レジストリ・エントリを追加した場合は、変更を有効にするためにSQL*Plusを再起動する必要があります。
SQLPATHレジストリ・エントリは、SQLスクリプトの位置を指定します。SQL*Plusでは、カレント・ディレクトリ、次にSQLPATHレジストリ・エントリで指定されたディレクトリ、SQLPATHディレクトリのサブディレクトリの順に、SQLスクリプトが検索されます。
HKEY_LOCAL_MACHINE¥SOFTWARE¥ORACLE¥HOME0レジストリ・サブキー(または、ORACLE_HOMEに関連付けられているHOMEnディレクトリ)には、SQLPATHレジストリ・エントリが含まれます。SQLPATHは、デフォルト値%ORACLE_HOME%¥DBSを使用して作成されます。SQLPATHの有効な値として、任意のドライブの任意のディレクトリを指定できます。
SQLPATHレジストリ・エントリを設定する場合に、ディレクトリをセミコロン(;)で区切って複数指定することもできます。たとえば、次のように入力します。
C:¥ORACLE¥ORA10¥DATABASE;C:¥ORACLE¥ORA10¥DBS
SQLPATHレジストリ・エントリの編集方法の説明は、レジストリ・エディタのヘルプ・システムを参照してください。
SQLPLUS_FONTレジストリ・エントリでは、SQL*PlusのWindows GUIで使用するフォントを定義します。このエントリは、レジストリ・サブキーHKEY_LOCAL_MACHINE¥SOFTWARE¥ORACLE¥HOME0にあります。SQLPLUS_FONTエントリを作成していないか、無効な名前や値を指定した場合は、デフォルトのFixedsysが使用されます。
SQLPLUS_FONTレジストリ・エントリの作成方法およびフォントの設定方法は、「Windows GUIフォントおよびフォント・サイズを変更する手順」を参照してください。SQLPLUS_FONTレジストリ・エントリの編集方法の説明は、レジストリ・エディタのヘルプ・システムを参照してください。
SQLPLUS_FONT_SIZEレジストリ・エントリでは、SQL*PlusのWindows GUIで使用するフォント・サイズを定義します。このエントリは、レジストリ・サブキーHKEY_LOCAL_MACHINE¥SOFTWARE¥ORACLE¥HOME0にあります。SQLPLUS_FONT_SIZEエントリを作成していないか、無効な名前や値を指定した場合は、デフォルト・サイズ(16)が使用されます。
SQLPLUS_FONT_SIZEレジストリ・エントリの作成方法およびフォント・サイズの設定方法は、「Windows GUIフォントおよびフォント・サイズ」を参照してください。SQLPLUS_FONT_SIZEレジストリ・エントリの編集方法の説明は、レジストリ エディタのヘルプ・システムを参照してください。
|
![]() Copyright © 2005 Oracle Corporation. All Rights Reserved. |
|