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

Oracle 口令文件遺失?手把手教你用 orapwd 重建

     編輯:DB2 教學

Oracle 口令文件遺失?手把手教你用 orapwd 重建

練習環境誤刪 $ORACLE_HOME/dbs/orapw<SID> 導致 ORA-01031: insufficient privileges、ORA-01994: password file missing,無法以 SYSDBA 登入。記錄完整重建步驟與 11g/12c 參數差異。

現象確認

sqlplus sys/manager@55 as sysdba
ERROR: ORA-01031: insufficient privileges

SQL> grant sysdba to sys;
ORA-01994: GRANT failed: password file missing or disabled

重建步驟 (11g R2)

  1. 關閉資料庫(可選,建議關閉避免衝突)。
  2. 執行 orapwd:
orapwd file=$ORACLE_HOME/dbs/orapwORCL password=oracle entries=10 force=y
  • file:口令文件完整路徑(慣例 orapw<SID>)。
  • password:SYS 密碼(不寫會交互提示)。
  • entries:最大特權用戶數(預估略大)。
  • force=y:覆蓋既有文件。
  • ignorecase=y(可選):密碼大小寫不敏感(11g 新增)。
  1. 以 OS 認證登入驗證:
sqlplus / as sysdba
SQL> SELECT * FROM v$pwfile_users;

輸出應顯示 SYS TRUE TRUE FALSE。

11g vs 12c 參數對照

參數11g12c 新增/變更
FILE必填同
PASSWORD交互/指定同
ENTRIES可選同
FORCEY/Ny/n
IGNORECASEY/N同
NOSYSDBAY/N (DV)同
ASM-y/n:建立 ASM 口令文件於磁碟組
DBUNIQUENAME-資料庫唯一名(ASM 存放時必填)
FORMAT-12 (預設, 支援 SYSBACKUP/SYSDG/SYSKM) / legacy
SYSBACKUP/SYSDG/SYSKM-y/n:建立對應管理權限條目
DELETE-y/n:刪除指定口令文件
INPUT_FILE-遷移舊格式至 12c 格式
DESCRIBE-顯示文件屬性 (FORMAT/IGNORECASE)

常用範例

# 11g 簡單重建
orapwd file=orapwORCL password=oracle entries=30 force=y

# 12c 建立支援新權限的文件
orapwd file=orapwORCL format=12 sysbackup=y sysdg=y syskm=y force=y

注意事項

  • 參數間**不能有空格**(file=xxx 而非 file = xxx)。
  • RAC/ASM 環境需在共享存儲或 ASM 磁碟組建立,配合 DBUNIQUENAME。
  • 重建後需同步更新 Data Guard、RMAN 目錄等依賴 SYSDBA 的配置。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved