sqlplus / as sysdba 失敗
Error 6 initializing SQL*Plus
Message file sp1<lang>.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
32-bit Oracle 安裝於 64-bit Windows 時,其註冊表鍵值寫入 Wow6432Node 重定向節點:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE
此節點缺失(可能因人為刪除、清理工具誤殺、遷移遺漏),導致 Oracle 客戶端無法定位 ORACLE_HOME、NLS_LANG、ORA_NLS10 等關鍵配置,進而找不到訊息檔 sp1us.msb。
regedit,檢查上述路徑是否存在。.trc 檔案前幾行,確認實例為 32-bit(關鍵字 32-bit Production)。# 1. 同版本同位數正常環境導出
# 檔名:oracle_wow6432.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE]
"ORACLE_HOME"="D:\\app\\oracle\\product\\11.2.0\\dbhome_1"
"ORACLE_HOME_NAME"="OraDb11g_home1"
"NLS_LANG"="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
... (其他鍵值)
# 2. 故障機器雙擊導入或
regedit /s oracle_wow6432.reg
| 鍵值名 | 用途 |
|---|---|
| ORACLE_HOME | 軟體安裝根目錄,核心定位點 |
| ORACLE_HOME_NAME | Inventory 識別名 |
| NLS_LANG | 字符集/語言/地區,格式 LANGUAGE_TERRITORY.CHARACTERSET |
| ORA_NLS10 | NLS 資料檔路徑,通常 %ORACLE_HOME%\\nls\\data\\9idata |
| SQLPATH | SQL 腳本搜索路徑 |
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE?64-bit Windows 將 32-bit 應用的註冊表重定向至 Wow6432Node。64-bit Oracle 則直接使用 SOFTWARE\ORACLE。位數必須匹配:
Wow6432Node\ORACLE(支援但不建議生產)SOFTWARE\ORACLE(標準部署)Wow6432Node\ORACLE。註冊表雖小,關繫啟動大局;備份導入,秒級恢復。