官网地址: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:这是默认设置,不使用故障转移功能。也可以明确指定这一点以防止发生故障转移。
 
-  
-   -  BASIC:在故障转移时建立连接。在故障转移之前,此选项几乎不需要备份数据库服务器上的任何工作。
-  PRECONNECT:预先建立连接。这提供了更快的故障转移,但要求备份实例能够支持来自每个受支持实例的所有连接。
 
-  
-  TRANSACTION:允许数据库在发生可恢复错误后完成当前数据库事务。该参数与参数一起使用COMMIT_OUTCOME=TRUE。
笔记:
如果注册了回调函数,则RETRIES和DELAY参数将被忽略。
也可以看看:
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)(KERBEROS5_PRINCIPAL=krbprinc1@example.com)))
笔记:
/tmp/krbuser1/krb.cc如果文件中的主体不包含该值,则连接失败krbprinc1@example.com。 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)(KERBEROS5_PRINCIPAL=krbprinc2@example.com)))
相关话题
- 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字符值在(forVARCHAR) 和AL16UTF16(for )中编码NVARCHAR。1字符串不包含哈希值。 2字符串不包含哈希值。 字符值以数据库编码进行编码,该编码可能特定于每列。 3字符串包含哈希值。 4字符串仅包含哈希值。 
-  键列类型标识符指定数据类型。支持的键列类型标识符值为: 价值 数据类型 1VARCHAR,NVARCHAR,CHAR,NCHAR2NUMBER6NUMBER第一个字节的长度12DATE23RAW180TIMESTAMP
-  标头以逗号结尾,后跟base64 string。Base64 字符串是 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 编码的二进制表示形式。该参数支持特殊字符(如“引号、逗号()、右括号+加号)。
价值观
*_B64) 的字段以标头开头,标头是一系列以空格分隔的整数值: (CONNECT_DATA=(SUPER_SHARDING_KEY_B64=[version] [type] [integer literal] [integer literal] ... ,[base64 binary],[base64 binary],[base64 binary],...))... 示例6-10
SHARDING_KEY和SUPER_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_B64和SUPER_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)))父主题: 连接数据部分