8.4.2 Easy Connect Plusのサポート

Oracle Database 19c以降では、Oracle Databaseに接続するためにアプリケーションで使用する簡易接続構文で、Easy Connect Plusと呼ばれる拡張機能がサポートされています。

Easy Connect Plus機能では、一般的なユースケースの場合のOracle Databaseのアプリケーション構成およびデプロイメントが簡略化されます。tnsnames.orasqlnet.oraなどのOracle Netパラメータ・ファイルを構成する必要はありません。TNS_ADMIN環境変数を設定する必要もありません。

この拡張機能があると、簡易接続で、TCPプロトコルとTCPSプロトコルの両方がサポートされます(以前は、TCPトランスポート・プロトコルのみがサポートされていました)。これにより、クライアント構成が、ネットワーク・セキュリティのためにTCPS接続が必須であるOracle Database Cloud Serviceに簡略化されます。

構文:

Easy Connect Plus機能を使用した、拡張された簡易接続構文は、次のとおりです:

[[protocol:]//]host1{,host12}[:port1]{,host2:port2}{;host1{,host12}[:port1]}[/[service_name][:server][/instance_name]][?parameter_name=value{&parameter_name=value}]

疑問符(?)は名前/値ペアの始まりを示します。アンパサンド(&)は名前/値ペアの間のデリミタです。

ここでは、簡易接続構文に次のものが含まれています:

  • プロトコル: 簡易接続アダプタで、接続文字列の一部としてプロトコルの指定がサポートされています。このプロトコルは、接続文字列内の各ホストに適用されます。

  • マルチホストまたはポート: 簡易接続アダプタで、接続文字列内の複数のホストまたはポートを受け入れることができます。これは、クライアント接続のロード・バランシングに役立ちます。

  • 名前/値ペア: 簡易接続アダプタで、名前/値のペアのリストを受け入れることができます。名前/値の各ペアは、DESCRIPTIONレベルのパラメータとして追加されます。

    次の名前がサポートされています:

    • ENABLE
    • FAILOVER
    • LOAD_BALANCE
    • RECV_BUF_SIZE
    • SEND_BUF_SIZE
    • SDU
    • SOURCE_ROUTE
    • RETRY_COUNT
    • RETRY_DELAY
    • CONNECT_TIMEOUT
    • TRANSPORT_CONNECT_TIMEOUT
  • アドレス・リスト: Oracle Database 23ai以降では、共通の特性があるプロトコル・アドレスのアドレス・リストを1つ以上指定できます。

  • セキュリティ属性: 次のSECURITY属性がTLSでサポートされています。

    • SSL_SERVER_DN_MATCH=on/off
    • SSL_SERVER_CERT_DN=longDN
    • WALLET_LOCATION=Wallet location

ノート:

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

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

  • ADDRESSパラメータを使用して単一のプロトコル・アドレスを指定:

    次の構文ではセッション・データ・ユニット(SDU)を指定しています

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

    次のような接続記述子に変換されます。

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

    同様に、次の構文は接続タイムアウト、トランスポート接続タイムアウト、および再試行回数の値を指定します

    salesserver1:1521/sales.us.example.com?connect_timeout=1min&transport_connect_timeout=30sec&retry_count=3&retry_delay=2

    次のような接続記述子に変換されます。

    (DESCRIPTION=
       (retry_count=3)(retry_delay=2)
       (connect_timeout=1min)(transport_connect_timeout=30sec)
       (ADDRESS=(PROTOCOL=tcp)(HOST=salesserver1)(PORT=1521))
       (CONNECT_DATA=(SERVICE_NAME=sales.us.example.com))
    )
  • ADDRESS_LISTパラメータを使用して複数のプロトコル・アドレスを指定:

    次の構文ではセッション・データ・ユニット(SDU)を指定しています

    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))
    )

関連トピック