Oracle网络配置和连接管理
Oracle网络配置,对于使用PL/SQL Developer连接Oracle出现错误的一些解决方法,特别是当网络环境改变导致的连接错误。三个配置文
Oracle网络配置,对于使用PL/SQL Developer连接Oracle出现错误的一些解决方法,特别是当网络环境改变导致的连接错误。
三个配置文件 listener.ora、sqlnet.ora、tnsnames.ora ,都是放在$ORACLE_HOME\network\admin目录下。
1. sqlnet.ora—–作用类似于linux或者其他unix的nsswitch.conf文件,,通过这个文件来决定怎么样找一个连接中出现的连接字符串。
例如我们客户端输入
sqlplus sys/oracle@orcl
假如我的sqlnet.ora是下面这个样子
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME)
那么,客户端就会首先在tnsnames.ora文件中找orcl的记录.如果没有相应的记录则尝试把orcl当作一个主机名,通过网络的途径去解析它的 ip地址然后去连接这个ip上GLOBAL_DBNAME=orcl这个实例,当然我这里orcl并不是一个主机名
如果我是这个样子
NAMES.DIRECTORY_PATH= (TNSNAMES)
那么客户端就只会从tnsnames.ora查找orcl的记录,括号中还有其他选项,如LDAP等并不常用。
2. Tnsnames.ora——这个文件类似于unix 的hosts文件,提供的tnsname到主机名或者ip的对应,只有当sqlnet.ora中类似
NAMES.DIRECTORY_PATH= (TNSNAMES) 这样,也就是客户端解析连接字符串的顺序中有TNSNAMES是,才会尝试使用这个文件。
PROTOCOL:客户端与服务器端通讯的协议,一般为TCP,该内容一般不用改。
HOST:数据库侦听所在的机器的机器名或IP地址,数据库侦听一般与数据库在同一个机器上,所以当我说数据库侦听所在的机器一般也是指数据库所在的机器。在UNIX或WINDOWS下,可以通过在数据库侦听所在的机器的命令提示符下使用hostname命令得到机器名,或通过ipconfig(forWINDOWS) or ifconfig(for UNIX)命令得到IP地址。需要注意的是,不管用机器名或IP地址,在客户端一定要用ping命令ping通数据库侦听所在的机器的机器名,否则需要在 hosts文件中加入数据库侦听所在的机器的机器名的解析。
PORT:数据库侦听正在侦听的端口,可以察看服务器端的listener.ora文件或在数据库侦听所在的机器的命令提示符下通过lnsrctl status [listener name]命令察看。此处Port的值一定要与数据库侦听正在侦听的端口一样。
SERVICE_NAME:在服务器端,用system用户登陆后,sqlplus> showparameter service_name命令察看。
ORCL 对应的本机,SALES对应的另外一个IP地址,里边还定义了使用主用服务器还是共享服务器模式进行连接
#你所要连接的时候输入得TNSNAME
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
#下面是这个TNSNAME对应的主机,端口,协议
(ADDRESS = (PROTOCOL = TCP)(HOST =127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
#使用专用服务器模式去连接需要跟服务器的模式匹配,如果没有就根据服务器的模式自动调节
(SERVER = DEDICATED)
#对应service_name,SQLPLUS>;showparameter service_name; 进行查看
(SERVICE_NAME = orcl)
)
)
#下面这个类似
SALES =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.188.219)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = sales)
)
)
注意:如果数据库服务器用MTS,客户端程序需要用database link时最好明确指明客户端用dedicated直连方式,不然会遇到很多跟分布式环境有关的ORACLEBUG。一般情况下数据库服务器用直接的连接会好一些,除非你的实时数据库连接数接近1000。
上一篇: php中empty,is_null,isset的区别详解
下一篇: RC4是一种什么算法?
推荐阅读
-
Oracle网络配置和连接管理
-
请教PHP连接oracle8i,如何配置
-
php连接mysql测试和配置
-
windows 7 上plsql dev 和 oracle instantclient 配置 博客分类: windows plsql devoracle instantclient 配置win7 plsql devMsvcp71.dllMsvcr71.dll
-
Windows 7 64bit 下配置 oracle instant client 和 PL/SQL Developer 博客分类: Oracle Instant Client Setting oraclepl/sqlpl/sql developer
-
体验TokyoCabinet和TokyoTyrant 博客分类: 持久化 TokyoCabinet应用服务器配置管理数据结构多线程
-
WindowsNT/2000/XP中的Oracle服务简介 博客分类: Oracle XPOracle.net网络协议配置管理
-
ORACLE用户自动被锁解决方法 博客分类: oracle OracleSQL数据结构配置管理脚本
-
ORACLE用户自动被锁解决方法 博客分类: oracle OracleSQL数据结构配置管理脚本
-
MongoDB的连接池和连接管理 博客分类: MongoDB