共計 1729 個字符,預計需要花費 5 分鐘才能閱讀完成。
這篇文章給大家分享的是有關 oracle 中出現 ORA-28000 錯誤怎么辦的內容。丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,一起跟隨丸趣 TV 小編過來看看吧。
這個毛病特別稀奇,用戶好端端的就登陸不上!根據提示 The account is locked 這賬戶被鎖定,啥情況,我們登陸 sysdba 看一看
格式:
select account_status,lock_date,profile from dba_users where username= USERNAME
解析:
這句話查詢字段 account_status(賬戶狀態),lock_date(鎖數據),profile 配置文件字段,然后 dba_users 查看所有用戶狀態的視圖表,指定 username 你的賬戶名就可以看狀態
查看這個狀態的時候發現是 LOCKED(TIMED), 鎖(時間)以前沒見過這種狀態,我就百度了一下,系統默認配置密碼登錄(錯誤登錄)登錄 10 次,所以就給個時間鎖,知道了這些就好辦了,我感覺輸入 10 次才給鎖太不安全了!
我想把他改成 3 次,我們首先要知道怎么查看這個系統默認設置,如下
格式:
select resource_name,resource_type,limit from dba_profiles where profile= DEFAULT
解釋:
查詢資源名字,類型,限制源表是 dba_profiles 視圖(dba 配置文件),指定 default,這樣就出來了!
格式:
alter profile default limit FAILED_LOGIN_ATTEMPTS unlimit(無限次);– 本人為了安全設置了 3 次(非生產環境下)
解釋:
翻譯英語 改變配置文件默認的限制 登錄失敗嘗試 為 3 次!很好理解無難度
這時候我們就可以給用戶解鎖了
格式:
alter user scott account unlock;– 改變用戶 scott 賬戶解鎖
這時候我們在 dba_users 視圖查看發現已經解鎖,登錄成功,我還特意嘗試了 3 次失敗登錄,報錯 ORA-28000 看來還是很有效果!這時候問題解決希望對對大家有一些幫助
補錄:
因為我其實查看了 show parameter resource,這時候我驚奇發現沒有開啟 resource limit,values — false, 這里資源顯示沒有開啟,卻 10 次生效,為什么??
查閱一些資料和了解,FAILED_LOGIN_ATTEMPTS 不為受 resource limit 的約束,修改用 alter profile 是用戶口令管理,變量是資源管理,口令并不受 RESOURCE LIMIT 的限制,一些教材中把 profile 分為管理密碼與資源兩大類我也查實了。
引用網友的帖子感覺特別好 http://www.php.cn/mysql-tutorials-135104.html 比我講解詳細 思路明確 特別引用請大家參考 本人看了也有很大知識面提升
最后想查看 Oracle 中用戶已經登錄失敗幾次了?
格式:
select lcount from user$ where name= USERNAME – 就可以看到統計信息
格式:
SQL audit session whenever not successful;
審計已成功。
SQL set linesize 1000;
SQL col userhost for a20;
SQL col COMMENT$TEXT for a30;
SQL col SPARE1 for a20;
SQL col NTIMESTAMP# for a35
SQL select sessionid,userid,userhost,comment$text,spare1,to_char(ntimestamp#+1/3, yyyy-mm-dd hh34:mi:ss) from aud$ where returncode=1017 order by ntimestamp# desc;
user$ 與 aud$ 的信息非常有用!!
感謝各位的閱讀!關于“oracle 中出現 ORA-28000 錯誤怎么辦”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!