Windows 7 (64-bit) 安裝 Oracle 11g (64-bit) 後,32 位元的 PL/SQL Developer 無法直接使用 64 位元 Oracle Client,需額外部署 **32 位元 Instant Client** 並配置環境變數與工具路徑。本文記錄完整流程:Oracle 乾淨移除、重新安裝、Instant Client 部署、環境變數設定、PL/SQL Developer 連線配置,並解決常見「初始化錯誤」、「ORA-12154」、「OCI.dll 找不到」等問題。
殘留註冊表、服務、環境變數會導致新安裝失敗或服務無法啟動。
Oracle*、OracleDBConsole*、OracleJobScheduler* 服務HKEY_LOCAL_MACHINE\SOFTWARE\OracleHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Oracle*HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\Oracle*Path 移除所有 Oracle 路徑C:\Windows\Oracle*C:\Program Files\OracleC:\Program Files (x86)\OracleC:\app (預設安裝基底)C:\oraodbc.inisetup.exeORCL、SID ORCLAL32UTF8 (推薦)sqlplus sys/pwd@ORCL as sysdba 連線成功D:\app\Andreas\instantclient_11_2
oci.dll, oraociei11.dll, sqlplus.exe 等| 變數名 | 變數值範例 | 說明 |
|---|---|---|
| ORACLE_SID | ORCL | 本地資料庫 SID |
| NLS_LANG | AMERICAN_AMERICA.AL32UTF8 | 或 ZHS16GBK,需與資料庫字元集一致 |
| TNS_ADMIN | D:\app\Andreas\product\11.2.0\dbhome_1\NETWORK\ADMIN | tnsnames.ora 所在目錄 |
| ORACLE_HOME | D:\app\Andreas\product\11.2.0\dbhome_1 | 64-bit Oracle Home (供 64-bit 應用用) |
注意: 32-bit Instant Client 目錄**不設**為 ORACLE_HOME,只放在 Path 最前面。
D:\app\Andreas\product\11.2.0\dbhome_1 (64-bit Home)D:\app\Andreas\instantclient_11_2\oci.dll (32-bit Instant Client)| 錯誤 | 原因 | 解決 |
|---|---|---|
| ORA-12154: TNS:could not resolve | TNS_ADMIN 未設或 tnsnames.ora 路徑錯誤 | 檢查 TNS_ADMIN 環境變數、tnsnames.ora 內容、服務名拼寫 |
| ORA-12560: TNS:protocol adapter error | ORACLE_SID 錯誤 / Oracle 服務未啟動 | 設定正確 ORACLE_SID、啟動 OracleServiceORCL |
| OCI.dll: Can't load library | Path 缺少 32-bit Instant Client / 位元數不符 | 確認 32-bit Instant Client 在 Path 最前、PL/SQL 指向正確 oci.dll |
| PL/SQL 啟動卡住 | tnsnames.ora 格式錯誤 / 網路不通 | 用筆記本開啟 tnsnames.ora 檢查括號、IP、PORT |
sqlplus user/pwd@ORCL (64-bit) 連線成功D:\app\Andreas\instantclient_11_2\sqlplus.exe user/pwd@ORCL (32-bit) 連線成功SELECT * FROM V$VERSION 無誤遵循此「64-bit 資料庫 + 32-bit Instant Client + 環境變數隔離」架構,即可在 Windows 7 64-bit 環境完美運行 Oracle 11g 64-bit 資料庫與 PL/SQL Developer 開發工具,避開位元數衝突這一經典大坑。