8.4.3 簡易接続ネーミング・メソッドの例

簡易接続文字列の例いくつかと、各文字列がどのように接続記述子に変換されるかを確認します。

ネーミング・オプション 接続文字列 接続記述子

ホストあり。

ホスト名はsales-serverです。

sales-server
(DESCRIPTION=
   (CONNECT_DATA=
       (SERVICE_NAME=))
   (ADDRESS=
       (PROTOCOL=TCP)
       (HOST=sales-server)
       (PORT=1521)))

ホストとポートあり。

ホスト名はsales-server、ポートは3456です。

sales-server:3456
(DESCRIPTION=
   (CONNECT_DATA=
       (SERVICE_NAME=))
   (ADDRESS=
       (PROTOCOL=TCP)
       (HOST=sales-server)
       (PORT=3456)))

ホストとサービス名あり。

ホスト名はsales-server、サービス名はsalesです。

sales-server/sales
(DESCRIPTION=
  (CONNECT_DATA=
     (SERVICE_NAME=sales))
  (ADDRESS=
     (PROTOCOL=TCP)
     (HOST=sales-server)
     (PORT=1521)))

IPv6アドレスあり。

ホストのIPv6アドレスは2001:0db8:0:0::200C:417A、ポートは80、サービス名はsalesです。

[2001:0db8:0:0::200C:417A]:80/sales

IPv6ホスト名は大括弧で囲む必要があります。

(DESCRIPTION=
  (CONNECT_DATA=
      (SERVICE_NAME=sales)
  (ADDRESS=
      (PROTOCOL=TCP)
      (HOST=2001:0db8:0:0::200C:417A)
      (PORT=80)))

IPv6ホスト・アドレスあり。

ホストはsales-server、ポートは80、サービス名はsalesです。

sales-server:80/sales
(DESCRIPTION=
  (CONNECT_DATA=
      (SERVICE_NAME=sales)
  (ADDRESS=
      (PROTOCOL=TCP)
      (HOST=sales-server)
      (PORT=80)))

ホスト、サービス名およびサーバーあり。

ホスト名はsales-server、サービス名はsales、サーバーはdedicated、インスタンス名はinst1です。

sales-server/sales:dedicated/inst1
(DESCRIPTION=
  (CONNECT_DATA=
      (SERVICE_NAME=sales)
      (INSTANCE_NAME=inst1)
      (SERVER=dedicated))
  (ADDRESS=
      (PROTOCOL=TCP)
      (HOST=sales-server)
      (PORT=1521)))

ホストとインスタンス名あり。

ホスト名はsales-server、インスタンス名はinst1です。

sales-server//inst1
(DESCRIPTION=
   (CONNECT_DATA=
      (SERVICE_NAME=)
      (INSTANCE_NAME=inst1))
   (ADDRESS=
      (PROTOCOL=TCP)
      (HOST=sales-server)
      (PORT=1521)))

Easy Connect Plus機能を使用した簡易接続文字列の例をいくつか次に示します:

ネーミング・オプション 接続文字列 接続記述子

名前/値のペアのリスト(SDURETRY_COUNTおよびCONNECT_TIMEOUT)あり。

ホストはsalesserver、ポートは1521、サービス名はsalesです。

salesserver1:1521/sales?SDU=8128&retry_count=3&connect_timeout=10
(DESCRIPTION=
  (SDU=8128)(retry_count=3)(connect_timeout=10)
  (ADDRESS=
    (PROTOCOL=tcp)
    (HOST=saleserver1)(PORT=1521)) 
    (CONNECT_DATA=(SERVICE_NAME=sales)))

複数のホストまたはポートあり。

ホストはsalesserver、ポートは1521、サービス名はsalesです。

salesserver1:1521,salesserver2,salesserver3:1522/sales
((DESCRIPTION=
  (LOAD_BALANCE=ON) 
  (ADDRESS=
    (PROTOCOL=tcp)
    (HOST=sales-server1)
    (PORT=1521))
  (ADDRESS=
    (PROTOCOL=tcp)
    (HOST=sales-server2)
    (PORT=1522))
  (ADDRESS=
    (PROTOCOL=tcp)
    (HOST=sales-server3)
    (PORT=1522)))
  (CONNECT_DATA=(SERVICE_NAME=sales)))

プロトコルの指定あり。

ホストはsalesserver、ポートは1521、サービス名はsalesです。

tcps://salesserver1:1521/sales
(DESCRIPTION=
  (ADDRESS=
    (PROTOCOL=tcps)
    (HOST=salesserver1)
    (PORT=1521))
  (SECURITY=(SSL_SERVER_DN_MATCH=TRUE))
  (CONNECT_DATA=(SERVICE_NAME=sales)))

TLSでサポートされているSECURITY属性あり。

ホストはsales-server、ポートは1521、サービス名はsalesです。

tcps://sales-server:1521/sales?ssl_server_cert_dn="cn=sales,cn=OracleContext,dc=us,dc=example,dc=com"&wallet_location="/tmp/oracle"

ノート: Oracle Databaseサーバーの場合、パラメータWALLET_LOCATIONは、Oracle Database 23aiとの使用は非推奨です。Oracle Databaseクライアントおよびリスナーでの使用は非推奨ではありません。

Oracle Databaseサーバーの場合は、WALLET_LOCATIONを使用するかわりに、WALLET_ROOTシステム・パラメータの使用をお薦めします。

(DESCRIPTION= 
  (ADDRESS=
    (PROTOCOL=tcps)
    (HOST=salesserver)
    (PORT=1521)) 
  (CONNECT_DATA=(SERVICE_NAME=sales))
  (SECURITY=
    (SSL_SERVER_DN_MATCH=TRUE)
    (SSL_SERVER_CERT_DN=cn=sales,cn=OracleContext,dc=us,dc=example,dc=com)
    (WALLET_LOCATION=/tmp/oracle)))

複数のプロトコル・アドレスを指定するためのADDRESS_LISTあり。

salesserver1:1521;saleserver2:1522/sales.us.example.com?sdu=16384

(DESCRIPTION=
  (SDU=16384) 
  (ADDRESS_LIST=
    (ADDRESS=(PROTOCOL=tcp)(HOST=saleserver1)(PORT=1521)))
  (ADDRESS_LIST=
    (ADDRESS=(PROTOCOL=tcp)(HOST=saleserver2)(PORT=1522)))
  (CONNECT_DATA=(SERVICE_NAME=sales.us.example.com)))