您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關oracle中出現ORA-28000錯誤怎么辦的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
這個毛病特別稀奇,用戶好端端的就登陸不上!根據提示 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錯誤怎么辦”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。