sqlplusのオプションと引数

Oracle SQL*Plusにはさまざまなオプションがある。起動時にデータベースに接続するかどうかや、サーバから起動するのかリモートクライアントから接続するのかなどによって、オプションの指定方法が異なる。

SQL*Plusの使用方法を表示する

SQL*Plusの使用方法を表示するには、-Hまたは-HELPオプションを指定する。

sqlplus -H
sqlplus -HELP

SQL*Plusのバージョンを表示する

SQL*Plusのバージョンを表示するには、-Vまたは-VERSIONオプションを指定する。

sqlplus -V
sqlplus -VERSION

SQL*Plusを起動と同時にデータベースへ接続する場合は、 ログオン・オプション に接続に関するパラメータを指定します。 ログオン・オプション は次の書式で指定します。

{ ユーザ名[/パスワード][@接続識別子] | / } [ AS SYSDBA | AS SYSOPER ]
| /NOLOG

データベースに接続せずにSQL*Plusを起動する

データベースに接続せずにSQL*Plusを起動するには、/NOLOGオプションを指定する。

sqlplus /NOLOG

SQL*Plusをサイレント・モードで実行するには、-Sまたは-SILENTオプションを指定する。

サイレント・モードではSQL*Plus起動時バナーやプロンプトが表示されなくなる。

sqlplus -S /NOLOG
sqlplus -SILENT /NOLOG

SQL*Plusローカル接続

ローカル接続とは、Oracleデータベースサーバと同じホストから接続することである。ローカル接続するには、次の形式でSQL*Plusを実行する。

sqlplus [option ...] [user[/password][@sid]]
user

ユーザ名を指定する。ユーザ名の指定を省略した場合、プロンプトが表示されて、ユーザ名の入力が促される。

password

パスワードを指定する。パスワードの指定を省略した場合、プロンプトが表示されて、パスワードの入力が促される。

sid

データベースインスタンスを指定する。データベースインスタンスの指定を省略した場合、環境変数ORACLE_SIDに設定したデータベースインスタンスに接続する。

環境変数TWO_TASKとORACLE_SIDが両方設定されている場合、環境変数TWO_TASKの方が優先的に使用される。環境変数TWO_TASKは接続文字列を指定する環境変数であり、設定内容によってはリモート接続となる。

option には次のオプションを指定することができる。

-L

SQL*Plus起動時に一度だけ接続を試みる。接続に失敗した場合は、再度ユーザー名の入力を促すプロンプトを表示せずにSQL*Plusを終了する。

-S
-SILENT
SQL*Plusをサイレント・モードで実行する。サイレント・モードではSQL*Plus起動時バナーやプロンプトが表示されなくなる。

ユーザー名とパスワードを指定すると、SQL*Plusの起動と同時にデータベースに接続します。ユーザー名とパスワードを省略してSQL*Plusを起動すると、ユーザー名とパスワードを聞いてきます。

$ sqlplus
ユーザ名を入力: marina
パスワードを入力: horiuchi
接続:
SQL>

SQL*Plusリモート接続

SQL*Plusからネットワーク経由でOracleデータベースに接続するには、2通りの方法がある。

簡易接続

ホスト名やポート番号、サービス名などを指定して接続する。

sqlplus user/password@host[:port][/service_name]
user
ユーザー名
password
パスワード
host
ホスト名
port
ポート番号。省略した場合はデフォルトのポート番号で接続する。
service_name
アクセスするオラクルデータベースサービスを指定する。オラクル初期化パラメータファイルのSERVICE_NAMESパラメータの値を設定する。省略した場合は環境変数ORACLE_SIDに設定されているインスタンスに接続する。
sqlplus system/oracle@myhost
sqlplus scott/tiger@myhost:1521
sqlplus system/oracle@myhost:1521/XE

ローカルネーミングパラメータ(tnsnames.ora)による接続

ホスト名やポート番号、サービス名などをネットサービスとしてローカルネーミングパラメータファイル(tnsnames.ora)に定義しておき、その接続識別名(ネットサービス名)を指定して接続する。

sqlplus user/password@net_service_name
user
ユーザー名
password
パスワード
net_service_name
ローカルネーミングパラメータファイル(tnsnames.ora)で設定された接続識別名(ネットサービス名)
sqlplus system/oracle@orcl

SQL*Plusの起動と同時にコマンドを実行する場合、 開始オプション を指定します。

@{URL|ファイル名[.拡張子]} [ パラメータ ... ]

実行するコマンドを格納したファイル名を指定します。拡張子 .sql は省略できます。詳しくは「外部ファイルのSQL文を実行」をご覧ください。

SQL*Plusを起動すると、 SQL> というプロンプトが表示されます。ここにコマンドを入力します。なお、コマンドは大文字と小文字を区別しません。