关闭

TNS相关的问题收集

标签: 数据库数据库服务器windows服务器防火墙
1136人阅读 评论(0) 收藏 举报
分类:

ORA-12560:TNS:PROTOCOL ADAPTER ERROR

如果是你机器上没有数据库,只是Oracle Client端,然后通过Client端去连接远端的数据库,有时候会出现这个问题。当然了,在出这个问题的时候,你要先确认远端数据是正常开启的,并且监听器也是正常的。在这个情况下出现这个错误一般是网络上的问题,重启机器即可解决 ,比如像我的机器开机时间超过1天,就需要重新启动一下,否则网络上很多资源都不能使用。

如果有数据库,使用sqlplus去启动或者关闭数据库的时候出现这个问题,就要检查一下你的数据库实例有没有开启,如果是windows的话,就在服务里面可以看到,服务是开的话,那就要看看你这个用户有没有开启实例的权限,windows里面该用户必须是ora_dba组里的成员。接着使用这个用户登陆到数据库,看看db是否在open状态下,SID是否就是你需要的SID,相关的指令/SQL很简单,就省略了。

ORA-12537:TNS :连接已经关闭。

先在clinet机器用指令tnsping <tns node>看看是否正常,如果正常就说明你可以和数据库服务器建立TCP/IP连接。然后在登陆到DB服务器上,看看OS上是否有防火墙,再检查sqlnet.ora里面是否有tcp.validnode_checking=yes,如果有,看看tcp.excluded_nodes后面是否有你机器的IP,如果有增加到tcp.invited_nodes里面,当然修改tcp.validnode_checking=no,也行,但是你也有权限登陆到DB服务器上才可以。其他的检查就是察看listener.log,每一个连接都会在这个里面产生一笔纪录。当然如果用os指令netstat -a也可以看到client是否已经连接过来。有时候DB名字修改了,listener.ora里面没有同步,也会出这个问题。不过/etc/hosts里面127.0.0.1 localhost和loghost是不能少的,有些时候少了127.0.0.1也会引起TNS上的问题

TNS-01190: The user is not authorized to execute the requested listener command

win7使用dbca配置好数据库后,相关的服务是在administrator下,在普通用户下就会出现这个错误,只要把BIN\lsnrctl.exe勾上使用管理员运行就可以了。同样的执行sqlplus出错

D:\Oracle\product\10.2.0\BIN>sqlplus
SP2-1503: Unable to initialize Oracle call interface
SP2-0152: ORACLE may not be functioning properly

也是因为这个原因,可以将2个脚本写成一个bat文件,运行时使用管理员权限运行即可。

 

TNS-TNS-01190: 用户无权执行所请求的监听程序命令

将lsnrctl.exe运行时使用管理员权限运行即可

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:268901次
    • 积分:3846
    • 等级:
    • 排名:第8276名
    • 原创:113篇
    • 转载:16篇
    • 译文:0篇
    • 评论:34条
    最新评论