3 SQL*Plusの起動
この章では、SQL*Plusの起動方法、ログイン方法、データベースへの接続方法、ヘルプの使用方法および終了方法について説明します。
ここでは、次の項目について説明します。
3.1 ユーザー名およびパスワードのログイン
SQL*Plusの起動時、Oracle Databaseスキーマへのログインにユーザー名およびパスワードが必要です。ユーザー名およびパスワードによって、Oracle Databaseスキーマの認証されたユーザーとして識別されます。
データベース管理者(DBA)には、必要な権限を付与してデータベース・アカウントを作成し、アカウントにアクセスするためのユーザー名とパスワードを提供する責任があります。
Oracle Databaseのインストール中にデフォルト・ログインが作成され、対応するパスワードの入力を求めるプロンプトが表示されます。作成されるデフォルト・ログインのユーザー名の一部には、次のものがあります。
-
SYS
-
SYSTEM
-
HR
Oracle Databaseスのインストール中に、ユーザーが作成されたことを示すメッセージが表示されます。
デフォルトのログインの詳細は、「Oracle Databaseユーザーのタイプ」を参照してください。
一度ログインすると、CONNECTコマンドを使用して別のユーザー名で接続できるようになります。ユーザー名およびパスワードは、そのデータベースに対して有効である必要があります。たとえば、パスワードFOXを使用してユーザー名TODDでデフォルトのデータベースに接続するには、次のように入力します。
CONNECT TODD
パスワードFOXを入力するように求められます。
コマンドライン・ユーザー・インタフェースでユーザー名およびパスワードを省略した場合、それらの入力を求めるSQL*Plusプロンプトが表示されます。CONNECTコマンドは、最初にユーザーを現行のデータベースから切断するため、CONNECTコマンドに無効なユーザー名およびパスワードを使用した場合、どのデータベースにも接続していない状態になります。
データベースへの接続の際にアカウントの有効期限が切れたユーザーとしてログオンまたは接続した場合は、接続の前にパスワードを変更するように求めるプロンプトが表示されます。
データベースへの接続時にアカウントがロックされている場合は、メッセージが表示され、アカウントのロックがDBAによって解除されるまで、そのユーザーとして接続できません。
3.1.1 セキュアな外部パスワード・ストア
アプリケーションでデータベースへの接続にパスワード資格証明が使用される大規模なデプロイメントでは、コマンドラインを使用するかわりに、そのような資格証明をクライアント側のOracle Walletに格納できます。Oracle Walletは、資格証明の認証および署名の格納に使用されるセキュアなソフトウェア・コンテナです。
クライアント側のOracleウォレットにデータベース・パスワード資格証明を格納することで、ユーザー名とパスワードをアプリケーション・コード、バッチ・ジョブまたはスクリプトに埋め込む必要がなくなります。この結果、スクリプトやアプリケーション・コードに記述したパスワードが外部にさらされる危険性が低くなり、ユーザー名とパスワードを変更するたびにコードを変更する必要がないため、メンテナンスが簡素化されます。また、アプリケーション・コードを変更する必要がないため、これらのユーザー・アカウントのパスワード管理ポリシーをさらに簡単に規定できるようになります。
外部パスワード・ストアを使用するようにクライアントを構成すると、アプリケーションでは、次の構文を使用してパスワード認証を使用しているデータベースに接続できます。
CONNECT /@database_alias
このCONNECT
文では、データベース・ログイン資格証明を指定する必要はありません。かわりに、データベース・ログイン資格証明はクライアントのウォレットで検索されます。
関連項目:
セキュアな外部パスワード・ストアを使用するようにクライアントを構成する方法およびそのパスワード・ストア内の資格証明を管理する方法については、『Oracle Database管理者ガイド』を参照してください。
3.1.2 パスワードの期限切れ
コマンドライン・インタフェースで、入力したパスワードが期限切れの場合は、ログイン時にパスワードの変更を要求するSQL*Plusプロンプトが表示されます。パスワードを正常に変更した後は、ログインできます。
3.2 データベースへの接続について
データベース内のデータの問合せまたは変更を実行するには、Oracle Database(インスタンス)に接続する必要があります。デフォルトのデータベースおよびネットワーク上の他の利用可能なデータベースに接続できます。ネットワークを介して別のデータベースに接続するには、両方のデータベースにOracle Netが構成され、互換性のあるネットワーク・ドライバを備えている必要があります。デフォルト以外のデータベースに接続するには、接続識別子またはネット・サービス名を入力してください。
接続識別子またはネット・サービス名の入力方法は次のとおりです。
-
コマンドライン・セッションの開始時に、SQLPLUSプログラムの構文への引数として入力する。
-
カレント・セッションからCONNECTコマンドへの引数として入力する。使用方法の詳細は、『Oracle Database管理者ガイド』のCDB内のコンテナへのアクセスに関する項を参照してください。
3.2.1 ネット・サービス名
DBAは、使用するデータベースを作成して、そのデータベースのネット・サービス名をtnsnames.oraファイルに定義します。
tnsnames.oraファイルにネット・サービス名を定義する構文は次のとおりです。
net_service_name= (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=host)(PORT=port) ) (CONNECT_DATA= (SERVICE_NAME=service_name) ) )
ネット・サービス名(別名)を使用するには、SQL*Plusが実行されているマシンのtnsnames.oraファイルに、このサービス名のエントリが存在する必要があります。接続識別子を使用する場合、tnsnames.oraファイルのエントリは必要ありません。
例3-1 salesデータベースのtnsnames.oraエントリ
SALES1 = (DESCRIPTION = (ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521) ) (CONNECT_DATA= (SERVICE_NAME=sales.us.acme.com) ) )
例3-2 ネット・サービス名を使用したsalesデータベースへのコマンドライン・セッションの開始
SQLPLUS hr@SALES1
データベース接続およびネット・サービス名の定義の詳細は、「構成パラメータ」および「Oracle Net Servicesの構成および管理」を参照してください。
3.2.2 完全な接続識別子
ご使用の構成に応じて、完全な接続識別子を次の構文で使用できます。
(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
を使用します。
例3-3 SALES1の完全な接続識別子
SQLPLUS hr@\"(DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521) ) (CONNECT_DATA= (SERVICE_NAME=sales.us.acme.com) ) )\"
3.2.3 簡単な接続識別子
[//]host[:port][/service_name]
例3-4 簡単な接続識別子を使用したsalesデータベースへのコマンドライン・セッションの開始
sqlplus hr@\"sales-server:1521/sales.us.acme.com\"
例3-5 簡単な接続識別子を使用したsalesデータベースへの接続
パスワードを省略した場合、接続文字列を引用符で囲む必要があります。
connect hr@"sales-server:1521/sales.us.acme.com"
簡単な接続識別子は、完全な接続識別子やネット・サービス名を使用できる状況であれば、どこでも使用できます。また、簡単な構文は単純で、tnsnames.oraエントリは必要ありません。
3.3 SQL*Plusの起動について
Remote Oracle Databaseに接続する場合は、Oracle Netソフトウェアがインストールされ、正常に動作することを確認してください。詳細は、「Oracle Net Servicesのテストおよびトラブルシューティング」を参照してください。
SQL*Plusのコマンドライン・セッションの開始時、そのセッションでCONNECTコマンドを実行すると、サイト・プロファイルglogin.sqlおよびユーザー・プロファイル・ファイルlogin.sqlが、次の時点で処理されます。
-
SQL*Plusが起動して接続した後で、最初のプロンプトが表示される前。
-
SQL*Plusが起動して接続した後で、コマンドラインに指定したスクリプトが実行される前。
-
コマンドラインで/NOLOGを指定し、かつ接続が確立していない場合に最初のプロンプトが表示される前。
最初にサイト・プロファイルglogin.sqlが処理され、次にユーザー・プロファイルlogin.sqlが処理されます。
3.3.1 SQL*Plusコマンドラインの起動について
SQL*Plusを使用する前に、SQL*Plusの起動および終了方法を理解しておく必要があります。
-
コンピュータにSQL*Plusがインストールされていることを確認します。
-
オペレーティング・システムにログオンします(必要な場合)。
-
SQLPLUSコマンドを入力し、[Return]を押します。
ノート:
一部のオペレーティング・システムでは、コマンドを小文字で入力する必要があります。そのようなシステムをご使用の場合は、SQLPLUSコマンドを小文字で入力します。
SQLPLUS
次のように、リリース番号、現在の日付および著作権情報が表示され、ユーザー名の入力を求めるプロンプトが表示されます(システム上に表示されるテキストは少し異なる場合があります)。
SQL*Plus: Release 18.0.0.0.0 Production on Tue Nov 14 22:12:47 2017 Version 18.1.0.0.0 Copyright (c) 1982, 2017, Oracle. All rights reserved.
-
パスワードを入力し、再度[Return]を押します。ユーザーを保護するため、パスワードは画面に表示されません。
ユーザー名およびパスワードを入力するプロセスは、ログインと呼ばれます。接続先のOracle Databaseのリリース、PL/SQLなどの使用可能なツール製品のリリースおよびローカル時間形式による最終ログオン時間が表示されます。
SQL*Plus: Release 18.0.0.0.0 Production on Tue Nov 14 22:12:47 2017 Version 18.1.0.0.0 Copyright (c) 1982, 2017, Oracle. All rights reserved. Last Successful login time: Wed Nov 01 2017 23:35:38 -07:00 Connected to: Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - 64bit Production
SQL>
このSQL*Plusコマンド・プロンプトは、SQL*Plusがコマンド入力可能な状態であることを示します。
SQL*Plusが起動しない場合は、問題の修正に有効なメッセージが表示されます。
3.3.2 コマンドライン・ヘルプの表示について
SQL*Plusコマンドのコマンドライン・ヘルプにアクセスするには、SQLコマンド・プロンプトまたはiSQL*Plusの「ワークスペースの入力」領域でHELPまたは?と入力し、続けてコマンド名を入力します。詳細は、「HELP」コマンドを参照してください。次に例を示します。
HELP ACCEPT
SQL*Plusコマンドのリストを表示するには、HELPの後にTOPICSまたはINDEXを入力します。HELP TOPICSでは、SQL*Plusコマンドが1列に表示されます。HELP INDEXでは、SQL*Plusコマンドが標準画面内に収まるように4列に表示されます。次に例を示します。
HELP INDEX
3.4 SQL*Plusコマンドラインの終了について
無効なユーザー名またはパスワードを指定したか、あるいはその他の理由でSQL*Plusへログインできない場合は、EXIT FAILUREコマンドと同じエラー状態が戻されます。詳細は、「EXIT」コマンドを参照してください。
SQL*Plusでの作業が終了し、オペレーティング・システムに戻る場合は、SQL*PlusのプロンプトでEXITまたはQUITを入力するか、またはファイルを終了するキー(UNIXの場合は[Ctrl]を押しながら[D]、Windowsの場合は[Ctrl]を押しながら[Z])を入力します。
オペレーティング・システムのプロンプトに戻る前に、切断したOracle Databaseのリリース番号、およびSQL*Plusを介して使用可能なツール製品のリリース番号が表示されます。
3.5 SQL*Plusプログラムの構文
SQL*Plusコマンドラインを起動するには、オペレーティング・システムのプロンプトで、次のようにSQLPLUSコマンドを使用します。
SQLPLUS [ [Options] [Logon|/NOLOG] [Start] ]
Optionsの構文は、次のとおりです。
-H[ELP]|-V[ERSION] |[[-C[OMPATIBILITY] {x.y[.z]] [–F[ast]] [-M[ARKUP] markup_option] [-L[OGON]] [-NOLOGINTIME] [-R[ESTRICT] {1|2|3}] [-S[ILENT]]]
また、markup_optionの構成は、次のとおりです。
-
csv_option
-
html_option
csv_optionの構文は、次のとおりです。
CSV {ON|OFF} [DELIMI[TER] character] [QUOTE {ON|OFF}]
html_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 {SYSASM|SYSBACKUP|SYSDBA|SYSDG|SYSOPER|SYSRAC|SYSKM}][edition=value]
Startの構文は、次のとおりです。
@{url|file_name[.ext]} [arg ...]
警告:
パスワードをプレーン・テキストで指定すると、セキュリティ上の危険があります。パスワードを省略し、パスワードの入力を求めるプロンプトが表示された場合にのみ入力することで、この危険を回避できます。
Logonの入力は、オプションです。Logonを指定しないでStartを指定した場合、SQL*Plusでは、スクリプトの1行目に有効なログインが含まれているとみなされます。StartおよびLogonのいずれも指定しない場合、SQL*Plusに、ログイン情報の入力を求めるプロンプトが表示されます。
3.5.1 オプション
次の項で、SQLPLUSコマンドのオプションについて説明します。
3.5.1.3 COMPATIBILITYオプション
-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]}システム変数を参照してください。
3.5.1.4 LOGONオプション
-L[OGON]
初期接続に失敗した場合にユーザー名またはパスワードを求めるプロンプトを表示しないように指定します。これは、実行結果が明確に成功または失敗のいずれかになるオペレーティング・システム・スクリプトで有効です。また、データベース・サーバーが実行されていないときに、接続の詳細を求めるプロンプトが再度表示されないようにする場合にも有効です。
3.5.1.5 FASTオプション
–F[ast]
FASTオプションにより、一般パフォーマンスが向上します。このコマンドライン・オプションにより、次のデフォルト設定の値が変更されます。
-
ARRAYSIZE = 100
-
LOBPREFETCH = 16384
-
PAGESIZE = 50000
-
ROWPREFETCH = 2
-
STATEMENTCACHE = 20
3.5.1.6 MARKUPオプション
-M[ARKUP]
問合せまたはスクリプトでMARKUPオプションを使用して、HTMLまたはCSV (文字で区切られた値)形式で出力を生成できます。
MARKUPは現在、HTML 4.0 TransitionalおよびCSV形式をサポートしています。
SQLPLUS -MARKUPを使用して、出力をHTMLまたはCSV形式で生成できます。
ノート:
ご使用のオペレーティング・システムによっては、SQL*PLUSコマンドのmarkup_option句全体を引用符で囲む必要があります。
HTML出力の場合、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>を使用して出力を生成できます。
CSV出力の場合、SQLPLUS -MARKUP CSV ONを使用して、出力をCSV形式で生成します。DELIMITERオプションを使用して、デリミタ文字を指定できます。QUOTE OFFを使用して、引用符なしでテキストを出力することもできます。
MARKUPオプションの状態を表示するには、SHOW MARKUPコマンドを使用します。
SQLPLUS -MARKUPコマンドには、SET MARKUPコマンドと同じ機能があります。これらのオプションについては、この項で説明しています。SET MARKUPコマンドの詳細は、「SET」コマンドを参照してください。
CSV {ON|OFF}
CSVは、生成される出力タイプをCSVに指定するMARKUPの必須引数です。CSV引数ONおよびOFFは、CSV出力を生成するかどうかを指定します(オプション)。デフォルトはOFFです。CSV出力のONおよびOFFは、セッション中、必要に応じて切り替えることができます。
HTML {ON|OFF}
HTMLは、生成される出力タイプをHTMLに指定するMARKUPの必須引数です。HTML引数ONおよびOFFは、HTML出力を生成するかどうかを指定します(オプション)。デフォルトはOFFです。
MARKUP HTML ONを使用すると、指定したMARKUPオプションに従ってHTML出力が生成されます。
HTML出力のONおよびOFFは、セッション中、必要に応じて切り替えることができます。
HEAD text
HEAD textオプションでは、<HEAD>タグの内容を指定できます。デフォルトでは、textにデフォルトのインライン・カスケード・スタイルシートとタイトルが含まれます。
textに空白が含まれる場合は、引用符で囲む必要があります。SQL*Plusでは、このような自由文の入力について、HTMLの妥当性をテストしません。入力するテキストがHTMLの<HEAD>タグの内容として妥当であるかどうかは、各自が確認する必要があります。これによって、出力を、ご使用のブラウザや固有のニーズに応じて柔軟にカスタマイズできます。
BODY text
BODY textオプションでは、<BODY>タグの属性を指定できます。デフォルトでは、属性は付いていません。textに空白が含まれる場合は、引用符で囲む必要があります。SQL*Plusでは、このような自由文の入力について、HTMLの妥当性をテストしません。入力するテキストがHTMLの<BODY>タグの内容として妥当であるかどうかは、各自が確認する必要があります。これによって、出力を、ご使用のブラウザや固有のニーズに応じて柔軟にカスタマイズできます。
TABLE text
TABLE textオプションでは、<TABLE>タグの属性を入力できます。TABLE textを使用して、HTMLの<TABLE>タグのBORDER、CELLPADDING、CELLSPACING、WIDTHなどの属性を設定できます。デフォルトでは、<TABLE>のWIDTH属性は90%、BORDER属性は1に設定されます。
textに空白が含まれる場合は、引用符で囲む必要があります。SQL*Plusでは、このような自由文の入力について、HTMLの妥当性をテストしません。入力するテキストがHTMLの<TABLE>タグの内容として妥当であるかどうかは、各自が確認する必要があります。これによって、出力を、ご使用のブラウザや固有のニーズに応じて柔軟にカスタマイズできます。
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タグを書き込んで出力をカスタマイズできます。
ノート:
ENTMAPは、HTMLオプションがONに設定されている場合にのみ有効です。出力でのエンティティの使用方法の詳細は、「COLUMN」コマンドを参照してください。
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は、セッション中、必要に応じて切り替えることができます。
ノート:
HTMLの<PRE>タグを使用したレポート出力を生成するには、PREFORMAT ONを設定する必要があります。次に例を示します。
SQLPLUS -M "HTML ON PREFORMAT ON"
または
SET MARKUP HTML ON PREFORMAT ON
3.5.1.7 MARKUPの使用上のノート
MARKUP HTML ON
MARKUP HTML ON PREFORMAT OFFが指定されている場合、基本的に紙のレポートの書式を設定するためのコマンドには、HTML表のレポートに対する場合とは異なる、次のような意味があります。
-
PAGESIZEは、HTML表での行数であり、単なる行数ではありません。各行には、複数の行が含まれる場合があります。TTITLE、BTITLEおよび列ヘッダーは、各PAGESIZE行で繰り返されます。
-
LINESIZEは行を折り返す場合、または非常に長いデータの場合に有効になります。データ・サイズによっては、出力は別々の行に生成され、ブラウザによって空白文字として解釈される場合があります。
-
TTITLEおよびBTITLEの内容は、3つの行位置(左、中央および右)に出力され、最大行幅はブラウザのウィンドウの90%に設定されています。これらの要素は、Webでの出力とは揃わない場合があります。TTITLEおよびBTITLEでのエンティティのマッピングは、MARKUPコマンドで指定する一般的なENTMAPの設定と同じです。
-
独自の出力でタイトルを使用する場合、SQL*Plusによって新しいHTML表が開始され、タイトルの後に出力行が表示されます。各列のデータの幅によって、ご使用のブラウザでは、各表の列幅が異なる書式に設定される場合があります。
-
PREFORMATがONの場合、SET COLSEP、RECSEPおよびUNDERLINEのみが、HTMLレポート出力を生成します。
MARKUP CSV ON
MARKUP CSV ONが使用されている場合、問合せからの出力はCSV形式で表示されます。
SQL*Plusコマンドラインで-M[ARKUP] CSV ONオプションを使用することにより、ユーザー・セッションにログイン中にCSVマークアップを有効にできます。詳細は、SQL*Plusプログラムの構文を参照してください。ユーザー・セッションにログイン中は、SET MARKUP CSV ONコマンドを使用してCSVマークアップを有効にできます。
DELIMITERオプションを使用して、デリミタ文字を指定できます。QUOTE OFFを使用して、引用符なしでテキストを出力することもできます。
3.5.1.8 No Login Timeオプション
-nologintime
ログオン時に、SYS以外のユーザーの最終ログイン時間が表示されます。この機能はデフォルトで有効化されています。最終ログイン時間はローカル時間の形式で表示されます。このセキュリティ機能は、-nologintime
オプションを使用して無効にできます。ログイン後に、最終ログイン情報が表示されます。
SQL*Plus: Release 18.0.0.0.0 Production on Tue Nov 14 22:12:47 2017 Version 18.1.0.0.0 Copyright (c) 1982, 2017, Oracle. All rights reserved. Last Successful login time: Wed Nov 01 2017 23:35:38 -07:00 Connected to: Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production Version 18.1.0.0.0 With the Partitioning, Oracle Label Security, Data Mining and Real Application
CONNECTコマンドを使用して接続を確立した場合、最終ログイン時間は表示されません。
3.5.1.9 RESTRICTオプション
-R[ESTRICT] {1|2|3}
オペレーティング・システムと対話する特定のコマンドを使用禁止にすることができます。これは、PUP(Product User Profile)表の同じコマンドを使用禁止にする場合と同様です。ただし、-RESTRICTオプションで使用禁止にされたコマンドは、サーバーに接続していない場合も使用不可能で、SQL*Plusを終了するまで使用禁止のままです。
-RESTRICTオプションが指定されていない場合は、PUP表で使用禁止に設定されていないかぎり、すべてのコマンドが使用可能です。
-RESTRICTを指定すると、LOGIN.SQLは読み込まれません。GLOGIN.SQLは読み込まれますが、制限付きのコマンドを使用すると、正常に実行されません。
表3-1 各制限レベルでの使用禁止コマンド
コマンド | レベル1 | レベル2 | レベル3 |
---|---|---|---|
EDIT |
使用禁止 |
使用禁止 |
使用禁止 |
GET |
使用禁止 |
||
HOST |
使用禁止 |
使用禁止 |
使用禁止 |
SAVE |
使用禁止 |
使用禁止 |
|
SPOOL |
使用禁止 |
使用禁止 |
|
START、@、@@ |
使用禁止 |
||
STORE |
使用禁止 |
使用禁止 |
3.5.1.10 SILENTオプション
-S[ILENT]
すべてのSQL*Plus情報メッセージおよびプロンプト・メッセージを非表示にします。コマンド・プロンプト、コマンドのエコーおよびSQL*Plusの起動時に通常表示されるバナーも非表示になります。usernameまたはpasswordを省略すると、SQL*Plusによって入力が求められますが、プロンプトは表示されません。ユーザーには見えないようにSQL*Plusを使用するには、SILENTを使用して別のプログラム内でSQL*Plusを起動します。
SILENTは、CGIを含むSQLPLUS -MARKUPコマンドやオペレーティング・システムのスクリプトを使用して、Web用のレポートを作成する場合に有効なモードです。SILENTオプションを使用して作成されたレポートでは、SQL*Plusのバナーおよびプロンプトは表示されません。
3.5.2 ログオン
username[/password]
SQL*Plusを起動し、Oracle Databaseに接続するためのユーザー名およびパスワードを指定します。
警告:
パスワードをプレーン・テキストで指定すると、セキュリティ上の危険があります。パスワードを省略し、パスワードの入力を求めるプロンプトが表示された場合にのみ入力することで、この危険を回避できます。
usernameおよびpasswordを省略すると、SQL*Plusは入力を求めるプロンプトを表示します。passwordのみを省略すると、passwordの入力を求めるプロンプトが表示されます。サイレント・モードでは、usernameおよびpasswordのプロンプトは表示されません。usernameを入力した場合は表示されますが、パスワードは表示されません。
@connect_identifier
Oracle Net接続識別子で構成されます。正確な構文は、使用するOracle Net通信プロトコルによって異なります。詳細は、Oracle Netのマニュアルを参照するか、またはデータベース管理者に問い合せてください。
edition=value
Oracleエディションの値です。1つのエディションによって、データベース内に1つのオブジェクトの2つ以上のバージョンが存在できます。これにより、変更したオブジェクトをデータベースにロードし、コンパイルして稼働時間中に実行するためのステージング領域が提供されます。このことは、特に、アプリケーションへのパッチ適用に関連する停止時間を短縮する場合に有用です。eedition=valueは、ORA_EDITION環境変数で指定されたエディション値よりも優先されます。詳細は、「エディションベースの再定義の使用」を参照してください。
/
オペレーティング・システム認証を使用するデフォルト・ログオンを表します。デフォルト・ログオンを使用する場合、接続識別子は指定できません。デフォルト・ログオンでは通常、SQL*Plusはユーザー名OPS$nameを使用してユーザーをログインさせようとします。nameは、ご使用のオペレーティング・システムのユーザー名です。接頭辞「OPS$」は、他のテキスト文字列に設定される場合もあります。たとえば、INIT.ORAパラメータ・ファイルの設定をLOGONnameまたはUSERIDnameに変更した場合です。オペレーティング・システム認証の詳細は、「オペレーティング・システム認証の使用」を参照してください。
AS {SYSASM |SYSBACKUP |SYSDBA |SYSDG |SYSOPER |SYSRAC |SYSKM}
AS 句を使用すると、SYSASM、SYSBACKUP、SYSDBA、SYSDG、SYSOPER、SYSRACまたはSYSKMシステム権限が付与されているユーザーによる特権付き接続が可能です。
/NOLOG
Oracle Databaseへの初期接続を確立しません。SQLコマンドを実行する前に、CONNECTコマンドを実行して有効なログインを確立する必要があります。ユーザー名、パスワードまたはデータベースを指定するためのプロンプトを、SQL*Plusスクリプトから表示するには、「/NOLOG」を使用します。このスクリプトの1行目には、ログインが含まれていないものとみなされます。
3.5.3 起動
@{url|file_name[.ext]} [arg ...]
スクリプトの名前および実行する引数を指定します。スクリプトは、ローカル・ファイル・システムまたはWebサーバーからコールされます。
SQL*Plusでは、SQL*PlusのSTARTコマンドを使用してファイルを実行した場合と同様に、引数がスクリプトに渡されます。ファイルに拡張子が指定されていない場合は、SET SUFFIXコマンドで定義された拡張子が使用されます。デフォルトの拡張子は、.sqlです。
詳細は、「START」コマンドを参照してください。