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

忘記 Oracle INTERNAL/SYS 密碼?利用 ORAPWD 重建密碼檔秒解決

     編輯:Oracle 資料庫基礎

問題背景

Oracle 特權連線 (INTERNAL / SYSDBA / SYSOPER) 有兩種驗證方式:作業系統驗證 (OS 認證) 與密碼檔驗證。密碼檔預設位於 $ORACLE_HOME/dbs (Unix) 或 %ORACLE_HOME%\database (Windows),檔名格式 PWD<SID>.ora (如 PWDORCL.ora)。若忘記 SYS/INTERNAL 密碼且無 OS 認證權限,可重建密碼檔解決。

解決步驟 (Windows 示範)

  1. 開啟「執行」 (Win+R),輸入命令:
    orapwd file=D:\Oracle\Ora81\database\PWDnewfile.ora password=NEWPSW entries=5
  2. 將產生的新密碼檔覆蓋或替換原有 PWD<SID>.ora。
  3. 確認初始化參數 REMOTE_LOGIN_PASSWORDFILE 設為 EXCLUSIVE 或 SHARED (非 NONE),啟用密碼檔驗證。

ORAPWD 參數說明

參數含義
FILE密碼檔完整路徑與檔名
PASSWORD設定 SYS/INTERNAL 帳號新密碼
ENTRIES (MAX_USERS)密碼檔可容納的最大特權用戶數 (含 SYS)。建議預留較大值,超過需重建。

注意事項

  • 9i 之後 INTERNAL 實質為 SYS,密碼檔同步管理兩者。
  • 若使用 OS 認證 (REMOTE_LOGIN_PASSWORDFILE=NONE),本地 CONNECT / AS SYSDBA 不受密碼檔影響;遠端連線或關閉 OS 認證時才生效。
  • 重建密碼檔會清除除 SYS 外所有特權用戶,需重新 GRANT SYSDBA TO user 寫入。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved