Oracle 10g用戶(hù)解鎖及執(zhí)行權(quán)限受限的處理方法
本文想要解決的是Oracle 10g用戶(hù)解鎖及執(zhí)行權(quán)限受限的問(wèn)題,希望通過(guò)本文能讓大家了解Oracle 10g用戶(hù)解鎖有所幫助。
最近發(fā)現(xiàn)公司有部分現(xiàn)場(chǎng)數(shù)據(jù)庫(kù)系統(tǒng)存在這樣的問(wèn)題:
1)用戶(hù)被鎖定,但一直無(wú)法對(duì)Oracle 10g用戶(hù)解鎖
說(shuō)明:在個(gè)別現(xiàn)場(chǎng)發(fā)現(xiàn)一個(gè)用戶(hù)經(jīng)常被鎖住,剛使用[alter user <user_name> account unlock; commit;]然后仍然無(wú)法登錄,還是一直報(bào)錯(cuò):用戶(hù)被鎖定。
解決辦法:查DBA_USERS表,可以看到用戶(hù)的狀態(tài)。是否被鎖?。ㄗ兂蒐OCKED(TIMED)狀態(tài)了說(shuō)明用戶(hù)被鎖定)。
解決:
- select * from USER_HISTORY$ --查看用戶(hù)口令是否過(guò)期
- select * from dba_profiles --查看用戶(hù)使用的profile設(shè)置
- sqlplus /nolog
- conn /as sysdba
- alter user <user_name> account unlock; --解鎖
- alter user <user_name> password expire; --密碼過(guò)期
- alter user <user_name> identified by <password>; --重設(shè)密碼
或者 alter profile default limit failed_login_Attempts unlimited;
然后登錄即可
【注】若要查看任一賬戶(hù)的口令限期,可查詢(xún)DBA_USERS數(shù)據(jù)字典視圖的Expire_Date列。若用戶(hù)自己想查看,可查詢(xún)USER_USERS數(shù)據(jù)字典視圖的Expiry_Date列(通過(guò)SQL*Plus或一個(gè)基于客戶(hù)機(jī)的查詢(xún)工具)。
2)ORA-01031: insufficient privileges 問(wèn)題
在用sysdba登錄時(shí)一直報(bào)ORA-01031: insufficient privileges錯(cuò)誤
原因:操作系統(tǒng)使用Oracle用戶(hù)登錄,然后使用
- sqlplus /nolog
- conn /as sysdba
這需要connect 之前的那個(gè)操作系統(tǒng)用戶(hù)是DBA組,所以要先確定Oracle用戶(hù)是否屬于DBA組,結(jié)果發(fā)現(xiàn)他屬于staff組
解決:修改Oracle用戶(hù)的組屬性后,問(wèn)題解決
【編輯推薦】