ORA-01994 故障一例

来源:互联网 发布:嵌入式软件架构设计 编辑:程序博客网 时间:2024/05/17 03:46
     在给用户授予sysdba权限时,收到ORA-01994错误,查看描述信息即是password file missing or disabled。也可以使用oerr ora <error_number>
来查看错误号具体的细节。从描述来看应该是密码文件丢失或REMOTE_LOGIN_PASSWORDFILE参数设置的问题。下面给出具体过程。
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 0199401994, 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      EXCLUSIVEsys@CNMMBO> ho ls $ORACLE_HOME/dbs/orapw*    -->查看密码文件,有一个秘密文件存在,但非当前数据库/users/oracle/OraHome10g/dbs/orapwCNBO1sys@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/orapwCNMMBOsys@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 

更多参考:
    Oracle 密码文件
    Oracle 用户、对象权限、系统权限 
    Oracle 角色、配置文件
    system sys,sysoper sysdba 的区别