Oracle 資料庫系統廣泛應用,安全管理至關重要。本文詳述密碼檔的建立、使用與維護,供參考。
用戶以特權身分(INTERNAL/SYSDBA/SYSOPER)登入 Oracle,可採作業系統驗證或密碼檔驗證。密碼檔儲存 INTERNAL/SYS 密碼及其他特權用戶帳密,通常位於 ORACLE_HOME\DATABASE 目錄下,檔名為 PWDSID.ORA(SID 為資料庫識別碼)。
使用 Instance Manager 建立實例時自動產生對應密碼檔。亦可用 ORAPWD.EXE 手工建立:
ORAPWD FILE=<檔名> PASSWORD=<SYS密碼> ENTRIES=<最大用戶數>
參數說明:
FILE:密碼檔完整路徑PASSWORD:設定 INTERNAL/SYS 密碼ENTRIES:允許以 SYSDBA/SYSOPER 登入的最大用戶數,建議預留較大值,否則超限需重建。控制密碼檔使用狀態,三種選項:
NONE:不使用密碼檔,特權登入採 OS 驗證EXCLUSIVE:單一實例專用,允許包含除 INTERNAL/SYS 外的用戶,可授予 SYSOPER/SYSDBA 給其他用戶SHARED:多實例共用,僅識別 INTERNAL/SYS,即使檔案含其他用戶資訊也不允許其以特權登入(預設值)搜尋順序:註冊表 ORA_SID_PWFILE → ORA_PWFILE → 預設 ORACLE_HOME\DATABASE\PWDSID.ORA。
僅當參數設為 EXCLUSIVE 時,允許其他用戶以特權登入。授予/收回 SYSOPER/SYSDBA 系統權限時,用戶會自動加入/移出密碼檔。操作步驟:
GRANT SYSDBA TO user; 或 REVOKE SYSDBA FROM user;