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

Oracle 使用者密碼重置完整指南:SYS/SYSTEM/一般用戶分類處理與 ORAPWD 緊急恢復

     編輯:Oracle 資料庫基礎

Oracle 密碼管理分場景操作手冊

遺忘密碼按權限層級分為三類:一般用戶、SYSTEM、SYS。本文提供分類處理標準流程,並針對全遺忘情況給出 ORAPWD 緊急恢復方案,確保 DBA 在各種權限情境下都能快速恢復存取。

場景一:遺忘一般用戶密碼 (擁有 SYS/SYSTEM 權限)

CONN SYS/Password AS SYSDBA;
-- 或 CONN SYSTEM/Password
ALTER USER app_user IDENTIFIED BY NewPass123;

密碼規則:不能純數字、不能數字開頭,否則 ORA-00988。建議:字母開頭 + 數字 + 特殊字元,長度 ≥ 8。

場景二:遺忘 SYSTEM 密碼 (擁有 SYS 權限)

CONN SYS/Password AS SYSDBA;
ALTER USER SYSTEM IDENTIFIED BY NewPass123;

場景三:遺忘 SYS 密碼 (擁有 SYSTEM 權限)

CONN SYSTEM/Password;
ALTER USER SYS IDENTIFIED BY NewPass123;

注意:SYS 密碼變更需同步更新密碼檔 (見場景四),否則遠端 SYSDBA 登入失敗。

場景四:SYS/SYSTEM 全遺忘 — ORAPWD 重建密碼檔

# Windows
C:\> SET ORACLE_SID=ORCL
C:\> orapwd file=%ORACLE_HOME%\database\PWDORCL.ora password=NewPass123 entries=10

# Linux/Unix
$ export ORACLE_SID=ORCL
$ orapwd file=$ORACLE_HOME/dbs/orapwORCL password=NewPass123 entries=10

關鍵點:

  • 僅重設 SYS/SYSTEM 密碼,其他用戶不受影響
  • entries 預估最大 SYSDBA/OPER 使用者數 (含未來擴充)
  • RAC 環境:所有節點執行並確保檔案同步 (或共享儲存單一檔案)
  • Data Guard:Primary 執行後,Standby 同步複製密碼檔

場景五:OS 驗證無效時的最後手段 (需停機)

  1. 關閉資料庫:SHUTDOWN IMMEDIATE
  2. 以 OS 認證啟動至 MOUNT:STARTUP MOUNT (需密碼檔有效)
  3. 若密碼檔也失效:建立最小 PFILE → STARTUP NOMOUNT → 重建控制檔/密碼檔

密碼檔與資料庫密碼同步機制

操作資料庫密碼密碼檔遠端 SYSDBA
ALTER USER SYS IDENTIFIED BY✓ 更新✓ 自動同步 (11g+)✓ 生效
ORAPWD 重建✗ 不變✓ 更新✓ 生效 (但資料庫密碼舊)
ALTER USER SYS + ORAPWD✓ 更新✓ 更新✓ 完全同步

最佳實踐:永遠使用 ALTER USER SYS IDENTIFIED BY,11g+ 會自動同步密碼檔;僅在密碼檔損壞/遺失時使用 ORAPWD。

事後驗證清單

  • ☐ 本地 CONN SYS/NewPass AS SYSDBA 成功
  • ☐ 遠端 SQLPLUS SYS/NewPass@TNS AS SYSDBA 成功
  • ☐ Enterprise Manager / Cloud Control 目標監控正常
  • ☐ 應用連線池 (WebLogic/WebSphere/Tomcat) 密碼同步更新
  • ☐ 審計日誌確認無異常登入
  • ☐ 密碼管理系統/金鑰保管庫記錄更新

預防性建議

  • 建立專屬 DBA 帳號:CREATE USER dba_admin IDENTIFIED BY ...; GRANT DBA TO dba_admin; 避免日常使用 SYS
  • 密碼輪換策略:PASSWORD_LIFE_TIME / PASSWORD_GRACE_TIME 在 Profile 中設定
  • 定期演練:季度進行密碼重置演練,驗證流程與文件有效性
  • 密碼檔納入 RMAN 備份:CONFIGURE CONTROLFILE AUTOBACKUP ON 含密碼檔
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved