请注意,本文编写于 614 天前,最后修改于 614 天前,其中某些信息可能已经过时。
有台Oracle服务器(Windows 2008R2+Oracle 11gR2),因为口令比较弱,所以把sys和普通用户密码都改了一下。
然后又发现应用特别慢,于是把数据库服务器重启了,结果发现应用完蛋了。
进服务器,用sqlplus连接,报ORA-12560错误,sysdba也连接不上
但是看服务都是起来了
注意Service和TNSListener都起来了。
于是我就特别困惑,找了半天,用Oracle、sys、修改密码、ORA-12560都没有结果。
然后突然想起来,这个机器之前做过DataGuard,虽然后来Data Guard挂了不使用了,但还是用密码文件去启动了,难道是密码文件问题?
到“C:\app\Administrator\product\11.2.0\dbhome_1\database”目录下,看果然有密码文件,格式是PWDorcl.ORA(orcl是SID),看日期,正好是我做Data Guard的日期。
尝试着修改密码文件,先备份老文件,在用命令修改:
orapwd file=e:\PWDorcl.ORA password=newpassword
这样,新密码就变成了newpassword,将他复制到原来的位置,重启两个服务,果然Oracle正常了。
再进业务,也快多了。
总结:
1、密码文件关系到启动,也会造成ORA-12560错误;
2、改完密码,原来还在的线程应该还是用的老密码链接,只有当你全部断开后,才会用新密码链接。