在给用户授予sysdba权限时,收到ORA-01994错误,查看描述信息即是password file missing or disabled。也可以使用oerr ora <error_number>
来查看错误号具体的细节。从描述来看应该是密码文件丢失或REMOTE_LOGIN_PASSWORDFILE参数设置的问题。下面给出具体过程。 [sql] - 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 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 使用 Oracle Datapump API 实现数据导出MySQL无lock tables权限 报Access denied for user when using LOCK TABLES相关资讯 Oracle基础教程
- Oracle块编程返回结果集详解 (11/10/2013 10:45:58)
- Oracle基础教程之设置系统全局区 (08/22/2013 14:24:00)
- Oracle基础教程知识点总结 (06/18/2013 07:43:32)
| - Oracle基础教程之tkprof程序详解 (10/22/2013 11:49:50)
- Oracle基础教程之sqlplus汉字乱码 (07/18/2013 16:30:00)
- Oracle 管理之 Linux 网络基础 (02/16/2013 18:37:35)
|
本文评论 查看全部评论 (0)