tnsnames.ora文件中的本地命名参数

本章提供了tnsnames.ora文件配置参数的完整列表。本章包含以下主题:

•           本地命名参数Local Naming Parameters概述

•           tnsnames.ora的常规语法

•           tnsnames.ora中的多重描述

•           tnsnames.ora中的多重地址列表

•           使用Oracle连接管理器进行连接时故障和客户端负载平衡

•           连接描述符描述

•           协议地址部分

•           地址列表的可选参数

•           连接数据部分

•           安全部分

•           超时参数

•           压缩参数

本地命名参数概述

tnsnames.ora文件是一个配置文件,其中包含映射到本地命名方法连接描述符的网络服务名称,或映射到监听程序协议地址的网络服务名称。

网络服务名称是映射到包含的数据库网络地址的别名连接描述符。连接描述符包含通过协议地址的监听程序的位置以及要连接的数据库的服务名称。客户端和数据库服务器(即其他数据库服务器的客户端)在与应用程序建立连接时使用网络服务名称。

默认情况下,该tnsnames.ora文件位于ORACLE_HOME/network/admin目录中。Oracle Net将检查配置文件的其他目录。例如,检查tnsnames.ora文件的顺序如下:

  1. TNS_ADMIN环境变量指定的目录。如果在指定的目录中找不到该文件,则假定该文件不存在。
  2. 如果TNS_ADMIN未设置环境变量,则Oracle Net将检查该ORACLE_HOME/network/admin目录。

注意:

Microsoft Windows上,TNS_ADMIN如果在进程的环境中设置了环境变量,则使用该变量。如果TNS_ADMIN未在环境中定义环境变量,或者该进程是没有环境的服务,则Microsoft Windows会在注册表中扫描TNS_ADMIN参数。

tnsnames.ora的常规语法

6-1tnsnames.ora显示了文件的基本语法。

6-1 tnsnames.ora文件的基本格式

net_service_name =

 (DESCRIPTION =

   (ADDRESS =(protocol_address_information))

   (CONNECT_DATA =

     (SERVICE_NAME = service_name)))

在前面的示例中,DESCRIPTION包含连接描述符,ADDRESS包含协议地址,并CONNECT_DATA包含数据库服务标识信息。

tnsnames.ora中的多个描述

一个tnsnames.ora文件可以包含一个或多个连接的描述网络服务名。每个连接描述符可以包含一个或多个协议地址。6-2打开一个新窗口显示了两个具有多个地址的连接描述符。DESCRIPTION_LIST定义连接描述符列表。

示例6-2 tnsnames.ora中具有多个连接描述符的网络服务名称

net_service_name =

 (DESCRIPTION_LIST =

  (DESCRIPTION =

   (ADDRESS =(PROTOCOL = TCP)(HOST =sales1-SVR)(PORT = 1521))

   (ADDRESS =(PROTOCOL = TCP)(HOST = sales2-SVR)(PORT = 1521)))

   (CONNECT_DATA =

     (SERVICE_NAME = sales.us.example.com)))

  (DESCRIPTION =

   (ADDRESS =(PROTOCOL = TCP)(HOST = HR1-SVR)(PORT = 1521))

   (ADDRESS =(PROTOCOL = TCP)(HOST = HR2-SVR)(PORT = 1521)))

   (CONNECT_DATA =

     (SERVICE_NAME = hr.us.example.com))))

笔记:

使用Oracle Connection Manager时,Oracle Net Manager不支持为网络服务名称创建多个连接描述符。

tnsnames.ora中的多个地址列表

tnsnames.ora文件还支持具有多个地址列表的连接描述符,每个地址列表都有自己的特征。在6-3打开一个新窗口,给出了两个地址列表。第一个地址列表具有客户端负载平衡打开一个新窗口和无连接时故障切换功能打开一个新窗口,这些仅与其中的协议地址ADDRESS_LIST有关。第二个协议地址列表没有客户端负载加载平衡,但确实有连接时故障切换,只影响其中的协议地址ADDRESS_LIST。客户端首先随机尝试第一个或第二个协议地址,然后按顺序尝试协议地址34

示例6-3 tnsnames.ora中的多个地址列表

net_service_name =

 (DESCRIPTION =

  (ADDRESS_LIST =

   (LOAD_BALANCE =on)

   (FAILOVER = OFF)

   (ADDRESS =(protocol_address_information))

   (ADDRESS =(protocol_address_information)))

  (ADDRESS_LIST =

   (LOAD_BALANCE = OFF)

   (FAILOVER = ON)

   (ADDRESS =(protocol_address_information))

   (ADDRESS =(protocol_address_information)))

  (CONNECT_DATA =

   (SERVICE_NAME = service_name)))

注意:

·         IFILE = / TMP / listener_em.ora

·         IFILE = / TMP / listener_cust1.ora

·         IFILE = / TMP / listener_cust2.ora

有关其他信息,请参阅Oracle数据库参考打开一个新窗口

使用Oracle连接管理器进行连接时故障切换和客户端负载平衡

tnsnames.ora文件中的连接描述符包含至少两个用于Oracle Connection Manager打开一个新窗口协议地址时,连接时故障切换和负载平衡的参数可以包含在文件中。

6-4打开一个新窗口说明了多个Oracle Connection Manager协议地址的故障切换。

示例6-4 tnsnames.ora中的多个Oracle Connection Manager地址

SAMPLE1 =

 (DESCRIPTION =

   (SOURCE_ROUTE =yes)

   (ADDRESS_LIST =

     (ADDRESS =(PROTOCOL = tcp)(HOST = host1)(PORT = 1630)) #1

     (ADDRESS_LIST = 

       (FAILOVER = ON)

       (LOAD_BALANCE =close)#2

       (ADDRESS =(PROTOCOL = TCP)(HOST = host2a)(PORT = 1630))

       (ADDRESS =(PROTOCOL = TCP)(HOST = host2b)(PORT = 1630)))

     (ADDRESS =(PROTOCOL = tcp)(HOST = host3)(PORT = 1521)))#3

   (CONNECT_DATA =(SERVICE_NAME = sales.us.example.com)))

示例6-4打开一个新窗口,语法执行以下操作:

  1. 指示客户端连接到第一个Oracle Connection Manager的协议地址,如下所示:

(ADDRESS =(PROTOCOL = TCP)(HOST =host1)(PORT = 1630))

  1. 指示第一个Oracle Connection Manager连接到另一个Oracle Connection Manager的第一个协议地址。如果第一个协议地址失败,则它尝试第二个协议地址。使用以下配置指定此序列:

(ADDRESS_LIST = 

(FAILOVER = ON)

(LOAD_BALANCE = OFF)

(ADDRESS =(PROTOCOL = TCP)(HOST = host2a)(PORT = 1630))

(ADDRESS =(PROTOCOL = TCP)(HOST = host2b)(PORT = 1630)))

  1. Oracle Connection Manager使用以下协议地址连接到数据库服务:

(ADDRESS =(PROTOCOL = TCP)(HOST = host3)(PORT = 1521))

6-5打开一个新窗口说明了两个Oracle Connection Manager和两个协议地址之间的客户端负载平衡:

示例6-5 tnsnames.ora中的客户端负载平衡

SAMPLE2 =

 (DESCRIPTION =

   (LOAD_BALANCE = on)  #1

   (FAILOVER = on)

   (ADDRESS_LIST =

     (SOURCE_ROUTE =yes)

     (ADDRESS =(PROTOCOL = tcp)(HOST = host1)(PORT = 1630))  #2

     (ADDRESS =(PROTOCOL = TCP)(HOST =host2)(PORT = 1521)))

  (ADDRESS_LIST =

     (SOURCE_ROUTE =yes)

     (ADDRESS =(PROTOCOL = TCP)(HOST = host3)(port= 1630))

     (ADDRESS =(PROTOCOL = TCP)(HOST =host4)(port= 1521)))

   (CONNECT_DATA =(SERVICE_NAME = sales.us.example.com))) #3

示例6-5打开一个新窗口,语法执行以下操作:

  1. ADDRESS_LIST如果选择ADDRESS_LIST失败,则指示客户端随机选择并故障切换到另一个客户端。这由LOAD_BALANCEFAILOVER设置的参数表示on
  2. ADDRESS_LIST被选择时,客户端首先连接到Oracle连接管理器,利用使用该端口1630所指示的Oracle连接管理器协议地址ADDRESS_LIST
  3. 然后,Oracle Connection Manager使用为其指定的协议地址连接到数据库服务ADDRESS_LIST

连接描述符

每个连接描述符都包含在DESCRIPTION打开一个新窗口参数中。多个连接描述符由DESCRIPTION_LIST打开一个新窗口参数表征。本节将介绍这些参数。

DESCRIPTION

作用

指定连接描述符的容器。

使用说明

使用多个DESCRIPTION参数时,请将参数放在参数下DESCRIPTION_LIST

net_service_name =

(DESCRIPTION =

  (ADDRESS = ...)

  (CONNECT_DATA =(SERVICE_NAME = sales.us.example.com)))

DESCRIPTION_LIST

作用

定义特定网络服务名称的连接描述符列表。

net_service_name =

(DESCRIPTION_LIST =

 (DESCRIPTION =

  (ADDRESS = ...)

  (CONNECT_DATA =(SERVICE_NAME = sales.example.com)))

 (DESCRIPTION =

  (ADDRESS = ...)

  (CONNECT_DATA =(SERVICE_NAME = sales2.us.example.com))))

协议地址部分

文件的协议地址部分tnsnames.ora指定监听程序的协议地址。如果只有一个监听程序协议地址,则使用ADDRESS打开一个新窗口参数。如果有多个地址,则使用ADDRESS_LIST打开一个新窗口参数。

ADDRESS

作用

定义单个监听程序协议地址。

使用说明

将此参数放在ADDRESS_LIST参数或DESCRIPTION参数下。

net_service_name =

(DESCRIPTION =

 (ADDRESS =(PROTOCOL = TCP)(HOST =sales-SVR)(PORT = 1521))

 (CONNECT_DATA =(SERVICE_NAME = sales.us.example.com))

也可以看看:

4"协议地址配置"打开一个新窗口了解用于每种协议的正确参数

ADDRESS_LIST

作用

定义协议地址列表。

使用说明

如果只有一个监听程序协议地址,则ADDRESS_LIST不是必需的。

将此参数放在DESCRIPTION参数或DESCRIPTION_LIST参数下。

net_service_name =

 (DESCRIPTION =

  (ADDRESS_LIST =

   (ADDRESS =(PROTOCOL = TCP)(HOST =sales1-SVR)(PORT = 1521))

   (ADDRESS =(PROTOCOL = TCP)(HOST = sales2-SVR)(PORT = 1521)))

  (CONNECT_DATA =(SERVICE_NAME = sales.us.example.com)))

地址列表的可选参数

对于多个地址,可以使用以下参数:

·         ENABLE

 

·         FAILOVER

 

·         LOAD_BALANCE

 

·         RECV_BUF_SIZE

 

·         SDU

 

·         SEND_BUF_SIZE

 

·         SOURCE_ROUTE

 

·       TYPE_OF_SERVICE

 

 

ENABLE

作用

要允许呼叫者检测已终止的远程服务器,通常需要2小时或更长时间才能注意到。

使用说明

(ENABLE=broken)可以打开心跳信号连接的特性。(ENABLE=broken)一般放在DESCRIPTION属性的下面。

在客户端,默认tcp_keepalive关闭的。操作系统TCP配置(根据平台而异)定义了实际的keepalive时序详细信息。

broken

net_service_name =

 (DESCRIPTION =

  (ENABLE =broken)

  (ADDRESS =(PROTOCOL = TCP)(HOST =sales1-SVR)(PORT = 1521))

  (ADDRESS =(PROTOCOL = TCP)(HOST = sales2-SVR)(PORT = 1521)))

  (CONNECT_DATA =(SERVICE_NAME = sales.us.example.com))

虽然前面的示例有多个地址,ADDRESS_LIST但未使用该参数。这是因为ADDRESS_LIST参数不是强制性的。

FAILOVER

作用

为多个协议地址启用或禁用连接时故障切换。

使用说明

当您将参数设置为onyestrueOracle网络在连接时故障切换到不同的地址。当您将参数设置为offnofalseOracle网络会尝试一个可用的IP地址。

将此参数放在DESCRIPTION_LIST参数,DESCRIPTION参数或ADDRESS_LIST参数下。

重要提示:

不要在listener.oraSID_LIST_listener_name部分设置GLOBAL_DBNAME参数。其中配置的全局数据库名称是固定名称,会自动禁止使用故障切换功能。

默认值

DESCRIPTION_LISTDESCRIPTIONADDRESS_LIST参数默认为on

net_service_name =

 (DESCRIPTION =

  (FAILOVER = ON)

  (ADDRESS_LIST =

    (ADDRESS =(PROTOCOL = TCP)(HOST =sales1-SVR)(PORT = 1521))

    (ADDRESS =(PROTOCOL = TCP)(HOST = sales2-SVR)(PORT = 1521)))

  (CONNECT_DATA =(SERVICE_NAME = sales.us.example.com)))

LOAD_BALANCE

作用

为多个协议地址启用或禁用客户端负载平衡。

使用说明

当您将参数设置为onyestrueOracle网络经过随机序列的地址列表,均衡的各种监听器或Oracle连接管理器协议地址的负载。当将参数设置为offno,或falseOracle网络尝试的协议地址顺序直到一个成功。

将此参数放在DESCRIPTION_LIST参数,DESCRIPTION参数或ADDRESS_LIST参数下。

默认

 对于 DESCRIPTION_LIST on

net_service_name =

 (DESCRIPTION =

  (LOAD_BALANCE =on)

  (ADDRESS_LIST =

    (ADDRESS =(PROTOCOL = TCP)(HOST =sales1-SVR)(PORT = 1521))

    (ADDRESS =(PROTOCOL = TCP)(HOST = sales2-SVR)(PORT = 1521)))

  (CONNECT_DATA =(SERVICE_NAME = sales.us.example.com))

RECV_BUF_SIZE

作用

指定用于接收会话操作的缓冲区空间的字节数。

使用说明

TCP / IP,带有SSLTCP / IPSDP协议支持此参数。

将此参数放在参数下DESCRIPTION或协议地址的末尾。

在客户端的连接描述符中设置此参数会覆盖客户端文件中的RECV_BUF_SIZE打开一个新窗口参数sqlnet.ora

注意:

其他协议可能在某些操作系统上支持此参数。有关其他协议的其他信息,请参阅特定于操作系统的文档。

默认值

此参数的默认值特定于操作系统。Linux 2.6操作系统的默认值为110592(108 KB)字节。

net_service_name =

 (DESCRIPTION =

   (ADDRESS_LIST =

     (ADDRESS =(PROTOCOL = TCP)(HOST =sales1-server)(PORT = 1521)

        (RECV_BUF_SIZE = 11784))

     (ADDRESS =(PROTOCOL = TCP)(HOST = sales2-server)(PORT = 1521)

        (RECV_BUF_SIZE = 11784))

   (CONNECT_DATA =

     (SERVICE_NAME = sales.us.example.com)))

net_service_name =

 (DESCRIPTION =

   (RECV_BUF_SIZE = 11784)

   (ADDRESS_LIST =

     (ADDRESS =(PROTOCOL = TCP)(HOST = HR1-server)(PORT = 1521))

     (ADDRESS =(PROTOCOL = TCP)(HOST = HR2-server)(PORT = 1521)))

   (CONNECT_DATA =

     (SERVICE_NAME = hr.us.example.com)))

也可以看看:

打开一个新窗口有关配置此参数的其他信息,请参见"Oracle数据库网络服务管理员指南"

SDU

作用

指示Oracle Net优化通过网络以指定会话数据单元(SDU)打开一个新窗口大小发送的数据包的传输速率。

使用说明

将此参数放在参数下DESCRIPTION

在客户端的连接描述符中设置此参数会覆盖客户端文件中的DEFAULT_SDU_SIZE打开一个新窗口参数sqlnet.ora

默认

8192字节(8 KB)

5122097152个字节。

net_service_name =

 (DESCRIPTION =

  (SDU = 8192)

   (ADDRESS_LIST =

     (ADDRESS =(PROTOCOL = TCP)(HOST =sales1-server)(PORT = 1521))

     (ADDRESS =(PROTOCOL = TCP)(HOST = sales2-server)(PORT = 1521)))

  (CONNECT_DATA =

    (SERVICE_NAME = sales.us.example.com))

也可以看看:

Oracle数据库网络服务管理员指南,打开一个新窗口了解完整的SDU使用和配置信息

SEND_BUF_SIZE

作用

为字节指定会话发送操作的缓冲区空间。

使用说明

TCP / IP,带有SSLTCP / IPSDP协议支持此参数。

将此参数放在参数下DESCRIPTION或协议地址的末尾。

在客户端的连接描述符中设置此参数会覆盖客户端文件中的SEND_BUF_SIZE打开一个新窗口参数sqlnet.ora

注意:

其他协议可能在某些操作系统上支持此参数。有关其他协议的信息,请参阅特定于操作系统的文档。

默认值

此参数的默认值是特定于操作系统的。Linux 2.6操作系统的默认值为110592(108 KB)字节。

net_service_name =

 (DESCRIPTION =

   (ADDRESS_LIST =

     (ADDRESS =(PROTOCOL = TCP)(HOST =sales1-server)(PORT = 1521)

        (SEND_BUF_SIZE = 11784))

     (ADDRESS =(PROTOCOL = TCP)(HOST = sales2-server)(PORT = 1521)

        (SEND_BUF_SIZE = 11784)))

   (CONNECT_DATA =

     (SERVICE_NAME = sales.us.example.com)))

net_service_name =

 (DESCRIPTION =

   (SEND_BUF_SIZE = 11784)

   (ADDRESS_LIST =

     (ADDRESS =(PROTOCOL = TCP)(HOST = HR1-server)(PORT = 1521)

     (ADDRESS =(PROTOCOL = TCP)(HOST = HR2-server)(PORT = 1521)))

   (CONNECT_DATA =

     (SERVICE_NAME = hr.us.example.com)))

也可以看看:

打开一个新窗口有关配置此参数的其他信息,请参见"Oracle数据库网络服务管理员指南"

SOURCE_ROUTE

作用

启用通过多个​​协议地址进行路由。

使用说明

将此参数设置为on或时yesOracle Net将按顺序使用每个地址,直到到达目标。

要使用Oracle Connection Manager,需要从客户端到Oracle Connection Manager的初始连接,并且需要从Oracle Connection Manager到监听程序的第二个连接。

将此参数放在DESCRIPTION_LIST参数,DESCRIPTION参数或ADDRESS_LIST参数下。

默认值

off

net_ service_name =

 (DESCRIPTION =

  (SOURCE_ROUTE =on)

  (ADDRESS =(PROTOCOL = TCP)(HOST = CMAN-PC)(PORT = 1630))

  (ADDRESS =(PROTOCOL = TCP)(HOST =sales1-SVR)(PORT = 1521))

  (CONNECT_DATA =(SERVICE_NAME = sales.us.example.com))

也可以看看:

Oracle Database Net Services管理员指南,打开一个新窗口了解完整的配置信息

TYPE_OF_SERVICE

作用

指定用于Oracle Rdb数据库的服务类型。

使用说明

仅当应用程序同时支持Oracle RdbOracle数据库服务并且您希望应用程序在两者之间进行负载平衡时,才应使用此参数。

将此参数放在参数下DESCRIPTION

net_service_name =

 (DESCRIPTION_LIST =

  (DESCRIPTION =

   (ADDRESS = ...)

   (CONNECT_DATA =

    (SERVICE_NAME =generic)

    (RDB_DATABASE = [MF] mf_personal.rdb)

    (GLOBAL_NAME =alpha5))

   (TYPE_OF_SERVICE = rdb_database))

  (DESCRIPTION =

   (ADDRESS = ...)

   (CONNECT_DATA =

    (SERVICE_NAME = sales.us.example.com))

   (TYPE_OF_SERVICE = oracle11_database)))

连接数据部分

tnsnames.ora文件的连接数据部分指定目标服务的名称。可以使用以下参数:

             CONNECT_DATA

             FAILOVER_MODE

             GLOBAL_NAME

             HS

             INSTANCE_NAME

             RDB_DATABASE

             SERVER

             SERVICE_NAME

CONNECT_DATA

作用

定义要连接的服务,例如SERVICE_NAME

使用说明

将此参数放在参数下DESCRIPTION

CONNECT_DATA 允许以下附加参数:

·         FAILOVER_MODE

·         GLOBAL_NAME

·         HS

·         INSTANCE_NAME

·         RDB_DATABASE

·         SERVER

·         SERVICE_NAME

net_service_name =

 (DESCRIPTION =

  (ADDRESS_LIST =

    (ADDRESS =(PROTOCOL = TCP)(HOST =sales1-SVR)(PORT = 1521))

    (ADDRESS =(PROTOCOL = TCP)(HOST = sales2-SVR)(PORT = 1521)))

  (CONNECT_DATA =

    (SERVICE_NAME = sales.us.example.com)))

 

FAILOVER_MODE

作用

如果第一个监听程序在运行时失败,则指示Oracle Net故障切换到其他监听程序。

使用说明

根据配置,会话或SELECT正在进行的任何语句将自动进行故障切换。

此类故障切换称为透明应用程序故障切换(Transparent Application Failover  TAF),不应与连接时故障切换FAILOVER打开一个新窗口参数混淆。

将此参数放在参数下CONNECT_DATA

附加参数

FAILOVER_MODE 支持以下参数:

o    SESSION:会话进程失败。例如,如果用户的连接丢失,则会自动为备份上的用户创建新会话。此类故障切换不会尝试恢复选择。

o    SELECT:允许具有打开游标的用户在失败后继续获取它们。但是,此模式涉及正常选择操作中客户端的开销。

o    NONE:这是默认设置,不使用故障切换功能。这也可以明确指定,以防止发生故障切换。

o    BASIC:在故障切换时建立连接。此选项在故障切换时间之前几乎不需要备份数据库服务器上的任何工作。

o    PRECONNECT:预先建立连接。这提供了更快的故障切换,但要求备份实例能够支持来自每个受支持实例的所有连接。

注意:

如果注册了回调函数,则RETRIESDELAY参数将被忽略。

也可以看看:

"Oracle数据库网络服务管理员指南"打开一个新窗口以获取其他配置信息

GLOBAL_NAME

作用

识别Oracle Rdb数据库。

使用说明

将此参数放在参数下CONNECT_DATA

net_service_name =

 (DESCRIPTION =

   (ADDRESS_LIST =

    (ADDRESS = ...)

    (ADDRESS = ...))

   (CONNECT_DATA =

    (SERVICE_NAME =generic)

    (RDB_DATABASE = [.mf]mf_personal.rdb)

    (GLOBAL_NAME =alpha5)))

HS

作用

指导Oracle Net通过异构服务Heterogeneous Services 连接到非Oracle系统。

使用说明

将此参数放在参数下CONNECT_DATA

默认值

None

ok

net_service_name =

 (DESCRIPTION =

   (ADDRESS_LIST =

     (ADDRESS = ...)

     (ADDRESS = ...))

   (CONNECT_DATA =

    (SID = sales6)

    (HS = ok)))

也可以看看:

Oracle Database Net Services管理员指南,打开一个新窗口了解完整的配置信息

INSTANCE_NAME

作用

标识要访问的数据库实例。

使用说明

将值设置为INSTANCE_NAME初始化参数文件中参数指定的值。

将此参数放在参数下CONNECT_DATA

net_service_name =

 (DESCRIPTION =

   (ADDRESS_LIST =

     (ADDRESS = ...)

     (ADDRESS = ...))

   (CONNECT_DATA =

     (SERVICE_NAME = sales.us.example.com)

     (INSTANCE_NAME =sales1)))

也可以看看:

打开一个新窗口有关使用的其他信息,请参阅 "Oracle数据库网络服务管理员指南 "INSTANCE_NAME

RDB_DATABASE

作用

指定Oracle Rdb数据库的文件名。

使用说明

将此参数放在参数下CONNECT_DATA

net_service_name =

 (DESCRIPTION =

   (ADDRESS_LIST =

     (ADDRESS = ...)

     (ADDRESS = ...))

   (CONNECT_DATA =

     (SERVICE_NAME = sales.us.example.com)

     (RDB_DATABASE = [.mf] mf_personal.rdb)))

SERVICE_NAME

作用

指示监听程序将客户端连接到特定类型的服务处理程序打开一个新窗口

使用说明

将此参数放在参数下CONNECT_DATA

笔记:

net_service_name =

 (DESCRIPTION =

   (ADDRESS_LIST =

     (ADDRESS = ...)

     (ADDRESS = ...))

   (CONNECT_DATA =

    (SERVICE_NAME = sales.us.example.com)

    (SERVER =dedicated)))

SERVICE_NAME

作用

标识要访问的Oracle数据库数据库服务。

使用说明

将值设置为SERVICE_NAMES初始化参数文件中的参数指定的值。

将此参数放在参数下CONNECT_DATA

net_service_name =

 (DESCRIPTION =

   (ADDRESS_LIST =

     (ADDRESS = ...)

     (ADDRESS = ...))

   (CONNECT_DATA =

     (SERVICE_NAME = sales.us.example.com)))

也可以看看:

打开一个新窗口有关使用该SERVICE_NAME参数的其他信息,请参见"Oracle数据库网络服务管理员指南"

安全部分

tnsnames.ora文件的安全性部分指定以下与安全性相关的参数,以用于Oracle安全性功能:

SECURITY

作用

启用安全连接。将此参数放在参数下DESCRIPTION

使用说明

SECURITY允许SSL_SERVER_CERT_DN打开一个新窗口参数。

net_service_name =

 (DESCRIPTION =

  (ADDRESS_LIST =

    (ADDRESS =(PROTOCOL = TCP)(HOST =sales1-SVR)(PORT = 1521))

    (ADDRESS =(PROTOCOL = TCP)(HOST = sales2-SVR)(PORT = 1521)))

  (CONNECT_DATA =

    (SERVICE_NAME = sales.us.example.com))

    (SECURITY =

      (SSL_SERVER_CERT_DN = "cn=sales,cn=OracleContext,dc=us,dc=acme,dc =com")))

SSL_SERVER_CERT_DN

作用

指定数据库服务器的识别名称distinguished name (DN)打开一个新窗口

使用说明

客户端使用此信息获取每个服务器所需的DN列表,强制数据库服务器DN与其服务名称匹配。

将此参数与sqlnet.ora参数SSL_SERVER_DN_MATCH打开一个新窗口一起使用以启用服务器DN匹配。

net_service_name =

 (DESCRIPTION =

   (ADDRESS_LIST =

     (ADDRESS = ...)

     (ADDRESS = ...))

   (CONNECT_DATA =

     (SERVICE_NAME = finance.us.example.com))

   (SECURITY =

     (SSL_SERVER_CERT_DN = "cn=finance,cn=OracleContext,dc=us,dc=acme,dc=com")))

也可以看看:

Oracle数据库安全指南打开一个新窗口

超时参数

tnsnames.ora文件的超时部分提供了通过TNS连接字符串指定超时和重试配置的功能。可以在DESCRIPTION连接字符串的级别设置以下参数:

CONNECT_TIMEOUT

作用

指定客户端与Oracle数据库建立Oracle Net连接的超时持续时间(以秒为单位)

使用说明

将此参数放在参数下DESCRIPTION

指定的超时间隔CONNECT_TIMEOUTTCP连接超时间隔的超集。它包括连接到提供所请求服务的数据库实例的时间,而不仅仅是TCP连接的持续时间。

超时间隔是适用于每个ADDRESS在一个ADDRESS_LIST,以及其中一个主机名被映射的每个IP地址。

CONNECT_TIMEOUT参数等效于sqlnet.ora参数SQLNET.OUTBOUND_CONNECT_TIMEOUT打开一个新窗口,并覆盖它。

net_service_name =

 (DESCRIPTION =

  (CONNECT_TIMEOUT = 10)(RETRY_COUNT = 3)

  (ADDRESS_LIST =

   (ADDRESS =(PROTOCOL = TCP)(HOST =sales1-SVR)(PORT = 1521))

   (ADDRESS =(PROTOCOL = TCP)(HOST = sales2-SVR)(PORT = 1521)))

  (CONNECT_DATA =

   (SERVICE_NAME = sales.us.example.com)))

RETRY_COUNT

作用

指定在ADDRESS终止连接尝试之前遍历列表的次数。

使用说明

将此参数放在参数下DESCRIPTION

当一个DESCRIPTION_LIST被指定时,每一个DESCRIPTION被遍历根据重试的指定数作用多次。

net_service_name =

(DESCRIPTION_LIST =

 (DESCRIPTION =

  (CONNECT_TIMEOUT = 10)(RETRY_COUNT = 3)

  (ADDRESS_LIST =

   (ADDRESS =(PROTOCOL = TCP)(HOST = sales1a-SVR)(PORT = 1521))

   (ADDRESS =(PROTOCOL = TCP)(HOST = sales1b-SVR)(PORT = 1521)))

  (CONNECT_DATA =(SERVICE_NAME = sales1.example.com)))

 (DESCRIPTION =

  (CONNECT_TIMEOUT = 60)(RETRY_COUNT = 1)

  (ADDRESS_LIST =

   (ADDRESS =(PROTOCOL = TCP)(HOST = sales2a-SVR)(PORT = 1521))

   (ADDRESS =(PROTOCOL = TCP)(HOST = sales2b-SVR)(PORT = 1521)))

  (CONNECT_DATA =(SERVICE_NAME = sales2.us.example.com))))

RETRY_DELAY

作用

指定后续重试连接之间的延迟(以秒为单位)。此参数与RETRY_COUNT参数一起使用。

使用说明

将此参数放在参数下DESCRIPTION

当一个DESCRIPTION_LIST被指定时,每一个DESCRIPTION被遍历基于所指定的次数的重试,和用于描述特定延迟多次。

net_service_name =

(DESCRIPTION_LIST =

 (DESCRIPTION =

  (CONNECT_TIMEOUT = 10)(RETRY_COUNT = 3)(RETRY_DELAY = 2)

  (ADDRESS_LIST =

   (ADDRESS =(PROTOCOL = TCP)(HOST = sales1a-SVR)(PORT = 1521))

   (ADDRESS =(PROTOCOL = TCP)(HOST = sales1b-SVR)(PORT = 1521)))

  (CONNECT_DATA =(SERVICE_NAME = sales1.example.com)))

 (DESCRIPTION =

  (CONNECT_TIMEOUT = 60)(RETRY_COUNT = 2)(RETRY_DELAY = 1)

  (ADDRESS_LIST =

   (ADDRESS =(PROTOCOL = TCP)(HOST = sales2a-SVR)(PORT = 1521))

   (ADDRESS =(PROTOCOL = TCP)(HOST = sales2b-SVR)(PORT = 1521)))

  (CONNECT_DATA =(SERVICE_NAME = sales2.us.example.com))))

TRANSPORT_CONNECT_TIMEOUT

作用

指定客户端与Oracle数据库建立Oracle Net连接的传输超时持续时间()

使用说明

此参数放在DESCRIPTION参数下。

TRANSPORT_CONNECT_TIMEOUT参数指定客户端与数据库服务器建立TCP连接的时间(以秒为单位)。默认值为60秒。

超时间隔适用ADDRESSADDRESS_LIST描述中的每个以及主机名映射的每个IP地址。该TRANSPORT_CONNECT_TIMEOUT参数等效于sqlnet.ora参数TCP.CONNECT_TIMEOUT打开一个新窗口,并覆盖它。

net_service_name =

  (DESCRIPTION =

    (TRANSPORT_CONNECT_TIMEOUT = 10)

    (ADDRESS_LIST =

      (ADDRESS =(PROTOCOL = TCP)(HOST =sales1-SVR)(PORT = 1521))

      (ADDRESS =(PROTOCOL = TCP)(HOST = sales2-SVR)(PORT = 1521)))

    (CONNECT_DATA =

      (SERVICE_NAME = sales.us.example.com)))

压缩参数

tnsnames.ora文件的压缩部分提供了启用压缩和指定压缩级别的功能。可以在DESCRIPTION连接字符串的级别设置以下参数:

压缩

作用

启用或禁用数据压缩。

使用说明

将此参数放在参数下DESCRIPTION

在客户端的连接描述符中设置此参数会覆盖客户端文件中的SQLNET.COMPRESSION打开一个新窗口参数sqlnet.ora

默认

off

net_service_name =

 (DESCRIPTION =

   (COMPRESSION =on)

      (ADDRESS_LIST =

         (ADDRESS =(PROTOCOL = tcp)(HOST = sales1-server)(PORT = 1521))

         (ADDRESS =(PROTOCOL = tcp)(HOST = sales2-server)(PORT = 1521)))

   (CONNECT_DATA =

       (SERVICE_NAME = sales.us.example.com)))

COMPRESSION_LEVELS

作用

指定压缩级别。

使用说明

在协商时使用压缩级别来验证两端使用哪些级别,并选择一个级别。将此参数放在参数下DESCRIPTION

此参数与COMPRESSION参数一起使用。在客户端的连接描述符中设置此参数会覆盖客户端文件中的SQLNET.COMPRESSION_LEVELS打开一个新窗口参数sqlnet.ora

默认

low

net_service_name =

 (DESCRIPTION =

  (COMPRESSION =on)

  (COMPRESSION_LEVELS =(LEVEL =low)(LEVEL =high))

   (ADDRESS_LIST =

     (ADDRESS =(PROTOCOL = TCP)( HOST=sales1-server)(PORT = 1521))

     (ADDRESS =(PROTOCOL = TCP)( HOST=sales2-server)(PORT = 1521)))

  (CONNECT_DATA =

    (SERVICE_NAME = sales.us.example.com)))