1、错误提示情况 sys@CNMMBO> grant sysdba to scott; grant sysdba to scott * ERROR at line 1: ORA-01994: GRANT failed: password file missing or disabled /**************************************************/ /* Author: Robinson Cheng */ /* Blog: http://blog.csdn.net/robinson_0612 */ /* MSN: robinson_0612@hotmail.com */ /* QQ: 645746311 */ /**************************************************/ sys@CNMMBO> ho oerr ora 01994 01994, 00000, "GRANT failed: password file missing or disabled" // *Cause: The operation failed either because the INIT.ORA parameter // REMOTE_LOGIN_PASSWORDFILE was set to NONE or else because the // password file was missing. // *Action: Create the password file using the orapwd tool and set the // INIT.ORA parameter REMOTE_LOGIN_PASSWORDFILE to EXCLUSIVE.2、根据提示分析解决 sys@CNMMBO> show parameter remote_login -->查看参数remote_login_passwordfile的值已经是EXCLUSIVE -->EXCLUSIVE表示登陆时要密码文件认证,且自己使用独占模式(此为默认值) NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ remote_login_passwordfile string EXCLUSIVE sys@CNMMBO> ho ls $ORACLE_HOME/dbs/orapw* -->查看密码文件,有一个秘密文件存在,但非当前数据库 /users/oracle/OraHome10g/dbs/orapwCNBO1 sys@CNMMBO> ho orapwd file=$ORACLE_HOME/dbs/orapwCNMMBO password=oracle entries=10 -->使用orapwd重建当前数据库密码文件 sys@CNMMBO> ho ls $ORACLE_HOME/dbs/orapw* /users/oracle/OraHome10g/dbs/orapwCNBO1 /users/oracle/OraHome10g/dbs/orapwCNMMBO sys@CNMMBO> grant sysdba to scott; -->重建密码文件后再次授予sysdba权限成功 Grant succeeded.
总结: 1、有关 Oracle 故障根据错误信息号来进行分析是最直接的办法 2、注意sysdba,sysoper,dba不同权限之间的差异 3、和安全相关的参数和文件 参数:remote_login_passwordfile o7_dictionary_accessibility utl_file_dir 文件:sqlnet.ora
更多参考:
原文链接: