Oracle19c文档 tnsnames.ora (三)

  官网地址:Local Naming Parameters in the tnsnames.ora File

欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯.

6.9连接数据部分

了解如何使用协议地址配置网络连接。

网络对象由协议地址标识。建立连接后,客户端和请求的接收者(侦听器或 Oracle Connection Manager)将配置相同的协议地址。客户端使用此地址将连接请求发送到特定的网络对象位置,接收者“侦听”此地址上的请求,并根据其与客户端信息匹配的地址信息授予连接。

  • COLOCATION_TAG
  • 连接数据
  • 故障转移模式
  • GLOBAL_NAME
  • HS
  • INSTANCE_NAME
  • KERBEROS5_PRINCIPAL
    使用此参数指定 Kerberos 主体。
  • RDB_数据库
  • SHARDING_KEY
    使用此参数将数据库连接请求路由到适当的分片。将此参数放在CONNECT_DATA连接字符串的部分下。
  • SUPER_SHAARDING_KEY
    在复合分片的情况下使用此参数将数据库请求路由到分片集合(分片空间)。将此参数放在CONNECT_DATA连接字符串的部分下。
  • 服务器
  • 服务名称

父主题: tnsnames.ora 文件中的本地命名参数

6.9.1 COLOCATION_TAG

目的

指示侦听器将具有相同连接的所有连接路由colocation_tag到同一数据库实例。

使用说明

将此参数与CONNECT_DATA参数一起使用。

参数值必须是字母数字字符串。

例子

net_service_name=
 (DESCRIPTION=
   (ADDRESS_LIST=
    (ADDRESS=...)
    (ADDRESS=...))
 (CONNECT_DATA=
    (SERVICE_NAME=sales.us.example.com)
    (COLOCATION_TAG=abc)))

笔记:

在某些情况下,例如当达到实例的最大负载或为服务添加或删除新实例时,具有相同数据库colocation_tag实例的客户端连接的共置可能会不一致。

父主题: 连接数据部分

6.9.2连接数据

目的

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

使用说明

将此参数放在DESCRIPTION参数下面。

CONNECT_DATA允许使用以下附加参数:

  • 故障转移模式

  • GLOBAL_NAME

  • HS

  • INSTANCE_NAME

  • RDB_数据库

  • 分片键

  • SUPER_SHAARDING_KEY

  • 服务器

  • 服务名称

  • COLOCATION_TAG

  • KERBEROS5_PRINCIPAL

例子

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

父主题: 连接数据部分

6.9.3故障转移模式

目的

如果第一个侦听器在运行时发生故障,则指示 Oracle Net 将故障转移到其他侦听器。

使用说明

根据配置,会话或任何SELECT正在进行的语句都会自动进行故障转移。

这种类型的故障转移称为透明应用程序故障转移 (TAF),不应与连接时故障转移FAILOVER参数混淆。

将此参数放在CONNECT_DATA参数下面。

附加参数

FAILOVER_MODE支持以下参数:

  • BACKUP:通过网络服务名称指定故障转移节点。必须为故障转移节点创建单独的网络服务名称。

  • TYPE:指定故障转移的类型。默认情况下,Oracle 调用接口 (OCI)应用程序可以使用三种类型的 Oracle Net 故障转移功能:

    • SESSION:会话失败。例如,如果用户的连接丢失,则会在备份上自动为该用户创建一个新会话。这种类型的故障转移不会尝试恢复选择。

    • SELECT:允许打开游标的用户在失败后继续获取它们。然而,这种模式在正常的选择操作中会增加客户端的开销。

    • NONE:这是默认设置,不使用故障转移功能。也可以明确指定这一点以防止发生故障转移。

  • METHOD:指定从主节点到备份节点的故障转移速度:

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

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

  • TRANSACTION:允许数据库在发生可恢复错误后完成当前数据库事务。该参数与参数一起使用COMMIT_OUTCOME=TRUE

  • RETRIES:指定故障转移后尝试连接的次数。如果DELAY指定,则RETRIES默认重试五次。

  • DELAY:指定连接尝试之间等待的时间(以秒为单位)。如果RETRIES指定,则DELAY默认为一秒。

笔记:

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

也可以看看:

Oracle Database Net Services Administrator's Guide了解更多配置信息

父主题: 连接数据部分

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

父主题: 连接数据部分

6.9.5 HS

目的

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

使用说明

将此参数放在CONNECT_DATA参数下面。

默认

没有任何

价值观

ok

例子

net_service_name= 
 (DESCRIPTION=
   (ADDRESS_LIST=
     (ADDRESS=...)
     (ADDRESS=...))
   (CONNECT_DATA=
    (SID=sales6)
    )
(HS=ok))

也可以看看:

Oracle Database Net Services 管理员指南以获取完整的配置信息

父主题: 连接数据部分

6.9.6 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 Database Net Services Administrator's Guide了解有关使用的更多信息INSTANCE_NAME

父主题: 连接数据部分

6.9.7 KERBEROS5_PRINCIPAL

使用此参数指定 Kerberos 主体。

目的

为 Oracle 数据库客户端配置 Kerberos 身份验证时,可以为单个 Oracle 数据库客户端指定多个 Kerberos 主体。

这是一个可选参数。指定后,它用于验证凭证缓存中的主体名称是否与参数值匹配。

使用说明

将此参数与CONNECT_DATA参数一起使用。或者,您可以KERBEROS5_CC_NAME在连接字符串中指定可选KERBEROS5_PRINCIPAL参数,以作为不同的 Kerberos 主体进行连接。每个 Kerberos 主体都必须有一个有效的凭证缓存。

例子

krbuser1对于使用 Kerberos 主体进行外部身份验证krbprinc1.example.com且该主体的凭证缓存位于的用户/tmp/krbuser1/krb.cc,连接字符串为:

net_service_name=
(DESCRIPTION=
      (ADDRESS=(PROTOCOL=tcp)(HOST=sales-svr)(PORT=1521))
      (CONNECT_DATA=(SERVICE_NAME=sales.example.com)) 
      (SECURITY=
          (KERBEROS5_CC_NAME=/tmp/krbuser1/krb.cc)
          ([email protected])))

笔记:

/tmp/krbuser1/krb.cc如果文件中的主体不包含该值,则连接失败[email protected]
krbuser2同样,对于使用 Kerberos 主体进行外部身份验证krbprinc2.example.com且该主体的凭证缓存位于的用户/tmp/krbuser2/krb.cc,连接字符串为:

net_service_name=
(DESCRIPTION=
      (ADDRESS=(PROTOCOL=tcp)(HOST=sales-svr)(PORT=1521))
      (CONNECT_DATA=(SERVICE_NAME=sales.example.com)) 
      (SECURITY=
          (KERBEROS5_CC_NAME=/tmp/krbuser2/krb.cc)
          ([email protected])))

相关话题

  • Oracle 数据库安全指南

父主题: 连接数据部分

6.9.8 RDB_数据库

目的

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

父主题: 连接数据部分

6.9.9 Sharding_KEY

使用此参数将数据库连接请求路由到适当的分片。将此参数放在CONNECT_DATA连接字符串的部分下。

目的

指定分片键的值。根据数据库连接请求期间指定的值,请求将直接路由到适当的分片。

使用说明

使用该SHARDING_KEY参数以简化文本格式指定分片键。该参数仅支持 ASCII 字符集,不支持特殊字符。分片键支持以下数据类型:

  • NUMBER

  • INTEGER

  • SMALLINT

  • RAW

  • NVARCHAR

  • NVARCHAR2

  • NCHAR

  • DATE

  • TIMESTAMP

使用该SHARDING_KEY_B64参数指定分片键的base64编码的二进制表示形式。该参数支持特殊字符(如“引号、逗号()、右括号+加号)。

价值观

Base64 编码值 ( *_B64) 的字段以标头开头,标头是一系列以空格分隔的整数值:

(CONNECT_DATA=(SHARDING_KEY_B64=[version] [type] [key column 1 type identifier] [key column 2 type identifier] ... ,[base64 string],[base64 string],[base64 string],...))... 
在上面的语法中:
  • 复合键的各个部分用逗号分隔。

  • version指定base64表示的版本号。目前仅支持版本 1,因此支持的版本值为1

  • type指定字符集字符串及其编码信息。支持的type值为:

    价值 字符集字符串 编码方案

    0

    字符串包含哈希值。

    AL32UTF8字符值在(for VARCHAR) 和AL16UTF16(for )中编码NVARCHAR

    1

    字符串不包含哈希值。

    2

    字符串不包含哈希值。

    字符值以数据库编码进行编码,该编码可能特定于每列。

    3

    字符串包含哈希值。

    4

    字符串仅包含哈希值。

  • 键列类型标识符指定数据类型。支持的键列类型标识符值为:

    价值 数据类型

    1

    VARCHARNVARCHARCHAR,NCHAR

    2

    NUMBER

    6

    NUMBER第一个字节的长度

    12

    DATE

    23

    RAW

    180

    TIMESTAMP

  • 标头以逗号结尾,后跟base64 stringBase64 字符串是 Base64 编码值字符串的逗号分隔列表。哈希值(如果可用)是列表中的最后一个值。

实施例6-8

在以下示例连接字符串中,SHARDING_KEY参数值以简化文本格式指定:
net_service_name
(DESCRIPTION= 
   (ADDRESS_LIST=
     (ADDRESS=...)
     (ADDRESS=...))
   (CONNECT_DATA=
     (SERVICE_NAME=sales.us.example.com)
     ((SHARDING_KEY=40598230))))

实施例6-9

在以下示例连接字符串中,SHARDING_KEY_B64参数值被编码为 Base64 二进制表示形式:
net_service_name
(DESCRIPTION= 
   (ADDRESS_LIST=
     (ADDRESS=...)
     (ADDRESS=...))
   (CONNECT_DATA=
     (SERVICE_NAME=sales.us.example.com)
     ((SHARDING_KEY_B64=1 1 2,VVM=,OTQwMDI=))))

相关话题

  • SUPER_SHAARDING_KEY
  • Oracle 数据库网络服务管理员指南

父主题: 连接数据部分

6.9.10 SUPER_SHAARDING_KEY

在复合分片的情况下使用此参数将数据库请求路由到分片集合(分片空间)。将此参数放在CONNECT_DATA连接字符串的部分下。

目的

为分片集合指定分片空间键。分片空间是一组分片,用于存储与键值范围或列表相对应的数据。根据数据库连接请求期间指定的值,请求将直接路由到适当的分片空间。

使用说明

使用该SUPER_SHARDING_KEY参数以简化文本格式指定分片集合的分片空间键。该参数仅支持 ASCII 字符集,不支持特殊字符。超级分片键支持的数据类型与分片键相同。

使用该SUPER_SHARDING_KEY_B64参数指定分片空间键的 base64 编码的二进制表示形式。该参数支持特殊字符(如“引号、逗号()、右括号+加号)。

价值观

Base64 编码值 ( *_B64) 的字段以标头开头,标头是一系列以空格分隔的整数值:
(CONNECT_DATA=(SUPER_SHARDING_KEY_B64=[version] [type] [integer literal] [integer literal] ... ,[base64 binary],[base64 binary],[base64 binary],...))... 
有关每个 Base64 编码标头字段的详细信息,请参阅SHARDING_KEY。

示例6-10

在以下示例连接字符串中,SHARDING_KEYSUPER_SHARDING_KEY参数值以简化文本格式指定:
net_service_name=
(DESCRIPTION= 
   (ADDRESS_LIST=
     (ADDRESS=...)
     (ADDRESS=...))
   (CONNECT_DATA=
     (SERVICE_NAME=sales.us.example.com)
     ((SHARDING_KEY=40598230)(SUPER_SHARDING_KEY=gold)))

例6-11

在以下示例连接字符串中,SHARDING_KEY_B64SUPER_SHARDING_KEY_B64参数值被编码为 Base64 二进制表示形式:
net_service_name
(DESCRIPTION= 
   (ADDRESS_LIST=
     (ADDRESS=...)
     (ADDRESS=...))
   (CONNECT_DATA=
     (SERVICE_NAME=sales.us.example.com)
     ((SHARDING_KEY_B64=1 1 2,VVM=,OTQwMDI=)(SUPER_SHARDING_KEY_B64=1 1,BBWEPGRBBDOEMGQW)))

相关话题

  • 分片键
  • Oracle 数据库网络服务管理员指南

父主题: 连接数据部分

6.9.11服务器

目的

指示侦听器将客户端连接到特定类型的服务处理程序。

使用说明

将此参数放在CONNECT_DATA参数下面。

价值观

  • dedicated指定是否由专用服务器处理客户端请求。

  • shared指定客户端请求是由调度程序还是共享服务器提供服务。

  • pooled从连接池获取连接如果服务器上启用了数据库驻留连接池。

笔记:

  • 必须在数据库初始化文件中配置共享服务器,客户端才能通过共享服务器进程连接到数据库。

  • 文件中的 USE_DEDICATED_SERVER 参数会覆盖sqlnet.ora此参数。

例子

net_service_name= 
 (DESCRIPTION=
   (ADDRESS_LIST=
     (ADDRESS=...)
     (ADDRESS=...))
   (CONNECT_DATA=
    (SERVICE_NAME=sales.us.example.com)
    (SERVER=dedicated)))

父主题: 连接数据部分

6.9.12 SERVICE_NAME

目的

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

使用说明

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

将此参数放在CONNECT_DATA参数下面。

例子

net_service_name= 
 (DESCRIPTION=
   (ADDRESS_LIST=
     (ADDRESS=...)
     (ADDRESS=...))
   (CONNECT_DATA=
     (SERVICE_NAME=sales.us.example.com)))

相关话题

  • Oracle 数据库网络服务管理员指南

父主题: 连接数据部分

你可能感兴趣的:(oracle,数据库,服务器,运维)