首頁 > 資料庫 > mysql教程 > ORA-01031:insufficient privileges,ORA-01925: maximum of 30 e

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

WBOY
發布: 2016-06-07 17:22:11
原創
1220 人瀏覽過

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

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板