蓝色风铃

追逐梦想永不放弃!

导航

ORA-01031:

ORA-01031:
当我用sys的身份登录Oracle时出现了如下错误:
SQL> conn sys/oracle@stby as sysdba
ERROR:
ORA-01031: insufficient privileges
解决方法:

注意多个数据库实例时候,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> 

正常显示了出来
6、重新在远程以SYSDBA登录,可正常使用
[oracle@redhat2 dbs]$ sqlplus sys/oracle@stby as sysdba
 
SQL*Plus: Release 11.2.0.1.0 Production on Wed Jun 25 03:10:25 2014
 
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
 
Connected to an idle instance.
 
SQL> 

posted on 2015-01-06 21:44  蓝色风铃  阅读(411)  评论(0编辑  收藏  举报