ORA-12154 和 TNS-03505 监听错误的解决方法

来源:互联网 发布:金杜律师事务所 知乎 编辑:程序博客网 时间:2024/06/16 18:04

之前在一台测试机上装了Grid Control,今天在这台机器上添加了一个监听, 用net manager 配置的,这也是推荐的配置方法,因为手工修改tnsnames.ora 文件容易出现问题。 这个文件比较敏感,多一个空格就会报错。 配置完后,测试成功,但sqlplus 里连的时候,不识别这个实例。报ORA-12154 错误:

ORA-12154: TNS: 无法解析指定的连接标识符


tnsping 一下:
C:/Documents and Settings/user.HQ-TEXT>tnsping orcl_80

TNS Ping Utility for 32-bit Windows: Version 10.2.0.2.0 - Production on 06-7月 -2010 13:53:43

Copyright (c) 1997, 2005, Oracle.  All rights reserved.

已使用的参数文件:

TNS-03505: 无法解析名称

 

上网google了一下,说是环境变量有问题。 看了一下,环境变量确实有点问题。 Oraclepath 是放在path最后的,网上的说法是将Oraclepath放到最前面。 就解决了。 这里要注意的地方,如果在界面上来修改环境变量,是需要重启电脑的。 这样太麻烦了。 直接在dos里修改,就不用重启了,这样也方便很多。 

1. 在界面修改

我的电脑->属性->高级->环境变量,找到PATH,把里面的顺序改一下,顺便看一下ORACLE_HOME 这个变量,如果没有,就加上去。

这种修改方法需要重新启动电脑。

2. DOS下修改

C:/Documents and Settings/user.HQ-TEXT>echo %path%

C:/OracleHomes/agent10g/jlib;C:/OracleHomes/agent10g/bin;C:/OracleHomes/oms10g/b

in;C:/OracleHomes/oms10g/jlib;D:/oracle/product/10.2.0/db_1/bin;D:/oracle/ora92/

bin;C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;C:/Program Files/Ope

nVPN/bin

C:/Documents and Settings/user.HQ-TEXT>set PATH=D:/oracle/product/10.2.0/db_1/bi

n;D:/oracle/ora92/bin;%SystemRoot%/system32;%SystemRoot%;%SystemRoot%/System32/W

bem;C:/OracleHomes/agent10g/jlib;C:/OracleHomes/agent10g/bin;C:/OracleHomes/oms1

0g/bin;C:/OracleHomes/oms10g/jlib;

C:/Documents and Settings/user.HQ-TEXT>echo %PATH%

D:/oracle/product/10.2.0/db_1/bin;D:/oracle/ora92/bin;C:/WINDOWS/system32;C:/WIN

DOWS;C:/WINDOWS/System32/Wbem;C:/OracleHomes/agent10g/jlib;C:/OracleHomes/agent1

0g/bin;C:/OracleHomes/oms10g/bin;C:/OracleHomes/oms10g/jlib;

C:/Documents and Settings/user.HQ-TEXT>tnsping orcl_80

TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 06-7月 -

2010 14:00:07

Copyright (c) 1997, 2005, Oracle.  All rights reserved.

已使用的参数文件:

已使用 TNSNAMES 适配器来解析别名

Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)

(HOST = 10.85.10.80)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))

OK (0 毫秒)

DOS窗口修改后,我们可以检查我的电脑”->“属性”->“高级”->“环境变量中设置的 PATH 值,它也自动修改了。不用担心DOS窗口中的修改会影响环境变量的值,DOS窗口中的环境变量只是Windows环境变量的一个副本而已。但是对副本的修改却会引发Windows环境变量的刷新,这就达到了我们不用重启电脑的目的。

 

在此说明一下,首先要确认监听配置没有问题,如果说监听配置都有问题,在怎么修改变量也是不管用的。 关于监听的配置参考我的blog

Oracle 数据库监听配置

http://blog.csdn.net/tianlesoftware/archive/2009/11/25/4861572.aspx

 

 

 

------------------------------------------------------------------------------ 

Blog: http://blog.csdn.net/tianlesoftware 

网上资源: http://tianlesoftware.download.csdn.net 

相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx 

DBA1 群:62697716(); DBA2 群:62697977

DBA3 群:63306533;     聊天 群:40132017

原创粉丝点击