1、错误提示情况 sys@CNMMBO> grant sysdba to scott;
grant sysdba to scott
*
ERROR at line 1:
ORA-01994: GRANT failed: password file missing or disabled
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 setto NONE orelse because the
// password file was missing.
// *Action: Create the password file using the orapwd tool andset the
// INIT.ORA parameter REMOTE_LOGIN_PASSWORDFILE to EXCLUSIVE.
2、根据提示分析解决
sys@CNMMBO> show parameter remote_login
-->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