Oracle客户端配置tnsnames.ora

examples:

DFDZ_DATASRV =
  (DESCRIPTION =
    (ADDRESS_LIST =
     (FAILOVER=ON)
      (LOAD_BALANCE=off)
      (ADDRESS = (PROTOCOL = TCP)(HOST = ibmRS6002)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = dfdzs1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

FAILOVER

Purpose

Use the parameter FAILOVER to enable or disable connect-time failover for multiple protocol addresses.

When you set the parameter to on, yes, or true, Oracle Net, at connect time, fails over to a different address if the first protocol address fails. When you set the parameter to off, no, or false, Oracle Net tries one protocol address.

Embed this parameter under either the DESCRIPTION_LIST parameter, the DESCRIPTION parameter, or the ADDRESS_LIST parameter.


Important:

Do not set the GLOBAL_DBNAME parameter in the SID_LIST_listener_name section of the listener.ora. A statically configured global database name disables connect-time failover.


Default

on for DESCRIPTION_LISTs, DESCRIPTIONs, and ADDRESS_LISTs

Values

on | off | yes | no | true | false

Example

net_service_name=  (DESCRIPTION=  (FAILOVER=on)  (ADDRESS=(PROTOCOL=tcp)(HOST=sales1-svr)(PORT=1521))  (ADDRESS=(PROTOCOL=tcp)(HOST=sales2-svr)(PORT=1521)))  (CONNECT_DATA=(SERVICE_NAME=sales.us.acme.com))) 

LOAD_BALANCE

Purpose

Use the parameter LOAD_BALANCE to enable or disable client load balancing for multiple protocol addresses.

When you set the parameter to on, yes, or true, Oracle Net progresses through the list of addresses in a random sequence, balancing the load on the various listener or Oracle Connection Manager protocol addresses. When you set the parameter to off, no, or false, Oracle Net tries the protocol addresses sequentially until one succeeds.

Embed this parameter under either the DESCRIPTION_LIST parameter, the DESCRIPTION parameter, or the ADDRESS_LIST parameter.

Default

on for DESCRIPTION_LISTs

Values

on | off | yes | no | true | false

Example

net_service_name=  (DESCRIPTION=  (LOAD_BALANCE=on)  (ADDRESS=(PROTOCOL=tcp)(HOST=sales1-svr)(PORT=1521))  (ADDRESS=(PROTOCOL=tcp)(HOST=sales2-svr)(PORT=1521)))  (CONNECT_DATA=(SERVICE_NAME=sales.us.acme.com)) 

相关参考文档:

http://www.cise.ufl.edu/help/database/oracle-docs/network.920/a96581/tnsnames.htm

### 正确配置 Oracle `tnsnames.ora` 文件进行数据库连接 #### 配置文件概述 `tnsnames.ora` 是用于客户端连接到 Oracle Server 的配置文件,而 `listener.ora` 则负责监听并处理来自不同客户端的连接请求[^1]。 #### 文件位置 对于不同的环境和个人设置,`tnsnames.ora` 文件的位置可能有所不同。通常情况下,在 Windows 上该文件位于类似于 `C:\Oracle\product\11.2.0\client_1\network\admin` 这样的目录下;而在 Linux 或 macOS 中,则可能是 `/etc/oracle/network/admin/` 或者 `$ORACLE_HOME/network/admin/` 路径下的子目录内[^4]。如果使用 Instant Client 工具包的话,那么路径可能会像这样:`F:\plsql\instantclient\instantclient_23_4\network\admin`[^2]。 #### 基本语法结构 以下是创建一个新的条目时所遵循的一般模式: ```plaintext <ENTRY_NAME> = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = <hostname_or_ip_address>)(PORT = <port_number>)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = <service_name>) ) ) ``` 这里 `<ENTRY_NAME>` 表示你给这个特定服务器定义的名字,可以自由命名以便于识别;`<hostname_or_ip_address>` 和 `<port_number>` 应当替换为目标主机的实际 IP 地址或域名及其开放的服务端口,默认通常是 1521;最后 `<service_name>` 就是要访问的具体服务名称[^3]。 #### 实际案例示范 假设有一个名为 "LINBEST" 的远程数据库实例运行在一个具有静态IP地址为 `192.168.10.4` 的机器上,并且它通过标准端口 1521 提供服务。此时可以在本地计算机上的 `tnsnames.ora` 添加如下内容来建立对该数据库的连接: ```plaintext LINBSET = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.4)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = linbest) ) ) ``` 完成上述编辑之后保存更改即可尝试使用 SQL*Plus、PL/SQL Developer 或其他支持 TNS 名称解析的应用程序来进行测试连接操作了。 #### 使用工具辅助配置 除了手动编写外,还可以借助图形界面应用程序如 DBeaver 来简化这一过程。只需指定好 `tnsnames.ora` 所处的确切物理位置(例如前述提到的各种可能性),软件会自动读取其中的信息从而帮助构建合适的连接字符串。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值