1. 程式人生 > >oracle賬戶locked, login denied解決辦法

oracle賬戶locked, login denied解決辦法

出現這種情況可能是如下兩種原因

一、賬戶密碼過期了,需要更新密碼了

oracle預設的密碼使用時間是180天,超過了賬戶會被鎖住,需要手動修改密碼解鎖,可以按照如下操作修改為不限期

以下操作需要使用dba賬戶: 如 sys  登入密碼是as sysdba

 

 

1)檢視使用者的proifle是哪個,一般是default


SELECT USERNAME,PROFILE FROM DBA_USERS;

 

2)檢視對應的概要檔案(如default)的密碼有效期設定


SELECT * FROM DBA_PROFILES D

WHERE PROFILE='DEFAULT' AND RESOURCE_NAME='PASSWORD_LIFE_TIME';

 

 

3)將概要檔案(如default)的密碼有效期由預設的180天修改成“UNLIMITED(無限制)”(修改後會立即生效)


ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

 

 

4)修改過期的密碼 關鍵步驟

 

 

(1)修改密碼

<span style="color:#333333">alter user 使用者名稱 identified by <原來的密碼或新密碼> ; </span>

(2)如果賬戶仍被鎖住則需要解鎖賬戶

<span style="color:#4f4f4f">alter user 使用者名稱 account unlock</span>

(3)也可以使用一句話修改密碼並且解鎖賬戶

alter user 使用者名稱 identified by <原來的密碼或新密碼>  account unlock;lock;

 

二、密碼錯誤次數超過限制,賬戶被鎖定

一把oracle預設密碼錯誤重試次數是10次,超過賬戶即被鎖定

 

 

1.檢視使用者的proifle是哪個,一般是default


SELECT USERNAME,PROFILE FROM DBA_USERS;

2.檢視使用者的密碼錯誤重試次數

SELECT * FROM DBA_PROFILES;

可以檢視當前各種資源的配置,其中就有上一中情況用到的PASSWORD_LIFE_TIME,

不過我們需要修改的是重試次數 FAILED_LOGIN_ATTEMPTS

3.修改重試次數

alter profile default limit FAILED_LOGIN_ATTEMPTS 30;

我們也可以修改為無限制

alter profile default limit FAILED_LOGIN_ATTEMPTS unlimited;

為了安全,不建議這樣做

4.解鎖賬戶   關鍵步驟

alter user 被鎖的使用者名稱 account unlock;

如果不想更改錯誤重試次數,僅僅想解鎖賬戶,只需執行這一步