Oracle 密碼檔是特權使用者(SYS、SYSDBA、SYSOPER)進行遠端或本地身分驗證的關鍵機制。妥善管理密碼檔,能有效控管資料庫管理權限,確保系統安全。本文詳細說明密碼檔的建立、參數設定、使用者增刪、登入方式與維護操作。
$ORACLE_HOME/dbs 自動產生 orapw<SID>orapwd 工具
orapwd file=orapwORCL password=sys_password entries=10
file:密碼檔完整路徑password:SYS/INTERNAL 密碼entries:最大特權使用者數(含 SYS),建議預留空間避免重建| 值 | 說明 |
|---|---|
NONE | 不使用密碼檔,改用作業系統驗證 |
EXCLUSIVE | 單一實例專用,可包含非 SYS 使用者,允許授予 SYSDBA/SYSOPER |
SHARED | 多實例共用,僅識別 SYS/INTERNAL,預設值 |
搜尋順序:註冊表 ORA_SID_PWFILE → ORA_PWFILE → 預設 $ORACLE_HOME/dbs/orapw<SID>
前提:REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE 且以 SYSDBA 登入
-- 授予 SYSDBA
GRANT SYSDBA TO scott;
-- 回收 SYSDBA
REVOKE SYSDBA FROM scott;
授權即寫入密碼檔,回收即移除。
-- 以特定使用者身分登入
CONNECT scott/tiger AS SYSDBA
-- 以 INTERNAL 登入(舊版相容)
CONNECT INTERNAL/internal_password
SELECT * FROM V$PWFILE_USERS;
V$PWFILE_USERS 資料orapwd 重建並指定較大 entries修改 REMOTE_LOGIN_PASSWORDFILE 參數,啟動實例時 Oracle 會自動同步檔案狀態。叢集環境需確保所有節點參數一致。
移動檔案後,更新註冊表 ORA_SID_PWFILE 或環境變數 ORA_PWFILE。
先將所有實例參數設為 NONE,再刪除檔案。之後僅能用 OS 驗證登入。
chmod 600)V$PWFILE_USERS 異常變動EXCLUSIVE 模式並啟用審計掌握密碼檔全生命週期管理,是 Oracle DBA 確保資料庫管理通道安全的基本功。