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

Oracle 常見錯誤代碼速查與解決方案:ORA-12541、12500、12154、1034、12560 完全攻略

     編輯:Oracle 資料庫基礎

一、監聽器與服務啟動類錯誤

錯誤代碼訊息根因解決步驟
ORA-12541TNS: no listener監聽器未啟動或損壞1. lsnrctl status 確認狀態
2. lsnrctl start 或 Windows 服務啟動 OracleOraHomeXXTNSListener
3. 若損壞:NetCA → Listener Configuration → 刪除重建
ORA-12500TNS: listener failed to start dedicated server process資料庫實例服務未啟動Windows: net start OracleServiceSID
Linux: sqlplus / as sysdba → startup
ORA-12560TNS: protocol adapter error同 ORA-12500,或 ORACLE_SID 錯誤檢查 set ORACLE_SID=正確SID,再啟動服務

二、服務啟動失敗:註冊表損壞終極修復

ORADIM -DELETE -SID <SID名>   -- 刪除服務項
ORADIM -NEW -SID <SID名>       -- 重建服務項
-- 若報錯,重開機後再試

三、網路服務名解析錯誤

錯誤代碼訊息根因解決步驟
ORA-12154TNS: could not resolve the connect identifier specifiedtnsnames.ora 設定錯誤、路徑不在 TNS_ADMIN、服務名拼寫錯誤1. NetCA → Local Net Service Name Configuration → 重新設定
2. tnsping 服務名 驗證
3. 檢查 sqlnet.ora 的 NAMES.DIRECTORY_PATH

四、資料庫未開啟錯誤

錯誤代碼訊息根因解決步驟
ORA-01034ORACLE not available實例啟動但資料庫未 MOUNT/OPENsqlplus / as sysdba → startup(或 startup mount → alter database open)

五、頑固型 ORA-12560 終極大招

  1. 開啟工作管理員,結束 oracle.exe、oradim.exe 所有進程。
  2. 建立 ora_startup.bat:
@echo off
net start OracleServiceORCL
net start OracleOraHome10gTNSListener
sqlplus / as sysdba @startup.sql
-- startup.sql
startup
exit
  1. 以系統管理員身分執行 bat,觀察輸出確認啟動成功。

六、預防勝於治療:日常檢查清單

  • 監控腳本定期檢查 Listener、DB Instance、ASM 服務狀態。
  • tnsnames.ora、listener.ora 納入版控,變更留痕。
  • 設定 ORACLE_SID 環境變數於用戶 Profile,避免手動設定出錯。
  • 定期演練備份恢復與啟動流程,確保文件可用。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved