| SQL*Plus ユーザーズ・ガイドおよびリファレンス 10g リリース2(10.2) B19277-01 |
|
この章では、SQL*Plusの起動方法、ログイン方法、データベースへの接続方法、ヘルプの使用方法および終了方法について説明します。
ここでは、次の項目について説明します。
SQL*Plusの起動時、Oracleデータベース・スキーマへのログインにユーザー名およびパスワードが必要です。ユーザー名およびパスワードによって、Oracleデータベース・スキーマの認証されたユーザーとして識別されます。
データベース管理者(DBA)には、必要な権限を付与してデータベース・アカウントを作成し、アカウントにアクセスするためのユーザー名とパスワードを提供する責任があります。
Oracleデータベースのインストール中にデフォルト・ログインが作成され、対応するパスワードの入力を求めるプロンプトが表示されます。作成されるデフォルト・ログインのユーザー名の一部には、次のものがあります。
Oracleデータベースのインストール中に、ユーザーが作成されたことを示すメッセージが表示されます。
デフォルト・ログインの詳細は、『Oracle Database管理者ガイド』を参照してください。
一度ログインすると、CONNECTコマンドを使用して別のユーザー名で接続できるようになります。ユーザー名およびパスワードは、そのデータベースに対して有効である必要があります。たとえば、パスワードFOXを使用してユーザー名TODDでデフォルトのデータベースに接続するには、次のように入力します。
CONNECT TODD
パスワードFOXを入力するように求められます。
コマンドライン・ユーザー・インタフェースでユーザー名およびパスワードを省略した場合、それらの入力を求めるSQL*Plusプロンプトが表示されます。CONNECTコマンドは、最初にユーザーを現行のデータベースから切断するため、CONNECTコマンドに無効なユーザー名およびパスワードを使用した場合、どのデータベースにも接続していない状態になります。
データベースへの接続の際にアカウントの有効期限が切れたユーザーとしてログオンまたは接続した場合は、接続の前にパスワードを変更するように求めるプロンプトが表示されます。
データベースへの接続時にアカウントがロックされている場合は、メッセージが表示され、アカウントのロックがDBAによって解除されるまで、そのユーザーとして接続できません。
DISCONNECTコマンドを使用すると、SQL*Plusを終了せずに、データベースから切断できます。
アプリケーションでデータベースへの接続にパスワード資格証明が使用される大規模な配置では、コマンドラインを使用するかわりに、そのような資格証明をクライアント側のOracle Walletに格納できます。Oracle Walletは、認証および署名資格証明の格納に使用されるセキュアなソフトウェア・コンテナです。
データベース・パスワード資格証明をクライアント側のOracle Walletに格納すると、ユーザー名およびパスワードをアプリケーション・コード、バッチ・ジョブまたはスクリプトに埋め込む必要がなくなります。これによって、パスワードをスクリプトおよびアプリケーション・コードに平文で公開する危険が少なくなり、ユーザー名およびパスワードの変更のたびにコードを変更する必要がないため、メンテナンスが簡単になります。また、アプリケーション・コードを変更する必要がないため、これらのユーザー・アカウントに対するパスワード管理方針も簡単に適用できます。
外部パスワード・ストアを使用するようにクライアントを構成すると、アプリケーションで、次の構文を使用してパスワード認証を使用するデータベースに接続できます。
CONNECT /@database_alias
このCONNECT文に、データベース・ログイン資格証明を指定する必要はありません。かわりに、クライアントのWallet内のデータベース・ログイン資格証明が検索されます。
コマンドライン・インタフェースで、入力したパスワードが期限切れの場合は、ログイン時にパスワードの変更を要求するSQL*Plusプロンプトが表示されます。パスワードを正常に変更した後は、ログインできます。
入力したパスワードが期限切れの場合、ログイン時に「期限切れのパスワード」画面が自動的に表示されます。「パスワードの変更」画面の指定と同様に、「期限切れのパスワード」画面のフィールドへ入力します。
パスワードを正常に変更した後は、ログインできます。「取消」ボタンをクリックした場合は、「ログイン」画面に戻ります。
コマンドライン・ユーザー・インタフェースで、PASSWORDコマンドを使用してパスワードを変更できます。「PASSWORD」を参照してください。
「パスワードの変更」画面でOracleデータベース・アカウントのパスワードを変更できます。DBA権限でログインしている場合は、他のユーザーのパスワードを変更できます。「パスワードの変更」画面には、「プリファレンス」画面からアクセスできます。
Oracleデータベース・アカウントのユーザー名を入力します。
Oracleデータベース・アカウントの現在のパスワードを入力します。
新規パスワードを入力します。
正しく入力されていることを確認するため、新規のパスワードを再入力します。
Oracleデータベース・アカウントのパスワードを変更するには、「適用」ボタンをクリックします。
パスワードを変更せずに画面を消去するには、「取消」ボタンをクリックします。
データベース内のデータの問合せまたは変更を実行するには、Oracleデータベース(インスタンス)に接続する必要があります。デフォルトのデータベースおよびネットワーク上の他の利用可能なデータベースに接続できます。ネットワークを介して別のデータベースに接続するには、両方のデータベースにOracle Netが構成され、互換性のあるネットワーク・ドライバを備えている必要があります。デフォルト以外のデータベースに接続するには、接続識別子またはネット・サービス名を入力してください。
接続識別子またはネット・サービス名の入力方法は次のとおりです。
DBAは、使用するデータベースを作成して、そのデータベースのネット・サービス名をtnsnames.oraファイルに定義します。iSQL*Plusでは、ネット・サービス名のドロップダウン・リストで選択可能なデータベースを制限することもできます。
tnsnames.oraファイルにネット・サービス名を定義する構文は次のとおりです。
net_service_name= (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=host)(PORT=port) ) (CONNECT_DATA= (SERVICE_NAME=service_name) ) )
ネット・サービス名(別名)を使用するには、SQL*Plusが実行されているマシン(iSQL*Plusの場合は、iSQL*Plusアプリケーション・サーバーが実行されているマシン)のtnsnames.oraファイルに、このサービス名のエントリが存在する必要があります。接続識別子を使用する場合、tnsnames.oraファイルのエントリは必要ありません。
SALES1 = (DESCRIPTION = (ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521) ) (CONNECT_DATA= (SERVICE_NAME=sales.us.acme.com) ) )
SQLPLUS hr@SALES1
データベース接続およびネット・サービス名の定義の詳細は、『Oracle Database Net Servicesリファレンス』および『Oracle Database Net Services管理者ガイド』を参照してください。
ご使用の構成に応じて、完全な接続識別子を次の構文で使用できます。
(DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=host)(PORT=port) ) (CONNECT_DATA= (SERVICE_NAME=service_name) ) )
SERVICE_NAMEは、データベース作成中に入力したグローバル・データベース名です。データベース名をドメイン名と結合したものです。たとえば、SERVICE_NAME sales.us.acme.comでは、salesがデータベース名で、us.acme.comがドメインです。
INSTANCE_NAMEは、作成中に指定したデータベース・インスタンス名です。デフォルトは、データベース作成中に入力したSIDです。
Oracleシステム識別子(SID)によって、特定のOracleリリース8.0データベース・インスタンスが識別されます。
オプションで、SERVICE_NAME句のかわりにINSTANCE_NAMEを使用できます。
Oracleリリース8.0以下のデータベースに接続する場合は、SERVICE_NAMEのかわりにSIDを使用します。
SQLPLUS hr@(DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521) ) (CONNECT_DATA= (SERVICE_NAME=sales.us.acme.com) ) )
省略した簡単な接続識別子の構文は次のとおりです。
[//]host[:port][/service_name]
sqlplus hr@sales-server:1521/sales.us.acme.com
connect hr@sales-server:1521/sales.us.acme.com
簡単な接続識別子は、完全な接続識別子やネット・サービス名を使用できる状況であれば、どこでも使用できます。また、簡単な構文は単純で、tnsnames.oraエントリは必要ありません。
コマンドライン・インタフェースでは、データベースに接続せずにSQL*Plusを起動できます。この機能は、データベース管理作業の実行、トランスポータブル・スクリプトの書込み、あるいはSQL*Plusの編集コマンドを使用したスクリプトの書込みまたは編集に有効です。
SQLPLUSコマンドで/NOLOG引数を使用して、接続なしのコマンドライン・セッションを開始できます。SQL*Plusの起動後は、CONNECTコマンドでデータベースに接続できます。
SQLPLUS /NOLOG
リモートのOracleデータベースに接続する場合は、Oracle Netソフトウェアがインストールされ、正常に動作することを確認してください。詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。
SQL*Plusのコマンドライン・セッションまたはWindows GUIセッションの開始時、そのセッションでCONNECTコマンドを実行すると、サイト・プロファイルglogin.sqlおよびユーザー・プロファイルlogin.sqlが、次の時点で処理されます。
最初にサイト・プロファイルglogin.sqlが処理され、次にユーザー・プロファイルlogin.sqlが処理されます。
iSQL*Plusセッション開始時、そのセッションでCONNECTコマンドを実行すると、サイト・プロファイルglogin.sqlが、次の時点で処理されます。
SQL*Plusリリース1(10.1)での動作は、SET SQLPLUSCOMPATIBILITYの設定によって異なります。たとえば、CONNECTコマンドの後のglogin.sqlおよびlogin.sqlは、デフォルトのSQLPLUSCOMPATIBILITYの設定が10.1である場合のみ処理されます。詳細は、「SET SQLPLUSCOMPAT[IBILITY] {x.y[.z]}」を参照してください。
SQL*Plusを使用する前に、SQL*Plusの起動および終了方法を理解しておく必要があります。
ここでは、SQL*Plusの起動方法を示します。
SQLPLUS
SQL*Plus 次のように、リリース番号、現在の日付および著作権情報が表示され、ユーザー名の入力を求めるプロンプトが表示されます(システム上に表示されるテキストは少し異なる場合があります)。
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jun 2 16:29:01 2005 |
ユーザー名およびパスワードを入力するプロセスは、ログインと呼ばれます。接続先のOracleデータベースのリリースおよびPL/SQLなどの使用可能なツール製品のリリースが表示されます。
続いて、次のようなSQL*Plusのコマンド・プロンプトが表示されます。
SQL>
このコマンド・プロンプトは、SQL*Plusがコマンド入力可能な状態であることを示します。
SQL*Plusが起動しない場合は、問題の修正に有効なメッセージが表示されます。
SQL*Plusのコマンドライン・ヘルプにアクセスするには、SQLコマンド・プロンプトまたはiSQL*Plusの「Workspace Input」領域でHELPまたは?と入力し、続けてコマンド名を入力します。詳細は、「HELP」コマンドを参照してください。たとえば、次のように入力します。
HELP ACCEPT
SQL*Plusコマンドのリストを表示するには、HELPの後にTOPICSまたはINDEXを入力します。HELP TOPICSでは、SQL*Plusコマンドが1列に表示されます。HELP INDEXでは、SQL*Plusコマンドが標準画面内に収まるように4列に表示されます。たとえば、次のように入力します。
HELP INDEX
GUIは、WindowsメニューまたはWindowsコマンド・プロンプトから起動できます。
「SQL*Plus」ウィンドウが、「ログオン」ダイアログ・ボックスとともに表示されます。
有効なユーザー名およびパスワードを入力します。リモートのOracleデータベースに接続している場合は、「ホスト文字列」フィールドにOracle Netの接続識別子を入力します。デフォルトのデータベースに接続するには、「ホスト文字列」フィールドを空白のままにします。Oracle Net接続識別子の構成および使用の詳細は、前述の「簡単な接続識別子」を参照してください。
C:¥> SQLPLUSW
SQL*Plus GUIが起動します。オプションで、スラッシュ(/)で区切ったログイン・ユーザー名とパスワード、および接続先のデータベースを指定できます。ただし、セキュリティ上の理由から、パスワードはプレーン・テキストで指定しないことをお薦めします。次のように指定してSQL*Plus GUIを起動すると、パスワードの入力を求めるプロンプトが常に表示されます。
C:¥> SQLPLUSW username@connect_identifier
指定しない場合は、「SQL*Plusの起動」で説明したようにログイン・ダイアログ・ボックスに必要な情報を入力します。Oracle SQL*Plusアプリケーション・ウィンドウが表示されます。
iSQL*Plusセッションを開始する前に、iSQL*Plusアプリケーション・サーバーが中間層で実行されている必要があります。WindowsでのiSQL*Plusの起動および停止のために、コマンドライン・ユーティリティおよびWindowsサービスが提供されています。
iSQL*Plusアプリケーション・サーバーは、Oracleデータベースのインストール時に、デフォルトで起動します。
また、コマンド・プロンプトからiSQL*Plusを起動することもできます。
%ORACLE_HOME%¥bin¥isqlplusctl start
iSQL*Plusアプリケーション・サーバーが起動されます。
http://machine_name:5560/isqlplus/
デフォルトでは、
iSQL*PlusはHTTPポート5560を使用します。ポート5560でiSQL*Plusを使用できない場合は、$ORACLE_HOME/install/portlist.iniファイルを開き、iSQL*Plusを実行しているポートを検索します。
http://127.0.0.1:5560/isqlplus/ http://localhost:5560/isqlplus/
iSQL*Plusの「ログイン」画面が表示されます。
http://127.0.0.1:5560/ http://localhost:5560/
OC4Jのデフォルト・ページが表示されます。
OC4Jのデフォルト・ページが表示されない場合は、iSQL*Plusアプリケーション・サーバーが実行されていません。「iSQL*Plusアプリケーション・サーバーの実行のテスト」も参照してください。
iSQL*Plusアプリケーション・サーバーが使用するHTTPポート番号を調べるには、アプリケーション・サーバーで$ORACLE_HOME/install/portlist.iniファイルを検索します。「使用中のiSQL*Plusアプリケーション・サーバーポートの変更」も参照してください。
停止すると、iSQL*Plusアプリケーション・サーバーを再起動するまで、このサーバーからiSQL*Plusセッションを使用できません。
iSQL*Plusセッションを開始するには、次の手順を実行します。
http://machine_name.domain:port/isqlplus
machine_name.domainにはURLを指定し、portには、使用するアプリケーション・サーバーのポート番号を指定します。iSQL*Plusの「ログイン」画面が表示されます。
正常にログインすると、各ログインが一意に識別されるため、同じマシンまたは複数のクライアント・マシンから、複数のiSQL*Plusセッションを実行できます。
SYSDBAまたはSYSOPER権限でiSQL*Plusセッションを開始するには、次の形式のiSQL*Plus DBA URLを使用します。
http://machine_name:port/isqlplus/dba/
iSQL*Plus DBA URLにアクセスするには、JAZN(Java AuthoriZatioN)と呼ばれるOracle JAAS Providerを使用してログイン資格証明を設定する必要があります。iSQL*Plus DBA URLへのアクセスの詳細は、「iSQL*Plus DBAアクセスの有効化」を参照してください。
iSQL*Plus DBAのURLから接続している場合、アプリケーション・サーバー認証によってDBAの「ログイン」画面またはCONNECTコマンドを介してAS SYSDBA接続またはAS SYSOPER接続が可能です。ただし、Oracleデータベースのユーザー名およびパスワード認証では、アクセスできない場合があります。
URLから要求を送信して、iSQL*Plusを起動し、URL変数、SQLスクリプトおよび置換変数を渡すことができます。
SQLスクリプトは、HTTPまたはFTPから使用可能か、またはURL変数としてiSQL*Plusに渡される必要があります。iSQL*Plusでスクリプトを実行し、その結果をWebブラウザ・ウィンドウに戻すか、またはスクリプトを「ワークスペース」画面にロードします。
iSQL*Plusは、通常のユーザーとして、またはSYSDBAかSYSOPER権限で起動することができます。
通常のユーザーとしてiSQL*Plusを起動するために、Webブラウザの「場所」または「アドレス」フィールドに入力する構文は、次のとおりです。
http://machine_name.domain:port/isqlplus[/dynamic?UserOpts]
また、SYSDBAまたはSYSOPER権限でiSQL*Plusを起動するには、次の構文を使用します。
http://machine_name.domain:port/isqlplus/dba[/dynamic?DBAOpts]
各項目の内容は、次のとおりです。
machine_name.domainには、アプリケーション・サーバーのURLを指定します。
portには、アプリケーション・サーバーで使用されるポート番号を指定します。
UserOptsには、UserLogin、Script、UserLogin&Scriptのいずれかを指定します。
DBAOptsには、DBALogin、Script、DBALogin&Scriptのいずれかを指定します。
さらに、次のように指定します。
UserLoginは、userid=username[/password][@connect_identifier]という形式で指定します。
DBALoginは、userid={username[/password][@connect_identifier] | / } AS {SYSDBA | SYSOPER}という形式で指定します。
Scriptは、script=text[&type={url|text}][&action={execute|load}][&variable=value ...]という形式で指定します。
URLパラメータのuseridが存在しない場合、またはこのパラメータの情報が不完全な場合は、iSQL*Plusで「ログイン」画面が表示されます。URLパラメータが完全で、ログイン情報が有効な場合、その要求はiSQL*Plusで接続され続行されます。
SQLスクリプトのパラメータは、任意の順序で指定できます。ユーザー変数のスクリプト・パラメータは、script、useridなどの予約済キーワードで始まる場合、リテラル・パラメータではなくコマンドとしてiSQL*Plusで解釈される可能性があります。
URLパラメータのtypeがurlか、または指定されていない場合、スクリプト・パラメータはSQLスクリプトのURLとみなされます。
URLパラメータのtypeがtextの場合、スクリプト・パラメータのtextはSQLスクリプト自身の内容とみなされます。この方法で渡されたスクリプトの場合、HTMLキャラクタ・セットに制限が加えられる可能性があります。
URLパラメータのactionがexecuteか、または指定されていない場合、SQLスクリプトはiSQL*Plusで実行されます。
URLパラメータのactionがloadの場合、スクリプトは「ワークスペース」画面にロードされますが、実行はされません。Webブラウザでは、大きいスクリプトを「ワークスペース」画面に表示できない場合があります。その場合、スクリプトが切り捨てられる可能性があります。
ユーザー名HRでiSQL*Plusにログインし、パスワードの入力を求めるプロンプトを表示するには、次のように入力します。
http://machine_name.domain:5560/isqlplus/dynamic?userid=HR
iSQL*Plusで、URL http://machine_name2.domain/myscript.sqlにあるスクリプトを実行し、ユーザー名およびパスワードの入力を求めるプロンプトを表示するには、次のように入力します。
http://machine_name.domain:5560/isqlplus/dynamic?script=http://machine_ name2.domain/myscript.sql
URLに配置されているスクリプトを実行し、ユーザー名を渡し、パスワードの入力を求めるプロンプトを表示し、データベースにログインし、スクリプトにパラメータを渡して置換変数の値を指定するには、次のように入力します。
http://machine_ name.domain:5560/isqlplus/dba/dynamic?userid=hr@oracle10g%20as%20sysdba&script=ftp://ma chine_name2.domain/script.sql&name=*&salary=12000
iSQL*Plus DBAのURLを使用するため、アプリケーション・サーバー認証も必要です。空白はサポートされていないため、この例では%20としてエンコードされています。
ユーザー名およびパスワードを渡さずに、スクリプトをiSQL*Plusにロードするには、次のように入力します。
http://machine_name.domain:5560/isqlplus/dynamic?script=select%20*%20from%20emp_ details_view;&type=text&action=load
iSQL*Plusのオンライン・ヘルプにアクセスするには、「ヘルプ」アイコンをクリックします。iSQL*Plusに固有のヘルプは、新しいブラウザ・ウィンドウに表示されます。このヘルプは、8カ国語で利用できます。
ポルトガル語(ブラジル)
フランス語
ドイツ語
イタリア語
日本語
韓国語
簡体字中国語
スペイン語
デフォルトでは英語がインストールされます。また、要求した言語が使用できない場合も、英語がインストールされます。
SQL*Plusでの言語サポートの詳細は、第11章「SQL*Plus グローバリゼーション・サポート」を参照してください。
3つのユーザー・インタフェースからSQL*Plusを終了するそれぞれの方法を説明します。
無効なユーザー名またはパスワードを指定したか、あるいはその他の理由でSQL*Plusへログインできない場合は、EXIT FAILUREコマンドと同じエラー状態が戻されます。詳細は、「EXIT」コマンドを参照してください。
SQL*Plusでの作業が終了し、オペレーティング・システムに戻る場合は、SQL*PlusのプロンプトでEXITまたはQUITを入力するか、またはファイルを終了するキー(UNIXの場合は[Ctrl]を押しながら[D]、Windowsの場合は[Ctrl]を押しながら[Z])を入力します。
オペレーティング・システムのプロンプトに戻る前に、切断したOracleデータベースのリリース番号、およびSQL*Plusを介して使用可能なツール製品のリリース番号が表示されます。
コマンドライン・ユーザー・インタフェースと同様に、SQL*PlusのプロンプトでEXITまたはQUITを入力することによって、Windows GUIを終了できます。
「ファイル」メニューで「終了」をクリックしても、Windows GUIを終了できます。
iSQL*Plusを終了するには、「ログアウト」アイコンをクリックします。
システムおよびサーバー・リソースを解放する場合は、常に「ログアウト」アイコンを使用してiSQL*Plusを終了することをお薦めします。
iSQL*Plusでは、EXITまたはQUITコマンドを使用してもiSQL*Plusセッションは終了せず、現在実行中のスクリプトが停止します。
SQL*Plusのコマンドラインを起動するには、オペレーティング・システムのプロンプトで、次のようにSQLPLUSコマンドを使用します。
SQLPLUS [ [option] [Logon] [Start] ]
optionの構文は、次のとおりです。
-H[ELP]|-V[ERSION] |[[-C[OMPATIBILITY] {x.y[.z]] [-L[OGON]] [-M[ARKUP] markup_option] [-R[ESTRICT] {1|2|3}] [-S[ILENT]] ]
また、markup_optionの構文は、次のとおりです。
HTML [ON|OFF] [HEAD text] [BODY text] [TABLE text] [ENTMAP {ON|OFF}] [SPOOL {ON|OFF}] [PRE[FORMAT] {ON|OFF}]
Logonの構文は、次のとおりです。
{username[/password][@connect_identifier] | / } [AS {SYSOPER|SYSDBA}] |/NOLOG
Startの構文は、次のとおりです。
@{url|file_name[.ext]} [arg ...]
Logonの入力は、オプションです。Logonを指定しないでStartを指定した場合、SQL*Plusでは、スクリプトの1行目に有効なログインが含まれているとみなされます。StartおよびLogonのいずれも指定しない場合、SQL*Plusに、ログイン情報の入力を求めるプロンプトが表示されます。
次の項で、SQLPLUSコマンドのオプションについて説明します。
-C[OMPATIBILITY] {x.y[.z]
SQLPLUSCOMPATIBILITYシステム変数の値に、x.y[.z]で指定したSQL*Plusのリリースを設定します。xはバージョン番号を、yはリリース番号を、zはアップデート番号を示します。たとえば、9.0.1、10.2などです。詳細は、「SET SQLPLUSCOMPAT[IBILITY] {x.y[.z]}」システム変数を参照してください。
-H[ELP]
SQLPLUSコマンドでの使用方法および構文を表示し、オペレーティング・システムに制御を戻します。
-V[ERSION]
SQL*Plusの現行のバージョンおよびレベル番号を表示し、オペレーティング・システムに制御を戻します。
-L[OGON]
初期接続に失敗した場合にユーザー名またはパスワードを求めるプロンプトを表示しないように指定します。このオプションは、実行結果が明確に成功または失敗のいずれかになるオペレーティング・システム・スクリプトで有効です。また、データベース・サーバーが実行されていないときに、接続の詳細を求めるプロンプトが再度表示されないようにする場合にも有効です。Windows GUIでは、-LOGONオプションはサポートされません。
-M[ARKUP]
MARKUPオプションを使用すると、問合せまたはスクリプトから完全なスタンドアロンWebページを生成することができます。MARKUPオプションが現在サポートしているバージョンは、HTML 4.0 Transitionalです。
SQLPLUS -MARKUP HTML ONまたはSQLPLUS -MARKUP HTML ON SPOOL ONを使用して、スタンドアロンWebページを生成します。SQL*Plusによって、<HTML>および<BODY>タグでカプセル化された完全なHTMLページが自動的に生成されます。SPOOL OFFを実行するか、またはSQL*Plusを終了すると、スプール・ファイルのHTMLタグが閉じられます。
-SILENTおよび-RESTRICTコマンドライン・オプションは、-MARKUPと組み合せて使用すると有効です。
MARKUP HTML ONを使用すると、<PRE>タグまたはHTML表のいずれかにHTML出力を生成できます。表への出力では、標準のHTMLタグ<TABLE>、<TR>および<TD>が使用され、問合せ結果の行および列が自動的にエンコードされます。HTMLオプションの設定がONの場合、デフォルトではHTML表に出力されます。PREFORMAT ONを設定すると、HTMLタグ<PRE>を使用して出力を生成できます。
SQL*Plusで、MARKUPオプションの状態を表示するには、SHOW MARKUPコマンドを使用します。
SQLPLUS -MARKUPコマンドには、SET MARKUPコマンドと機能的に同等なオプションがあります。これらのオプションについては、この項で説明しています。SET MARKUPコマンドの詳細は、「SET」コマンドを参照してください。
HTML [ON|OFF]
HTMLは、生成される出力タイプをHTMLに指定するMARKUPの必須引数です。HTML引数ONおよびOFFは、HTML出力を生成するかどうかを指定します(オプション)。デフォルトはOFFです。
MARKUP HTML ONを使用すると、指定したMARKUPオプションに従ってHTML出力が生成されます。
HTML出力のONおよびOFFは、セッション中、必要に応じて切り替えることができます。デフォルトはOFFです。
HEAD text
HEAD textオプションでは、<HEAD>タグの内容を指定できます。デフォルトでは、textにデフォルトのインライン・カスケード・スタイルシートとタイトルが含まれます。
テキストに空白が含まれる場合は、引用符で囲む必要があります。SQL*Plusでは、このような自由文の入力について、HTMLの妥当性をテストしません。入力するテキストがHTMLの<HEAD>タグの内容として妥当であるかどうかは、各自が確認する必要があります。これによって、HTML出力を、ご使用のブラウザや固有のニーズに応じて柔軟にカスタマイズできます。
BODY text
BODY textオプションでは、<BODY>タグの内容を指定できます。デフォルトでは、属性は付いていません。テキストに空白が含まれる場合は、引用符で囲む必要があります。SQL*Plusでは、このような自由文の入力について、HTMLの妥当性をテストしません。入力するテキストがHTMLの<BODY>タグの内容として妥当であるかどうかは、各自が確認する必要があります。これによって、HTML出力を、ご使用のブラウザや固有のニーズに応じて柔軟にカスタマイズできます。
TABLE text
TABLE textオプションでは、<TABLE>タグの属性を入力できます。TABLE textを使用して、HTMLの<TABLE>タグのBORDER、CELLPADDING、CELLSPACING、WIDTHなどの属性を設定できます。デフォルトでは、<TABLE>のWIDTH属性は90%、BORDER属性は1に設定されます。
テキストに空白が含まれる場合は、引用符で囲む必要があります。SQL*Plusでは、このような自由文の入力について、HTMLの妥当性をテストしません。入力するテキストがHTMLの<TABLE>タグの内容として妥当であるかどうかは、各自が確認する必要があります。これによって、HTML出力を、ご使用のブラウザや固有のニーズに応じて柔軟にカスタマイズできます。
ENTMAP {ON|OFF}
ENTMAP ONまたはOFFでは、特殊文字「<」、「>」、「"」および「&」を、SQL*PlusでそれぞれのHTMLエンティティ「<」、「>」、「"」および「&」に置き換えるかどうかを指定できます。ENTMAPは、デフォルトでONに設定されています。
ENTMAPのONおよびOFFは、セッション中、必要に応じて切り替えることができます。たとえば、ENTMAP OFFを指定すると、SQL*Plus画面出力は次のようになります。
SQL>PROMPT A > B A > B
ENTMAP ONを指定すると、SQL*Plus画面出力は次のようになります。
SQL> PROMPT A > B A > B
<HEAD>タグおよび<BODY>タグのエンティティがマップされていない場合、MARKUP HEADオプションおよびMARKUP BODYオプションで有効なエンティティが使用されていることを確認する必要があります。
エンティティがマップされていない場合、Webブラウザは、データを無効なHTMLとして処理するため、それ以降すべての出力が正しく表示されなくなります。ENTMAP OFFを使用すると、独自のHTMLタグを書き込んで出力をカスタマイズできます。
SPOOL {ON|OFF}
SPOOL ONまたはOFFでは、SQL*PlusのSPOOL filenameコマンドで作成された各ファイルの始めと終わりに、HTML開始タグの<HTML>タグと<BODY>タグ、および終了タグの</BODY>タグと</HTML>タグを書き込むかどうかを指定できます。デフォルトはOFFです。
SPOOLのONおよびOFFは、セッション中、必要に応じて切り替えることができます。
|
注意: SET MARKUP HTML SPOOLオプションとSQLPLUSのSPOOL filenameコマンドの違いを十分に理解する必要があります。 SET MARKUP HTML SPOOL ONオプションでは、スプール・ファイルへの<HTML>タグの書込みを指定できます。SQLPLUSのSPOOL filenameコマンドを実行するまで、スプール・ファイルは作成されず、SET MARKUP HTML SPOOL ONオプションで有効化されたヘッダーおよびフッター・タグをスプール・ファイルに書き込むこともできません。詳細は、「SPOOL」コマンドを参照してください。 |
SPOOL filenameコマンドを実行すると、SQL*Plusによって複数のHTMLタグがスプール・ファイルに書き込まれます。
EXIT、SPOOL OFFまたはSPOOL filenameのいずれかのSQL*Plusコマンドを実行すると、SQL*Plusによって次の終了タグが書き込まれ、ファイルが閉じられます。
</BODY> </HTML>
<HEAD>タグの内容および<BODY>の属性は、HEADおよびBODYオプションを使用して指定できます。
PRE[FORMAT] {ON|OFF}
PREFORMAT ONまたはOFFでは、出力を、SQL*Plusによって<PRE>タグまたはHTML表に書き出すかどうかを指定できます。デフォルトはOFFで、出力はHTML表に書き出されます。PREFORMATのONおよびOFFは、セッション中、必要に応じて切り替えることができます。
MARKUP HTML ON PREFORMAT OFFが指定されている場合、基本的に紙のレポートの書式を設定するためのコマンドには、HTML表のレポートに対する場合とは異なる、次のような意味があります。
-R[ESTRICT] {1|2|3}
オペレーティング・システムと対話する特定のコマンドを使用禁止にすることができます。これは、PUP(Product User Profile)表の同じコマンドを使用禁止にする場合と同様です。ただし、-RESTRICTオプションで使用禁止にされたコマンドは、サーバーに接続していない場合も使用不可能で、SQL*Plusを終了するまで使用禁止のままです。
-RESTRICTオプションが指定されていない場合は、PUP表で使用禁止に設定されていないかぎり、すべてのコマンドが使用可能です。
-RESTRICTを指定すると、LOGIN.SQLは読み込まれません。GLOGIN.SQLは読み込まれますが、制限付きのコマンドを使用すると、正常に実行されません。
| コマンド | レベル1 | レベル2 | レベル3 |
|---|---|---|---|
|
EDIT |
使用禁止 |
使用禁止 |
使用禁止 |
|
GET |
|
|
使用禁止 |
|
HOST |
使用禁止 |
使用禁止 |
使用禁止 |
|
SAVE |
|
使用禁止 |
使用禁止 |
|
SPOOL |
|
使用禁止 |
使用禁止 |
|
START、@、@@ |
|
|
使用禁止 |
|
STORE |
|
使用禁止 |
使用禁止 |
-S[ILENT]
すべてのSQL*Plus情報メッセージおよびプロンプト・メッセージを非表示にします。コマンド・プロンプト、コマンドのエコーおよびSQL*Plusの起動時に通常表示されるバナーも非表示になります。usernameまたはpasswordを省略すると、プロンプトは表示されませんが、SQL*Plusによって入力が求められます。ユーザーには見えないようにSQL*Plusを使用するには、SILENTを使用して別のプログラム内でSQL*Plusを起動します。
SILENTは、CGIを含むSQLPLUS -MARKUPコマンドやオペレーティング・システムのスクリプトを使用して、Web用のレポートを作成する場合に有効なモードです。SILENTオプションを使用して作成されたレポートでは、SQL*Plusのバナーおよびプロンプトは表示されません。
username[/password]
SQL*Plusを起動し、Oracleデータベースに接続するためのユーザー名およびパスワードを指定します。
usernameおよびpasswordを省略すると、SQL*Plusは入力を求めるプロンプトを表示します。passwordのみを省略すると、passwordの入力を求めるプロンプトが表示されます。サイレント・モードでは、usernameおよびpasswordのプロンプトは表示されません。usernameを入力した場合は表示されますが、パスワードは表示されません。
@connect_identifier
Oracle Net接続識別子で構成されます。正確な構文は、使用するOracle Net通信プロトコルによって異なります。詳細は、Oracle Netのマニュアルを参照するか、またはデータベース管理者に問い合せてください。
/
オペレーティング・システム認証を使用するデフォルト・ログオンを表します。デフォルト・ログオンを使用する場合、接続識別子を指定できません。デフォルト・ログオンでは、SQL*Plusはユーザー名OPS$nameを使用してユーザーをログインさせようとします。nameは、ご使用のオペレーティング・システムのユーザー名です。接頭辞「OPS$」は、テキストの他の文字列に設定される場合もあります。たとえば、INIT.ORAパラメータ・ファイルの設定をLOGONnameまたはUSERIDnameに変更する場合があります。オペレーティング・システム認証の詳細は、『Oracle Database管理者ガイド』を参照してください。
AS {SYSOPER|SYSDBA}
AS句を使用すると、SYSOPERまたはSYSDBAシステム権限が付与されているユーザーによる特権付き接続が可能です。
/NOLOG
Oracleデータベースへの初期接続を確立しません。SQLコマンドを実行する前に、CONNECTコマンドを実行して有効なログインを確立する必要があります。ユーザー名、パスワードまたはデータベースを指定するためのプロンプトを、SQL*Plusスクリプトから表示するには、「/NOLOG」を使用します。このスクリプトの1行目には、ログインが含まれていないものとみなされます。
@{url|file_name[.ext]} [arg ...]
スクリプトの名前および実行する引数を指定します。スクリプトは、ローカル・ファイル・システムまたはWebサーバーからコールされます。
SQL*Plusでは、SQL*PlusのSTARTコマンドを使用してファイルを実行した場合と同様に、引数がスクリプトに渡されます。ファイルに拡張子が指定されていない場合は、SET SUFFIXコマンドで定義された拡張子が使用されます。デフォルトの拡張子は、.sqlです。
詳細は、「START」コマンドを参照してください。
|
![]() Copyright © 2005 Oracle Corporation. All Rights Reserved. |
|