qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

Oracle客户端工具连接数据库服务器问题汇总

经常遇到PL/SQL Developer等依赖Client的工具无法连接Oracle数据库服务器的问题。至今也没完全理清楚,先发个帖总结一下目前的方法,后面会不断完善。

  方法一:

  重启Oracle服务器端相关服务,包括...TNSListener,所用的数据库实例的服务。可直接在Windows的“服务”中重启。或者(可使用的命令):

lsnrctl stop
lsnrctl start
lsnrctl reload
sqlplus / as sysdba;
startup;

  这个方法试过多次有效,但原因未知,求真相。

  方法二:

  使用Net Configuration Assist配置服务器端和客户端。

   Oracle服务器端需要设置listener(监听程序),设置结果影响listener.ora(...\db_1\NETWORK \ADMIN)。Client端(客户端)需要配置“本地Net服务名配置”,可能影响tnsnames.ora和sqlnet.ora两个文件。若是 Oracle Client,则文件位置是...\client_1\NETWORK\ADMIN

  方法三:

  若装有Oracle Client,则可使用Enterprise Manager Console添加数据库连接,会修改tnsnames.ora文件(...\client_1\NETWORK\ADMIN)。

  方法四:

  查看sqlnet.ora中是否有NAMES,DIRECTORY_PATH等,可能与此有关。

# sqlnet.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.

# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

  注意:

   1、Enterprise Manager Console与Net Configuration Assist添加的数据库连接描述符不同,前者为...CONNECT_DATA=(SID=...)(SERVER=...)...,后者为... (SERVICENAME=...)...。

  2、Enterprise Manager Console中删除一条连接后,tnsnames.ora中的描述字符串不会自动删除;Net Configuration Assist中删除一条本地Net服务配置后,tnsnames.ora文件中对应的描述字符串会自动删除。

  3、若安装配置OWB(Oracle Warehouse Builder),则文件位置是...\client_1\NETWORK\ADMIN

posted on 2013-05-22 10:11 顺其自然EVO 阅读(376) 评论(0)  编辑  收藏 所属分类: 数据库


只有注册用户登录后才能发表评论。


网站导航:
 
<2013年5月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜