Oracle 11g 報錯 ORA-28000 the account is locked

wuweilong發表於2012-05-01

Oracle 11g 報錯 ORA-28000 the account is locked

一、觸發這個錯誤的原因及相關因素

是由於oracle11g中預設在default概要檔案中設定了“PASSWORD_LIFE_TIME=180天”所導致,在Oracle 11g中是
存在密碼過期問題的。

 

二、錯誤現象:

使用者被鎖定之後會報ORA-28000的錯誤,並提示無法登入到資料庫
SQL> conn system/oracle
ERROR:
ORA-28000: the account is locked


Warning: You are no longer connected to ORACLE.
SQL>


三、解決方法:

按照如下步驟進行操作:

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

SQL> select username,profile from dba_users where username='SYSTEM';

USERNAME PROFILE
------------------------------ ------------------------------
SYSTEM DEFAULT

SQL>


2、檢視指定概要檔案(如default)的密碼有效期設定:

SQL> SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

PROFILE RESOURCE_NAME RESOURCE LIMIT
------------------------------ -------------------------------- -------- ----------------------------------------
DEFAULT PASSWORD_LIFE_TIME PASSWORD 180DAY

3、將密碼有效期由預設的180天修改成“無限制”:

SQL>ALTER PROFILE DEFAULT LIMITPASSWORD_LIFE_TIME UNLIMITED;

修改之後不需要重啟動資料庫,會立即生效。

4、修改後,還沒有被提示ORA-28002警告的帳戶不會再碰到同樣的提示;

已經被提示的帳戶只需解鎖即可。

$sqlplus / as sysdba

SQL> alter user system account unlock;

User altered.

如果還無法登入,執行再配置一次密碼就OK了。(跟原密碼一樣就好)

SQL> alter user system identified by oracle;

User altered.


oracle11g啟動引數resource_limit無論設定為false還是true,密碼有效期都是生效的,所以必須透過以上方式進行修改。以上的帳戶名請根據實際使用的帳戶名更改。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20674423/viewspace-722515/,如需轉載,請註明出處,否則將追究法律責任。

相關文章