プライマリ・コンテンツに移動
SQL*Plus®ユーザーズ・ガイドおよびリファレンス
リリース1 (12.1)
B71396-03
目次へ移動
目次
索引へ移動
索引

前
次

データベースへの接続について

データベース内のデータの問合せまたは変更を実行するには、Oracle Database(インスタンス)に接続する必要があります。デフォルトのデータベースおよびネットワーク上の他の利用可能なデータベースに接続できます。ネットワークを介して別のデータベースに接続するには、両方のデータベースにOracle Netが構成され、互換性のあるネットワーク・ドライバを備えている必要があります。デフォルト以外のデータベースに接続するには、接続識別子またはネット・サービス名を入力してください。

接続識別子またはネット・サービス名の入力方法は次のとおりです。

ネット・サービス名

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 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を使用します。

例3-3 SALES1の完全な接続識別子

SQLPLUS hr@\"(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521) )
(CONNECT_DATA=
(SERVICE_NAME=sales.us.acme.com) ) )\"

簡単な接続識別子

省略した簡単な接続識別子の構文は次のとおりです。

[//]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エントリは必要ありません。

/NOLOGを使用した接続なしのセッション

コマンドライン・インタフェースでは、データベースに接続せずにSQL*Plusを起動できます。この機能は、データベース管理作業の実行、トランスポータブル・スクリプトの書込み、あるいはSQL*Plusの編集コマンドを使用したスクリプトの書込みまたは編集に有効です。

SQLPLUSコマンドで/NOLOG引数を使用して、接続なしのコマンドライン・セッションを開始できます。SQL*Plusの起動後は、CONNECTコマンドでデータベースに接続できます。

例3-6 /NOLOGを使用した接続なしのSQL*Plusセッションの開始

SQLPLUS /NOLOG