首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

ORA-28002:Oracle 11g 密碼即將過期完整解決方案

     編輯:Oracle 資料庫相關知識

Oracle 11g 預設啟用密碼生命週期管理,預設 PASSWORD_LIFE_TIME = 180 天。登入時出現 ORA-28002: the password will expire within 7 days 即表示密碼即將過期。

快速診斷腳本

-- 1. 查看使用者對應的 Profile
SELECT username, profile FROM dba_users WHERE username = 'WANG';

-- 2. 查看 Profile 密碼參數
SELECT * FROM dba_profiles 
WHERE profile = 'DEFAULT' AND resource_name = 'PASSWORD_LIFE_TIME';

解決方案(三選一)

方案SQL適用場景
延長至 1 年 ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME 365; 需保留過期機制但延長週期
設為無限制(推薦) ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; 生產環境避免頻繁維護
單一使用者立即修改密碼 ALTER USER wang IDENTIFIED BY newpass; 臨時處理,不影響全域策略

注意事項

  • 修改 Profile 即時生效,無需重啟。
  • 若使用非 DEFAULT Profile,請替換對應 Profile 名稱。
  • 同樣原理適用於 PASSWORD_GRACE_TIME(寬限期)等參數。

驗證

-- 再次查詢確認
SELECT * FROM dba_profiles 
WHERE profile = 'DEFAULT' AND resource_name = 'PASSWORD_LIFE_TIME';

一條 ALTER PROFILE 指令即可徹底解決 ORA-28002 困擾。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved