mysql tnsnames.ora_oracle tnsnames.ora配置小结

listener.ora、 tnsnames.ora和sqlnet.ora这3个文件是关系oracle网络配置的3个主要文件,其中listener.ora是和数据库服务器端 相关,而tnsnames.ora和sqlnet.ora这2个文件不仅仅关系到服务器端,主要的还是和客户端关系紧密。 检查客户端oracle网络的时候可

listener.ora、 tnsnames.ora和sqlnet.ora这3个文件是关系oracle网络配置的3个主要文件,其中listener.ora是和数据库服务器端 相关,而tnsnames.ora和sqlnet.ora这2个文件不仅仅关系到服务器端,主要的还是和客户端关系紧密。

检查客户端oracle网络的时候可以先检查sqlnet.ora文件:

# SQLNET.ORA Network Configuration File: $ORACLE_HOME/NETWORK/ADMIN/sqlnet.ora# Generated by Oracle configuration tools.SQLNET.AUTHENTICATION_SERVICES=(NTS)NAMES.DIRECTORY_PATH=(TNSNAMES,HOSTNAME,ONAMES)##NAMES.DEFAULT_DOMAIN = us.oracle.com

上面的sqlnet.ora文件说明:

SQLNET.AUTHENTICATION_SERVICES= (NTS)——这个表示采用os认证,在数据库服务器上,可以利用sqlplus “/ as sysdba”。一般这个配置在windows上是ok的,在unix环境下可能会有问题,一般在unix下可以去掉这个配置。

NAMES.DIRECTORY_PATH= (TNSNAMES, HOSTNAME, ONAMES)——表示将首先利用tnsnames进行解析;如果tnsnames解析不到,将使用hostname解析;如果hostname解析不 到,将采用onames进行解析。

被注释掉的NAMES.DEFAULT_DOMAIN = us.oracle.com——表示采用默认的domain name为us.oracle.com,在tnsnames.ora中如果配置对应的解析,如果原来的别名oralocal,那么,当启用这个参数后,在 tnsnames中的配置要改成oralocal.us.oracle.com。在使用tnsping时或者sqlplus登录时,只需写前面的别名,系 统会自动加上后面的domain name来进行解析。

检查完毕sqlnet.ora,一般都会发现是使用tnsname来解析别名的,那么,tnsnames.ora中可以有哪些配置种类呢?

# TNSNAMES.ORA Network Configuration File: $ORACLE_HOME/NETWORK/ADMIN/tnsnames.ora# Generated by Oracle configuration tools.###### 一般的配置 ##################################ORALOCAL=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=oralocal)))###### 这样也行,用SID=oralocal ###########################ORALOCAL_2=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SID=oralocal))###### RAC的配置(3节点rac) ###############################ORALOCAL=(DESCRIPTION=(load_balance=yes)(failover=on)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.1)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.2)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.3)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=oralocal)(SERVER=DEDICATED)(failover_mode=(type=select)(method=basic)(retries=20)(delay=20))))ORALOCAL_NODE1=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.1)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=oralocal)(INSTANCE_NAME=oralocal_node1)))ORALOCAL_NODE2=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.2)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=oralocal)(INSTANCE_NAME=oralocal_node2)))ORALOCAL_NODE3=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.3)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=oralocal)(INSTANCE_NAME=oralocal_node3))))###### DATA GUARD配置(primary库和standby库都需要配置)##############standby=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.2.2)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=oralocal)))primary=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.2.1)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=oralocal)))

另外需要注意的2点情况:

(1)如果tnsnames中的service_name配置错误,配置成了instance_name了,这个时候会发生tnsping能通,但是 sqlplus连接不上的奇怪情况。报错ORA-12514: TNS:listener could not resolve SERVICE_NAME given in connect descriptor。这个时候查错的时候,需要检查对应的service_name。

(2)如果远程数据库是rac,而且本地客户端端远程数据库处于不同的网段,通过公网链接,rac对外的ip映射只有一个,即只映射到一个节点。请注意在 客户端配置tnsnames的时候按照单机的情况来配置。呵呵,dba不仅仅要学习oracle,了解一些网络的知识,特别是自己系统的网络架构,也是需 要的。

and: tnsping .... 查看服务器与端口

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle 11是一种常用的数据库管理系统,而tnsnames.ora是其用来配置网络服务命名的文件。tnsnames.ora文件中包含了数据库的连接信息,它的详解如下: 首先,tnsnames.ora文件是一个文本文件,在Oracle安装目录的network/admin文件夹下可以找到。通过编辑该文件,可以添加、修改和删除数据库连接配置。 每个数据库连接配置都要使用一个别名来定义,这个别名可以是任何合法的字符串。在tnsnames.ora文件中,每个连接配置由多个行组成,每个行都以连接配置的别名开始。 每个连接配置至少包含以下几个关键信息: 1. (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 主机名)(PORT = 端口号))) (CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = 服务名))) 其中,主机名是指数据库所在服务器的主机名或者IP地址,端口号是数据库监听器所使用的端口号,服务名是数据库的唯一标识。 另外,还可以在连接配置中设置其他可选的参数,如连接超时时间和字符集等。比如,可以设置CONNECT_TIMEOUT参数来限制连接的最长时间。 在tnsnames.ora文件中,还可以为每个连接配置定义多个不同的别名。这样,在应用程序中,就可以使用不同的别名来指定相同的数据库连接配置。 最后,需要说明的是,tnsnames.ora文件的修改只有在重启监听器后才会生效。 综上所述,tnsnames.oraOracle 11的一个重要配置文件,它用来定义数据库连接的别名和连接信息。通过对该文件的编辑,并重启监听器,可以实现数据库连接的配置和修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值