Oracle數據庫用戶鎖定緣由以及處理方式(ORA-28000)

現場在實施過程當中,基於安全考慮(用戶名和密碼以前暴露給其餘公司了),須要對用戶密碼進行修改。數據庫

修改過程很簡單(alter user [username] identified by [password];),可是在修改以後出現該用戶被鎖定的問題。安全

緣由:數據庫參數文件中設置了輸錯密碼的次數,登陸時當輸錯密碼的次數超過所設置的次數時,則鎖住該用戶。默認通常爲10次。輸錯密碼鎖住用戶的設計緣由:防止惡意的密碼攻擊。ide

一開始覺得是內部人員不知道密碼修改了,屢次嘗試登錄由於密碼錯誤致使帳戶鎖定。對帳號進行了手動解鎖(alter user [username] account unlock;),可是後續又出現屢次鎖定的狀況。spa

後來發現咱們在基於此用戶作過一些ETL以及創建DBLINK等,對這些內容進行同步的密碼更新解決用戶鎖定的問題。設計

下面是過程當中問題排查方式:日誌

一、查詢出當前帳號的鎖定時間blog

select username,lock_date from dba_users where username=[username];get

二、根據鎖定時間查看日誌文件同步

日誌存放路徑能夠經過命令查看it

image

能夠經過日誌文件定位訪問的IP地址等信息(或者trace文件夾下的listener.log文件)。

image

在使用過程當中,咱們也能夠修改容許的最大密碼輸入錯誤次數,具體修改方法以下:

一、查看當前設置值

select * from dba_profiles where RESOURCE_NAME='FAILED_LOGIN_ATTEMPTS';

二、修改成30次

alter profile default limit FAILED_LOGIN_ATTEMPTS 30;

三、修改成無限次(爲安全起見,不建議使用)

alter profile default limit FAILED_LOGIN_ATTEMPTS unlimited;

相關文章
相關標籤/搜索