程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> Oracle11g密碼過期被鎖報ORA-28000theaccountislocked

Oracle11g密碼過期被鎖報ORA-28000theaccountislocked

編輯:Oracle教程

Oracle11g密碼過期被鎖報ORA-28000theaccountislocked


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

是由於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_TIMEUNLIMITED;
修改之後不需要重啟動數據庫,會立即生效。

4、修改後,還沒有被提示ORA-28002警告的帳戶不會再碰到同樣的提示;
已經被提示的帳戶只需解鎖即可。
$sqlplus / as sysdba
SQL> alter user system account unlock;
User altered.
5、如果還無法登錄,執行再配置一次密碼就OK了。(跟原密碼一樣就好)
SQL> alter user system identified by oracle;
User altered.
oracle11g啟動參數resource_limit無論設置為false還是true,密碼有效期都是生效的,所以必須通過以上方式進行修改。以上的帳戶名請根據實際使用的帳戶名更改。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved