Home >Database >Mysql Tutorial >ORA-01031:insufficient privileges,ORA-01925: maximum of 30 e

ORA-01031:insufficient privileges,ORA-01925: maximum of 30 e

WBOY
WBOYOriginal
2016-06-07 17:22:111217browse

ORA-01031:insufficient privileges,ORA-01925: maximum of 30 enabled roles exce

(一)ora-01031:insufficient privileges
 
1.sqlplus "/ as sysdba" 连不上,,报ora-01031:insufficient privileges解决方法
 
select instance_name from v$instance;#查看Oracle实例名
 
 
SQL> select instance_name from v$instance;

INSTANCE_NAME
--------------------------------
orcl
 
 
(1)检查sqlnet.ora(WINDOWS下位于%ORACLE_HOME%NETWORKADMIN目录)是否包含这句:SQLNET.AUTHENTICATION_SERVICES=(NTS),没有的话加上
 
(2)检查登陆的用户是不是在包含在ORA_DBA组中,
 

windows上是(administrator或安装oracle时候使用的用户),域用户没有连上域服务器时就可能出现这种现象;

linux、unix上root或安装oracle的授权账户
 

SQL> select * from v$pwfile_users;

USERNAME                                                    SYSDBA        SYSOPER

 

------------------------------------------------------------ ----------  ---------
SYS                                                                TRUE            TRUE
 
 
 
如果返回空,则SYS无dba权限
 
SQL> grant sysdba to sys;
grant sysdba to sys
*
ERROR at line 1:
ORA-01994: GRANT failed: password file missing or disabled
 
此次应重建或修改密码文件,详见第(4)步
 
 
 
V$PWFILE_USERS
 
这个视图列出从口令文件中导出的授予SYSDBA和SYSOPER权限的用户。
 
列 数据类型 说明
 
USERNAME
 
VARCHAR2(30)
 
包含在口令文件中的用户名
 
SYSDBA
 
VARCHAR2(5)
 
如果此列的值为TURE,则该用户可利用SYSDBA权限进行连接
 
SYSOPER
 
VARCHAR2(5)
 
如果此列的值为TURE,则该用户可利用SYSOPER权限进行连接


(3)要保证 remote_login_passwordfile 参数 = EXCLUSIVE
 

 

SQL> show parameter password

NAME                                TYPE
------------------------------------ ----------------------
VALUE
------------------------------
remote_login_passwordfile            string
EXCLUSIVE


#---------如果不是运行

SQL>alter system set remote_login_passwordfile=EXCLUSIVE scope=spfile;

#/*-------------------------

REMOTE_LOGIN_PASSWORDFILE=

{NONE | SHARED}

REMOTE_LOGIN_PASSWORDFILE specifies whether Oracle checks for a password file.

 
 
Values:

NONE

Oracle ignores any password file. Therefore, privileged users must be authenticated by the operating system.
 

SHARED

One or more databases can use the password file. The password file can contain SYS as well as non-SYS users.

 
Note:

The value EXCLUSIVE is supported for backward compatibility. It now has the same behavior as the value SHARED.

#-----------------------*/


(4)看看是否需要使用orapassw生成口令文件

比如机器是windows系统:
 
orapwd file="D:/oracle/product/10g/db_1/database/PWDoratest.ora" password=gp
oswong entries=10
 
 
 
SQL> select * from v$pwfile_users;
 
USERNAME                      SYSDB SYSOP
------------------------------ ----- -----
SYS                            TRUE  TRUE
 
SYS正常显示出来,重新在远程以SYSDBA登录,可正常使用。

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn