有台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、改完密码,原来还在的线程应该还是用的老密码链接,只有当你全部断开后,才会用新密码链接。

最后修改:2021 年 10 月 02 日
如果觉得我的文章对你有用,请随意赞赏