程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle 10g用戶解鎖及執行權限受限的處理方法

Oracle 10g用戶解鎖及執行權限受限的處理方法

編輯:Oracle數據庫基礎

本文想要解決的是Oracle 10g用戶解鎖及執行權限受限的問題,希望通過本文能讓大家了解Oracle 10g用戶解鎖有所幫助。

最近發現公司有部分現場數據庫系統存在這樣的問題:

1)用戶被鎖定,但一直無法對Oracle 10g用戶解鎖

說明:在個別現場發現一個用戶經常被鎖住,剛使用[alter user <user_name> account unlock; commit;]然後仍然無法登錄,還是一直報錯:用戶被鎖定。

解決辦法:查DBA_USERS表,可以看到用戶的狀態。是否被鎖住(變成LOCKED(TIMED)狀態了說明用戶被鎖定)。

  1. select * from USER_HISTORY$ --查看用戶口令是否過期  
  2. select * from dba_profiles   --查看用戶使用的profile設置 
解決:

  1. sqlplus /nolog  
  2. conn /as sysdba  
  3. alter user <user_name> account unlock;  --解鎖  
  4. alter user <user_name> passWord expire;  --密碼過期  
  5. alter user  <user_name>  identifIEd by <passWord>; --重設密碼 

或者 alter profile default limit failed_login_Attempts unlimited;

然後登錄即可

【注】若要查看任一賬戶的口令限期,可查詢DBA_USERS數據字典視圖的Expire_Date列。若用戶自己想查看,可查詢USER_USERS數據字典視圖的Expiry_Date列(通過SQL*Plus或一個基於客戶機的查詢工具)。

2)ORA-01031: insufficIEnt privileges 問題

在用sysdba登錄時一直報ORA-01031: insufficIEnt privileges錯誤

原因:操作系統使用Oracle用戶登錄,然後使用

  1. sqlplus /nolog   
  2. conn /as sysdba 

這需要connect 之前的那個操作系統用戶是DBA組,所以要先確定Oracle用戶是否屬於DBA組,結果發現他屬於staff組

解決:修改Oracle用戶的組屬性後,問題解決

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved