8.4.2 Support for Easy Connect Plus

Starting with Oracle Database 19c, the Easy Connect syntax that applications use to connect to Oracle Database supports an enhanced functionality known as Easy Connect Plus.

The Easy Connect Plus feature simplifies Oracle Database application configuration and deployment for common use cases. You do not need to configure Oracle Net parameter files, such as tnsnames.ora and sqlnet.ora. You also do not need to set the TNS_ADMIN environment variable.

With this enhancement, Easy Connect supports both the TCP and TCPS protocols (earlier, it supported only the TCP transport protocol). This simplifies the client configurations to Oracle Database Cloud Services that mandate TCPS connections for network security.

Syntax:

The enhanced Easy Connect syntax, using the Easy Connect Plus feature, is as follows:

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

The question mark (?) indicates the start of name-value pairs and the ampersand (&) is the delimiter between the name-value pairs.

Here, the Easy Connect syntax includes:

  • Protocol: Easy Connect adapter supports specification of protocol as part of the connect string. This protocol is applicable to each host in the connect string.

  • Multihost or port: Easy Connect adapter can accept multiple hosts or ports in the connect string. This helps in load-balancing the client connections.

  • Name-Value pairs: Easy Connect adapter can accept a list of name value pairs. Each name-value pair is added as a DESCRIPTION level parameter.

    The following names are supported:

    • ENABLE
    • FAILOVER
    • LOAD_BALANCE
    • RECV_BUF_SIZE
    • SEND_BUF_SIZE
    • SDU
    • SOURCE_ROUTE
    • RETRY_COUNT
    • RETRY_DELAY
    • CONNECT_TIMEOUT
    • TRANSPORT_CONNECT_TIMEOUT
  • Address lists: Starting with Oracle Database 23ai, you can specify one or more address lists of protocol addresses that share common characteristics.

  • Security attributes: The following SECURITY attributes are supported for TLS:

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

Note:

The parameter WALLET_LOCATION is deprecated for use with Oracle Database 23ai for the Oracle Database server. It is not deprecated for use with the Oracle Database client or listener.

For Oracle Database server, Oracle recommends that you use the WALLET_ROOT system parameter instead of using WALLET_LOCATION.

Examples

  • With a single protocol address using the ADDRESS parameter:

    The following syntax to specify the Session Data Unit (SDU)

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

    translates to the following connect descriptor:

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

    Similarly, the following syntax to specify connect timeout, transport connect timeout, and retry count values

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

    translates to the following connect descriptor:

    (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))
    )
  • With multiple protocol addresses using the ADDRESS_LIST parameter:

    The following syntax to specify the Session Data Unit (SDU)

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

    translates to the following connect descriptor:

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

Related Topics