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

Oracle 密碼檔案建立、使用與維護完整指南

     編輯:Oracle 資料庫相關知識

密碼檔案角色與儲存位置

Oracle 密碼檔案儲存 INTERNAL/SYS 超級用戶密碼及具備 SYSDBA/SYSOPER 權限的用戶憑證。預設位於 $ORACLE_HOME/dbs/PWD<SID>.ora(Linux/Unix)或 %ORACLE_HOME%\database\PWD<SID>.ora(Windows)。

兩種驗證模式

  • 作業系統驗證:OS 群組(如 dba、oper)成員以 CONNECT / AS SYSDBA 登入,無需密碼
  • 密碼檔案驗證:遠端或非 OS 群組用戶憑密碼檔案驗證,支援遠端管理

密碼檔案建立:ORAPWD 工具

orapwd file=<檔案路徑> password=<SYS密碼> entries=<最大用戶數> force=y

參數說明:

  • file:密碼檔案完整路徑
  • password:SYS 使用者密碼(亦為 INTERNAL 密碼)
  • entries:允許的最大特權用戶數,建議預留充足空間(如 50-100),超過需重建
  • force=y:覆蓋既有檔案

啟用密碼檔案:REMOTE_LOGIN_PASSWORDFILE

初始化參數三種模式:

  • NONE:停用密碼檔案,僅允許 OS 驗證
  • EXCLUSIVE:專用模式,允許授予/撤銷 SYSDBA/SYSOPER,支援多用戶(預設推薦)
  • SHARED:共享模式,僅供單一資料庫使用,不允許新增特權用戶

修改後需重啟資料庫生效。

常見維護操作

新增特權用戶

GRANT SYSDBA TO new_dba;
GRANT SYSOPER TO operator_user;

查詢現有特權用戶

SELECT * FROM v$pwfile_users;

密碼檔案備份與遷移

備份 PWD<SID>.ora 檔案。RAC 環境需放置於共享儲存或各節點同步。

安全性最佳實務

  • SYS 密碼必須複雜且定期輪換
  • entries 參數預留成長空間,避免頻繁重建
  • 生產環境採用 EXCLUSIVE 模式
  • 限制密碼檔案檔案系統權限:chmod 600、擁有者 oracle:dba
  • 審計特權用戶登入:啟用 AUDIT_SYS_OPERATIONS=TRUE
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved