首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 密碼檔管理完整指南:建立、參數配置、特權用戶授權與維運

     編輯:Oracle 資料庫基礎

掌控 SYSDBA/SYSOPER 遠端登入權限的核心機制

密碼檔是 Oracle 遠端特權連線 (SYSDBA/SYSOPER) 的身分驗證基石。本文系統說明密碼檔建立工具 ORAPWD、關鍵參數 REMOTE_LOGIN_PASSWORDFILE 三種模式、特權用戶授權機制 (GRANT/REVOKE 自動同步密碼檔)、跨實例共享與安全最佳實務。

密碼檔建立工具 ORAPWD

orapwd FILE=filename PASSWORD=sys_password ENTRIES=max_users [FORCE=Y] [IGNORECASE=Y] [FORMAT=12.2]
參數說明建議值
FILE密碼檔完整路徑$ORACLE_HOME/dbs/orapw (Linux) / $ORACLE_HOME/database/PWD.ora (Windows)
PASSWORDSYS 使用者密碼強複雜度密碼,定期輪換
ENTRIES最大特權用戶數 (含 SYS)預估 DBA/運維人數 * 2,預留擴充空間
FORCE=Y覆蓋既有檔案重建時使用
IGNORECASE=Y密碼大小寫不敏感 (12c+ 預設區分大小寫)相容舊應用時啟用
FORMAT=12.212.2 版格式支援更長密碼、SHA-2新建環境建議指定

關鍵參數:REMOTE_LOGIN_PASSWORDFILE

模式值特性適用場景
無密碼檔NONE僅 OS 驗證,無遠端特權登入高安全需求、本地管理環境
獨佔模式EXCLUSIVE單一實例專用;支援非 SYS 特權用戶;GRANT SYSDBA 自動寫入密碼檔標準生產環境 推薦
共享模式SHARED (預設)多實例共用;僅識別 SYS;即使檔中有其他用戶也無法以 SYSDBA 登入RAC / 多實例共用管理帳號

搜尋順序:Registry ORA_SID_PWFILE → Registry ORA_PWFILE → 預設路徑 $ORACLE_HOME/dbs/orapw

特權用戶授權機制 (僅 EXCLUSIVE 模式生效)

-- 1. 確認參數
SHOW PARAMETER remote_login_passwordfile;  -- 必須為 EXCLUSIVE

-- 2. 以 SYSDBA 登入
CONNECT sys/password AS SYSDBA;

-- 3. 建立一般用戶 (若不存在)
CREATE USER dba_user IDENTIFIED BY strong_pass;

-- 4. 授予特權 (自動寫入密碼檔)
GRANT SYSDBA TO dba_user;   -- 完整管理權限
GRANT SYSOPER TO dba_user;  -- 僅啟動/關閉/備份/復原

-- 5. 回收特權 (自動從密碼檔移除)
REVOKE SYSDBA FROM dba_user;
REVOKE SYSOPER FROM dba_user;

查詢密碼檔現有特權用戶

SELECT * FROM v$pwfile_users;
-- USERNAME | SYSDBA | SYSOPER | SYSASM | SYSBACKUP | SYSDG | SYSKM | CON_ID

RAC 環境密碼檔管理

  • 共享模式:所有節點掛載共享儲存上的同一密碼檔,或使用 ASM 儲存密碼檔 (orapwd ... FORMAT=12.2 自動存 ASM)
  • 獨佔模式:每節點維護獨立密碼檔,授權操作需在各節點執行或用 srvctl modify database -pwfile 統一管理
  • 12c+ SYSBACKUP、SYSDG、SYSKM 新特權角色分離備份、Data Guard、金鑰管理職責

安全最佳實務

  1. 強制 EXCLUSIVE 模式:確保特權授權可控、可審計
  2. 密碼複雜度與輪換:Profile 限制 SYS 密碼複雜度,每 90 天輪換並同步更新密碼檔
  3. 最小特權原則:運維人員授予 SYSOPER 而非 SYSDBA;備份專員授 SYSBACKUP
  4. 密碼檔備份與加密:納入備份策略,儲存加密,嚴格存取控制
  5. 稽核特權登入:AUDIT SYS_OPERATIONS + AUDIT SESSION BY ACCESS 捕捉所有 SYSDBA 連線
  6. 禁用預設密碼:安裝後立即修改 SYS/SYSTEM 密碼並重建密碼檔

常見問題排查

密碼檔是特權存取的「鑰匙櫃」,規範化管理是防止特權濫用、滿足合規審計的核心環節。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
現象原因解決
ORA-01017: invalid username/password密碼檔與 SPFILE 中 SYS 密碼不一致重建密碼檔指定正確 PASSWORD,或修改 SPFILE 後重啟
GRANT SYSDBA 失敗REMOTE_LOGIN_PASSWORDFILE != EXCLUSIVE修改參數為 EXCLUSIVE 並重啟實例
遠端 SYSDBA 連線被拒密碼檔路徑錯誤 / 權限不足 / 大小寫不符檢查檔案存在性、OS 權限、IGNORECASE 設定
RAC 節點特權不同步獨佔模式未同步密碼檔改用共享模式或 ASM 密碼檔,或手動同步各節點