日期:2014-05-17  浏览次数:20939 次

oracle安装后,plsql访问的时候提示‘ORA-12154:TNS:无法解析指定的连接标志符’
1.安装oracle的10201_client_win32版本,配置服务,测试通过;
2.安装plsql803版本成功;
结果:
1.通过plsql连接的时候提示‘ORA-12154:TNS:无法解析指定的连接标志符’;

请问这是啥问题了?应该咋解决啊?

------解决方案--------------------
出现这种问题只有两种可能,但是前期是你的oracle安装正确以及打好补丁。
1 网络是否通畅。
2 tns的配置是否正确。
------解决方案--------------------
1.plsql developer登陆的时候,有一个database选项,比如这个选项里填的是"mydb",记住这个字符串.

2.到%ORACLE_HOME%/network/admin/tnsnames.ora里面查看MYDB的描述,类似下面:
MYDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.191.118.67)(PORT = 1521))
)
(CONNECT_DATA =
(SID = zhzw1) (SERVER = DEDICATED)
)
)
看看ADDRESS后面的协议\端口\IP是否正确,如果这个地方确认正确了.

3.在cmd里面使用lsnrctl status
查看监听器里面监听了哪些sid和服务名.如果什么都没显示,使用alter system register强制注册到监听器.默认是注册到1521端口的监听器中的,除非你改了local_listener选项,才会有其他情况,这里不考虑这个.

4.红色的这个地方,有的配置为(SID=),有的配置为(SERVICE_NAME = ),如果是SID=,那么就与步骤3中的实例名对应,如果是SERVICE_NAME =就与3中的服务名对应.

5.如果对不上号,把3步骤中的内容改一下,改得与监听对应就可以了,再尝试登陆.

6.如果还登不上,查看sqlnet.ora文件,是不是有个参数为什么什么domain的,后面有一个类似域名一样的,比如mydb.com之类的,如果有,可以有俩种方法修改:
(1)把这个选项注释掉,注释使用#.
(2)在3步骤的mydb之前加上mydb.com,最终结果为mydb.com.mydb,然后plsql developer的
database 选项也填mydb.com.mydb.再次尝试连接或者在cmd使用tnsping mydb.com.mydb命令.

基本上按照上面方式排除就可以了.

希望能帮到你