在客户现场这边,因客户网络调整,修改域名,重启了开发所使用的数据库服务器。重启完成后,Oracle数据库服务不能启动,手动启动时提示错误1053。
尝试改动了sqlnet.ora,将SQLNET.AUTHENTICATION_SERVICES= (NTS)改成了SQLNET.AUTHENTICATION_SERVICES= (NONE)。这个改动造成了“sqlplus / as sysdba”时提示权限不足。
这个改动没有起作用,手动启动时还是提示错误1053。
于是一顿GOOGLE,尝试通过重建WINDOWS的Oracle服务能否解决问题:
先通过oradim删除服务:
oradim -delete -sid ORCL
再通过oradim建立:
oradim -NEW -SID ORCL -STARTMODE manual -SPFILE
使用-SPFILE参数时与PFILE不同,不需要指定SPFILE的的路径,猜想Oracle会到SPFILE的默认目录里找到对应的SPFILEORCL.ora。
接着:
sqlplus / as sysdba
startup
数据库正常启动。
能如此的一个重要原因是:数据库的SPFILE,控制文件,数据文件等都没有损坏,只需要重建Oracle服务即可。
参考了: