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

Oracle 密碼檔管理完整指南:ORAPWD、REMOTE_LOGIN_PASSWORDFILE、SYSDBA 授權

     編輯:Oracle 資料庫基礎

密碼檔角色

儲存 SYS/INTERNAL 及具 SYSDBA/SYSOPER 權限使用者的認證,支援遠端/本地特權連線。預設位置 $ORACLE_HOME/dbs/PWD.ora(Linux)或 %ORACLE_HOME%\database\PWD.ora(Windows)。

建立密碼檔:ORAPWD

orapwd file=$ORACLE_HOME/dbs/PWdorcl.ora password=sys_pwd entries=10
  • file:完整路徑檔名。
  • password:SYS 密碼(同步更新資料庫 SYS 密碼)。
  • entries:最大特權使用者數,建議預留較大值(如 50),超過需重建。

啟用參數:REMOTE_LOGIN_PASSWORDFILE

值說明
NONE不使用密碼檔,僅 OS 驗證(預設)。
EXCLUSIVE單一實例專用,可儲存非 SYS 特權使用者(生產標準)。
SHARED多實例共用,僅識別 SYS/INTERNAL,忽略其他使用者。

修改後需重啟實例生效:

ALTER SYSTEM SET remote_login_passwordfile=EXCLUSIVE SCOPE=SPFILE;
SHUTDOWN IMMEDIATE; STARTUP;

特權使用者授權流程

  1. 確認參數為 EXCLUSIVE。
  2. CONNECT / AS SYSDBA(或 SYS/pwd AS SYSDBA)。
  3. 建立一般使用者:CREATE USER admin_user IDENTIFIED BY pwd;
  4. 授予特權:GRANT SYSDBA TO admin_user;(或 SYSOPER)。
  5. 驗證:SELECT * FROM v$pwfile_users; 顯示 SYSDBA=TRUE。

收回特權

REVOKE SYSDBA FROM admin_user;

同步從密碼檔移除。

遠端登入範例

-- SYSDBA
sqlplus admin_user/pwd@orcl AS SYSDBA

-- INTERNAL(舊版相容)
sqlplus internal/internal_pwd@orcl

密碼檔搜尋順序(EXCLUSIVE/SHARED)

  1. Registry/SPFILE ORA_SID_PWFILE 完整路徑。
  2. Registry/SPFILE ORA_PWFILE 完整路徑。
  3. 預設 $ORACLE_HOME/dbs/PWD.ora。

結語

密碼檔是特權存取控制核心。生產環境務必:設為 EXCLUSIVE、定期稽核 v$pwfile_users、密碼複雜度符合策略、備份密碼檔至異地。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved