儲存 SYS/INTERNAL 及具 SYSDBA/SYSOPER 權限使用者的認證,支援遠端/本地特權連線。預設位置 $ORACLE_HOME/dbs/PWD(Linux)或 %ORACLE_HOME%\database\PWD(Windows)。
orapwd file=$ORACLE_HOME/dbs/PWdorcl.ora password=sys_pwd entries=10
file:完整路徑檔名。password:SYS 密碼(同步更新資料庫 SYS 密碼)。entries:最大特權使用者數,建議預留較大值(如 50),超過需重建。| 值 | 說明 |
|---|---|
NONE | 不使用密碼檔,僅 OS 驗證(預設)。 |
EXCLUSIVE | 單一實例專用,可儲存非 SYS 特權使用者(生產標準)。 |
SHARED | 多實例共用,僅識別 SYS/INTERNAL,忽略其他使用者。 |
修改後需重啟實例生效:
ALTER SYSTEM SET remote_login_passwordfile=EXCLUSIVE SCOPE=SPFILE;
SHUTDOWN IMMEDIATE; STARTUP;
EXCLUSIVE。CONNECT / AS SYSDBA(或 SYS/pwd AS SYSDBA)。CREATE USER admin_user IDENTIFIED BY pwd;GRANT SYSDBA TO admin_user;(或 SYSOPER)。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
ORA_SID_PWFILE 完整路徑。ORA_PWFILE 完整路徑。$ORACLE_HOME/dbs/PWD.ora 。密碼檔是特權存取控制核心。生產環境務必:設為 EXCLUSIVE、定期稽核 v$pwfile_users、密碼複雜度符合策略、備份密碼檔至異地。