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

Oracle 密碼檔完整管理指南:建立、授權、維護與登入實務

     編輯:Oracle 資料庫基礎

密碼檔角色

存放 INTERNAL/SYS 及具 SYSDBA/SYSOPER 權限用戶的認證資訊,支援遠端/本地特權登入。預設位於 $ORACLE_HOME/dbs/PWDsid.ora(Unix)或 database\PWD%sid%.ora(Windows)。

建立密碼檔

orapwd file=$ORACLE_HOME/dbs/PWDsid.ora password=sys_pwd entries=30
  • entries:最大特權用戶數,預留成長空間(超額需重建)。

關鍵參數:REMOTE_LOGIN_PASSWORDFILE

值說明
NONE不使用密碼檔,採 OS 驗證(預設)
EXCLUSIVE單實例專用,可包含非 SYS 特權用戶,允許 GRANT SYSDBA
SHARED多實例共用,僅識別 SYS/INTERNAL,忽略其他用戶

生產環境建議設為 EXCLUSIVE,啟用遠端特權管理。

新增/移除特權用戶

  1. 確認 REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE。
  2. 以 SYSDBA 登入:CONNECT sys/pwd AS SYSDBA。
  3. 授權:GRANT SYSDBA TO scott;(自動寫入密碼檔)。
  4. 撤銷:REVOKE SYSDBA FROM scott;(自動移除)。

查詢成員:SELECT * FROM v$pwfile_users;

登入範例

-- 特權用戶
CONNECT scott/tiger AS SYSDBA
-- INTERNAL(舊版相容)
CONNECT INTERNAL/internal_pwd

維護操作

擴充 entries

  1. 備份 v$pwfile_users 記錄。
  2. SHUTDOWN;刪除舊密碼檔。
  3. 用 orapwd 重建更大 entries。
  4. 依備份重新 GRANT SYSDBA/SYSOPER。

變更儲存路徑

移動檔案後,更新註冊表/環境變數 ORA_SID_PWFILE 或 ORA_PWFILE 指向新路徑。

刪除密碼檔

先將所有實例 REMOTE_LOGIN_PASSWORDFILE=NONE,再刪檔。之後僅能 OS 驗證登入。

最佳實踐

  • 密碼檔權限 600,僅 owner 可讀寫。
  • 定期審計 v$pwfile_users,撤銷離職/異動人員特權。
  • Data Guard 環境主備密碼檔須同步(EXCLUSIVE 模式下)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved