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登錄,可正常使用。
 
(二)ORA-01925: maximum of 30 enabled roles exceeded
sysdba登陸oracle
#-------------------1.查看oracle數據庫最大角色數
SQL> show parameter role;
NAME                                 TYPE
------------------------------------ ----------------------
VALUE
------------------------------
max_enabled_roles                    integer
30
os_roles                             boolean
FALSE
remote_os_roles                      boolean
FALSE
SQL>
 
 
SQL> show parameter max_enabled_roles
NAME                                 TYPE
------------------------------------ ----------------------
VALUE
------------------------------
max_enabled_roles                    integer
30
SQL>
#-------------------2.修改最大角色數
SQL> alter system set max_enabled_roles=500 scope=spfile;
alter system set max_enabled_roles=500 scope=spfile
*
ERROR 位於第 1 行:
ORA-00068: 值 500 對參數 max_enabled_roles 無效,必須在 1 和 148 之間
SQL> alter system set max_enabled_roles=148 scope=spfile;
系統已更改。
#-------------------3.系統重啓,修改參數生效
SQL> shutdown immediate;
數據庫已經關閉。
已經卸載數據庫。
ORACLE 例程已經關閉。
SQL> startup
ORACLE 例程已經啓動。
Total System Global Area  139533192 bytes
Fixed Size                   453512 bytes
Variable Size             113246208 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
數據庫裝載完畢。
數據庫已經打開。
SQL> show parameter role
NAME                                 TYPE
------------------------------------ ----------------------
VALUE
------------------------------
max_enabled_roles                    integer
148
os_roles                             boolean
FALSE
remote_os_roles                      boolean
FALSE
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章