ora-01017 no message file for product=RDBMS

windows server 2008 R2 RAC环境,其装了oracle 11.2.0.1版本,后来升级至oracle 11.2.0.4版本,重启电脑发现数据库无法启动,分析步骤如下:
1 进入cmd:
set ORACLE_HOME=e:\app\
set ORACLE_SID=sid_name

2 用 sqlplus / as sysdba连接报错:
ora-01017 message file for product=RDBMS,facility=ORA
用oerr查看
oerr ora 01017
01017,00000,"invalid username/password; logon denied"
01017应当为用户名密码错误引起,当这里直接报message file缺失;

3 检查ORACLESERVICESIDNAME,其为正常启动,检查alert_sid.log无任何报错;
进入$ORACLE_HOME\sqlplus\mesg检mesg信息,msb文件都在,不应当是msb缺失引起的问题 ;

4检查oracle注册表位置:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1检查对应的环境变量,其皆指向原11.2.0.1版本,更改为oracle 11.2.0.4的路径;
5 重启电脑,sqlplus / as sysdba,依旧报错
6 copy 11.2.0.1的数据库密码文件到新目录下,依旧报错
7 检查注册表event log信息:
[HKEY_LOCAL_MACHINE\SYstem\ControlSet001\services\eventlog\Application\ORACLE.tcis2]
发现其指向为bin\ORAEVRUS11.DLL,ORACLE_HOME全掉了;
全部替换如下:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYstem\ControlSet001\services\eventlog\Application\ORACLE.tcis2]
"EventMessagefile"="E:\\app\\Administrator\\product\\11.2.0\\dbhome_2\\BIN\\ORAEVRUS11.DLL"

重启电脑,数据库自启动,OVER.

相关文章

Java Oracle 结果集是Java语言中处理数据库查询结果的一种方...
Java AES和Oracle AES是现代加密技术中最常使用的两种AES加密...
Java是一种广泛应用的编程语言,具备可靠性、安全性、跨平台...
随着移动互联网的发展,抽奖活动成为了营销活动中不可或缺的...
Java和Oracle都是在计算机领域应用非常广泛的技术,他们经常...
Java 是一门非常流行的编程语言,它可以运行于各种操作系统上...