/*查看用户配置文件*/
SELECT username, profile
FROM dba_users
WHERE username = 'APPS';
假設查詢到apps用户關聯的配置文件是DEFAULT,接下來查看該配置文件中關於密碼相關的設置,例如密碼有效期、密碼複用限制等;
/*查看密碼安全策略*/
SELECT resource_name, limit
FROM dba_profiles
WHERE profile = 'DEFAULT' AND resource_name LIKE '%PASSWORD%';
RESOURCE_NAME:密碼相關資源名稱,代表不同密碼策略控制項,比如:
PASSWORD_LIFE_TIME:密碼有效期,UNLIMITED 表示無期限,密碼不會因時間到期強制修改。
PASSWORD_REUSE_TIME:密碼可複用時間間隔,UNLIMITED 即無限制,不限制密碼複用的時間週期。
PASSWORD_REUSE_MAX:密碼複用次數限制,UNLIMITED 指不限制基於歷史次數的密碼複用。
PASSWORD_VERIFY_FUNCTION:密碼驗證函數,NULL 表示未啓用自定義密碼複雜度校驗邏輯,僅用數據庫默認簡單規則(若有)。
PASSWORD_LOCK_TIME:密碼鎖定時長,UNLIMITED 意味着密碼因嘗試失敗鎖定後,需管理員解鎖,不會自動解鎖。
PASSWORD_GRACE_TIME:密碼寬限期,UNLIMITED 表示密碼過期後,無強制修改的 grace 期限(或理解為不啓用寬限期邏輯 )。
PASSWORD_ROLLOVER_TIME:密碼滾動時間,-1 通常是特殊值,可能表示相關功能未啓用或採用默認行為(不同 Oracle 版本解釋有差異,需結合版本文檔確認 )。
LIMIT:對應資源的限制值,UNLIMITED 代表無限制,NULL 是未設置特定校驗函數,-1 為特殊配置值 。
這些配置決定了數據庫用户(關聯 DEFAULT 概要文件時)的密碼策略,比如密碼能用多久、能否複用、鎖定後多久解鎖等規則 。若要調整密碼策略,可通過 ALTER PROFILE 語句修改這些資源的 LIMIT 值
/*更改密碼*/
ALTER USER apps IDENTIFIED BY "新密碼"; --如果要修改的密碼是有&符,Oracle會認為這是一個變量,需要我們關閉變量替換
/*關閉變量替換*/
SET DEFINE OFF;
/*解鎖*/
ALTER USER apps ACCOUNT UNLOCK; --修改密碼後,用户賬號會被鎖定,需要解鎖