8.4.1 簡易接続ネーミング・メソッドの理解

簡易接続ネーミング・メソッドは、データベースへの簡単なTCP/IP接続を提供します。

概要

このネーミング・メソッドは、クライアントがデータベースのホスト名の他にオプションのポートとサービス名を使用してデータベースに接続できるようにすることで、ホスト・ネーミング・メソッドの機能を拡張します。


CONNECT username@[//]host[:port][/[service_name][:server_type][/instance_name]]
Enter password: password

この接続識別子は、次のような接続記述子に変換されます。

(DESCRIPTION= 
  (ADDRESS=(PROTOCOL=tcp)(HOST=host)(PORT=port))
  (CONNECT_DATA=
    (SERVICE_NAME=service_name)
    (SERVER=server_type)
    (INSTANCE_NAME=instance_name))
)

Oracle Databaseサーバーのインストールを「標準」モードで実行した場合、Oracleインスタンスで使用されるデフォルトのサービス名はデータベース名で、次の簡易接続構文を使用してそのインスタンスに接続できます。

SQLPLUS /nolog
SQL> CONNECT username@host/db_name
SQL> Enter password: password

簡易接続構文の例

次の例の接続文字列は、データベース・サーバーsales-server上のリスニング・エンドポイント1521を使用して、クライアントをデータベース・サービスのsales.us.example.comに接続します。
CONNECT scott@sales-server:1521/sales.us.example.com
CONNECT scott@//sales-server/sales.us.example.com
CONNECT scott@//sales-server.us.example.com/sales.us.example.com

各接続文字列の後に、データベース・サービスに接続するためのパスワードを入力する必要があります。

これらの接続文字列は、次の接続記述子に変換されます。
(DESCRIPTION= 
  (ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521))
  (CONNECT_DATA=
    (SERVICE_NAME=sales.us.example.com)))

簡易接続ネーミングのための接続識別子

次のリストに、簡易接続の構文要素とそれぞれの説明を示します:

構文要素 説明

//

//を使用して、URLまたはJDBC接続を指定します。

URLまたはJDBC接続の場合、必須です。接続識別子の前にダブル・スラッシュ(//)を付ける必要があります。たとえば:

scott@//sales-server
Enter password: password

SQL接続の場合、オプションです。接続識別子の前にダブル・スラッシュ(//)を付けることができます。たとえば、次の接続文字列は意味的に同じです。

SQL> CONNECT scott@sales-server
SQL> CONNECT scott@//sales-server

host

必須です。データベース・ホスト・コンピュータのホスト名またはIPアドレスを指定します。

ローカル・オペレーティング・システム構成でドメイン指定のときは、ホスト名は、ドメインで修飾されます。

値としてIPv4またはIPv6アドレスを使用できます。IPv6アドレスまたはIPv6アドレスに解決されるホスト名は、[2001:0db8:0:0::200C:417A][salesdb]のように大括弧で囲む必要があります。

port

オプションです。リスニング・ポートを指定します。

デフォルトは、1521です。

service_name

オプションです。データベースのサービス名を指定します。

ユーザーがサービス名を指定した場合、リスナーはその特定のデータベースにユーザーを接続します。サービス名を指定しない場合、リスナーはlistener.oraファイルのDEFAULT_SERVICE_listener_nameパラメータで指定されたデータベースに接続します。リスナーについてDEFAULT_SERVICE_listener_nameが設定されておらず、ユーザーがサービス名を簡易接続構文の一部として明示的に指定していない場合、リスナーはエラーを戻します。

server_type

オプションです。使用するデータベース・サーバーのタイプを指定します。

このパラメータを指定すると、リスナーはクライアントを特定のタイプのサービス・ハンドラに接続します。

server_typeパラメータの値は、dedicatedsharedおよびpooledです。簡易接続構文でサーバーが指定されていない場合、リスナーによってサーバーのタイプが選択されます(共有サーバーが構成済の場合は共有サーバー、それ以外の場合は専用サーバーが使用されます)。

ノート: Oracle Call Interfaceのマニュアルでは、serverはconnect_typeと呼ばれています。

instance_name

オプションです。アクセスするデータベース・インスタンスを識別します。

インスタンス名は、初期化パラメータ・ファイルのINSTANCE_NAMEパラメータから取得できます。