关于ORA-12560: TNS:protocol adapter error得以解决

查了点资料,看了http://www.itpub.net/223688.html的文章,终于解决了。

环境:两台Windows 2003 Svr Ent En sp1服务器,装都都是Oracle 9.2.0.7.0,两个服务器之间做了Cluster,当然,这个不是我做的,还不会。

在Clu1上,用>conn sys/*** as sysdba登陆正常,但是在Clu2上用此命令登陆时提示“ORA-12560: TNS:protocol adapter error”,所以在古训的教导下,我尝试了,起先是在系统环境变量中增加ORACLE_SID=..,但是没有成功,之后在注册表中HKLMSOFTWAREORACLEHOME0下增加了了一个REG_SZ为:ORACLE_SID = ,之后遇到的问题是“ORA-01017 invalid username/password; logon denied”,让我很是有点郁闷,但想想,既然能得到这个提示,至少环境是对了,就是用户的问题了。查了点资料,密码文件的问题,想到Clu1能正常登陆,想到到Clu1的%ORA_HOME%database下拷贝了PWD.ora的文件到Clu2同目录下覆盖原文件(当然可以重命名),再次登陆,爽,成功了。

总结:1.Oracle-12560错误,如果在连接(防火墙)正常的情况下,就是sid的事了,在注册表HOME0中增加ORACLE_SID标记,立即生效,如果是在系统的环境变量中增加,需要注销机器(此时ORACLE还是正常运行的,注销的是用户),或者重新启动,重新登陆之后也能解决问题。

2.当前系统下:>conn / as sysdba; (才知道,/ as之间必须留空格,忘了哪个错误了,log没了------晕,测试了一个Oracle 9.2.0.1.0下的,不留空格也能登陆~!)不能登陆是因为:sqlnet.ora中
SQLNET.AUTHENTICATION_SERVICES= (NTS) 被修改为
SQLNET.AUTHENTICATION_SERVICES= (NONE) ,强制了SYS用户的身份验证,测试改为“SQLNET.AUTHENTICATION_SERVICES= (NTS) 时>conn / as sysdba; 登陆成功。

如果说是sys的密码忘了,那就是另一回事了,涉及到sys用户密码修改问题,俺还等查资料测试。

总之,遇到问题别慌,虽然我也是个菜鸟,除了这会,平时Oracle是不能出一点问题的,所以我们要冷静下来,别辜负baidu&Google,困难总是会迎韧而解的。

Good luck to everyone!

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/367462/viewspace-861240/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/367462/viewspace-861240/

你可能感兴趣的:(关于ORA-12560: TNS:protocol adapter error得以解决)