11g 預設啟用密碼大小寫敏感,增強認證安全性。DBCA 建庫時可選擇關閉以兼容舊應用。
SEC_CASE_SENSITIVE_LOGON -- 布爾類型,TRUE=敏感,FALSE=不敏感
動態修改:
ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE SCOPE=BOTH;
-- 啟用敏感
ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = TRUE;
CREATE USER test2 IDENTIFIED BY Test2;
GRANT CONNECT TO test2;
-- 正確大小寫連接成功
CONN test2/Test2 -- Connected.
-- 大小寫錯誤失敗
CONN test2/test2 -- ORA-01017: invalid username/password
-- 關閉敏感後不再區分
ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE;
CONN test2/test2 -- Connected.
| 風險場景 | 影響 | 應對策略 |
|---|---|---|
| 舊應用硬編碼密碼大小寫不一致 | 登錄失敗 | 臨時關閉參數 → 修正應用 → 重新啟用 |
| 異構遷移(非 Oracle 客戶端) | 驗證協議不匹配 | 確認客戶端驅動支援 11g 認證(JDBC 11.2+/ODP.NET 11.2+) |
| Data Guard/GoldenGate 同步 | 密碼文件不一致 | 同步 orapwd 文件,確保主備參數一致 |
PASSWORD_VERIFY_FUNCTION)強制複雜度,配合大小寫敏感雙重防護;DBA_USERS.PASSWORD_VERSIONS 確認 11G 版本密碼佔比。