ORA-01031:
注意多个数据库实例时候,set ORACLE_SID='',
1、检查sqlnet.ora(WINDOWS下位于%ORACLE_HOME%NETWORKADMIN目录)是否包含这句:SQLNET.AUTHENTICATION_SERVICES=(NTS),没有的话加上
2、检查登陆windows的用户(administrator或安装oracle时候使用的用户)是不是在包含在ORA_DBA组中,域用户没有连上域服务器时就可能出现这种现象。
3. 要保证 remote_login_passwordfile 参数 = EXCLUSIVE .
一种解决方法案例:
1、检查系统参数:
SQL> show parameter password
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
remote_login_passwordfile string EXCLUSIVE
2、
select * from v$pwfile_users;
SQL>
为空
3、
SQL> grant sysdba to sys;
grant sysdba to sys
*
ERROR at line 1:
ORA-01994: GRANT failed: password file missing or disabled
4、建立password文件 .
如下为口令文件创建:
[oracle@redhat dbs]$ orapwd file=orapwprim password=oracle entries=30
说明:file=orapw<oracle_sid>
注意:文件后面没有.ora后缀,文件路径在Linux下为$ORACLE_HOME/dbs
5.
SQL> select * from v$pwfile_users;
USERNAME SYSDB SYSOP SYSAS
------------------------------ ----- ----- -----
SYS TRUE TRUE FALSE
SQL>