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

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

     編輯:Oracle 資料庫相關知識

Oracle 資料庫安全管理的核心之一是控制特權用戶 (INTERNAL/SYSDBA/SYSOPER) 登入。除作業系統驗證外,密碼檔 是遠端/本機特權連線的關鍵機制。

密碼檔位置與內容

預設位於 $ORACLE_HOME/dbs (Unix) 或 %ORACLE_HOME%\database (Windows),檔名 PWD.ora。存放 SYS/INTERNAL 密碼及獲授 SYSDBA/SYSOPER 的用戶帳號。

一、建立密碼檔

建立資料庫實例時自動建立。亦可手動用 ORAPWD 工具:

ORAPWD FILE= PASSWORD= ENTRIES=
  • FILE:密碼檔完整路徑。
  • PASSWORD:SYS/INTERNAL 密碼。
  • ENTRIES:允許的最大特權用戶數,建議預留空間避免日後重建。

二、設定 REMOTE_LOGIN_PASSWORDFILE 參數

控制密碼檔使用模式:

  • NONE:不使用密碼檔,僅 OS 驗證。
  • EXCLUSIVE:單一實例專用,**允許除 SYS 外的用戶獲授 SYSDBA/SYSOPER** (唯一支援多用戶的模式)。
  • SHARED:多實例共用,**僅識別 SYS/INTERNAL**,即使檔中有其他用戶也無法以特權登入 (預設值)。

搜尋順序:註冊表 ORA_SID_PWFILE → ORA_PWFILE → 預設路徑。

三、新增/移除特權用戶

前提:REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE 且以 SYSDBA 連線。

-- 授予
GRANT SYSDBA TO username;
-- 回收
REVOKE SYSDBA FROM username;

授予/回收 SYSDBA/SYSOPER 系統權限即同步更新密碼檔。

四、使用密碼檔登入

參數需為 EXCLUSIVE 或 SHARED。登入後位於 SYS Schema 下:

-- 一般用戶獲授 SYSDBA
CONNECT scott/tiger AS SYSDBA
-- INTERNAL 登入 (舊版相容)
CONNECT INTERNAL/internal_password
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved