1、 listener.ora、tnsnames.ora和sqlnet.ora关系
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
# 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下可以去掉这个配置。
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来解析别名。
Oracle提供了5种配置连接到数据库的方式, 包括ldap.ora, names.ora, tnsnames.ora, listener.ora和sqlnet.ora。 其中tnsnames.ora的方式最为常用,配置方法如下:
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.20.136.19)(PORT = 1521))
)
(CONNECT_DATA =
(SID=moree)
)
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.20.136.19)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME=moree)
)
)
在oracle客户端安装目录下有network(/u01/oracle/network/admin/tnsnames.ora)的目录,下面有一个叫tnsnames.ora的文件,编辑修改为:
oracle1 =
(DESCRIPTION =(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.20.136.19)(PORT = 1521))
)
(CONNECT_DATA =
(SID=moree)
)
)
或者
oracle2 =
(DESCRIPTION =(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.20.136.19)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME=moree)
)
)
2、五元素连接远程服务器
五大元素:
sqlplus
username/password@ip:port/sid
常见问题:
1、没有开启LISTENER, 开启方式:tnslsnr start
2、Oracle客户端版本低于服务器版本。高版本的客户端可以连接低版本的服务器端,反之则不行
本文转自 tianya23 51CTO博客,原文链接:http://blog.51cto.com/tianya23/243674,如需转载请自行联系原作者