ORA-28002 Oracle口令過期
由於oracle11g中預設在default概要檔案中設定了“PASSWORD_LIFE_TIME=180天”,導致密碼過期,程式無法使用,業務程序會提示無法連線資料庫等字樣。下面我給大家詳細介紹一下,如何解決Oracle 11g 密碼過期的問題。
工具/原料
-
電腦、Oracle11g
方法/步驟
-
首先Win鍵+R鍵,開啟執行視窗,輸入cmd 回車,
-
開啟管理員視窗,如下圖所示:
-
用資料庫system賬號登入:
C:\Users\Administrator>sqlplus
SQL*Plus: Release 11.1.0.7.0 - Production on 星期二 4月 23 11:57:57 2013
Copyright (c) 1982, 2008, Oracle. All rights reserved.
請輸入使用者名稱: system
輸入口令:
ERROR:
ORA-28002: the password will expire within 7 days
-
連線到:
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
◆檢視使用者的proifle是哪個,一般是default(這個步驟僅用於檢查,可以不要):
SQL> SELECT username,PROFILE FROM dba_users;
-
◆檢查密碼的有效期是否為預設的180天(這個步驟僅用於檢查,可以不要):
SQL> SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
PROFILE RESOURCE_NAME RESOURCE LIMIT
------------------------------ -------------------------------- -------- ----------------------------------------
DEFAULT PASSWORD_LIFE_TIME PASSWORD 180
-
將密碼有效期由預設的180天修改成“無限制”:
SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
-
檢查密碼的有效期是否為預設的180天:
SQL> SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
完成修改
1: 已經被提示的“口令過期”的帳戶必須再改一次密碼,舉例如下:
$sqlplus / as sysdba
sql> alter user 使用者名稱 identified by 密碼 <原來的密碼> ----不用換新密碼
以上的帳戶名請根據實際使用的帳戶名更改。
問題2:oracle資料庫使用者被鎖定的處理:
使用oracle使用者登入系統,執行如下步驟:
1:$ sqlplus /nolog
2:SQL> connect /as sysdba 如果此句不行,則使用 connect system/密碼;(此句根據具體情況使用使用者名稱、密碼和資料庫名稱<sid名稱>)
Connected.
3:SQL> alter user system(使用者名稱) account unlock;