ORA-01994 故障一例

      在给用户授予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:    [email protected]              */                            
	/* 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 

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

你可能感兴趣的:(oracle,数据库,File,login,Dictionary,安全相关)