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

Oracle 資料庫連線測試與常見錯誤排除完整指南

     編輯:Oracle 資料庫基礎

Oracle 資料庫連線測試方法

網路上關於連接 Oracle 資料庫的範例眾多,本文將針對連線測試流程與常見錯誤排除方案提出實務建議。最便捷的測試方式是使用 Oracle 內建的 SQL*Plus 工具,操作步驟如下:

C:\> sqlplus /nolog
SQL> conn zgh@myOracle
已連接。

若在配置本地服務名稱時測試通過,或使用 PL/SQL Developer 等第三方工具成功連線,即代表客戶端基本配置無誤。

客戶端連線伺服器常見錯誤代碼與解決方案

排除連線問題的核心原則:先確認客戶端設定(tnsnames.ora)與伺服器端監聽配置(listener.ora)完全一致,再依據錯誤代碼逐一排查。

1. ORA-12541: TNS: 沒有監聽器

原因:伺服器端監聽器未啟動,或客戶端填寫的 IP/埠號錯誤。

解決:啟動監聽器指令:

$ lsnrctl start   (Linux/Unix)
C:\> lsnrctl start   (Windows)

2. ORA-12500: TNS: 監聽程序無法啟動專用服務器進程

原因:Windows 環境下 Oracle 執行個體服務(OracleServiceSID)未啟動。

解決:啟動執行個體服務:

C:\> oradim –startup -sid myOracle

3. ORA-12535: TNS: 操作超時

原因:網路不通、防火牆封鎖 1521 埠、MTU 設定過大導致封包分片。

解決:依序檢查雙向網路連通性、伺服器/客戶端防火牆規則、sqlnet.ora 設定 SQLNET.EXPIRE_TIME 保持長連線。

4. ORA-12154: TNS: 無法處理服務名

原因:tnsnames.ora 中服務名稱拼寫錯誤,或檔案首行服務名稱前誤留空白字元。

解決:核對服務名稱拼寫,移除 tnsnames.ora 服務定義首行前的空格/Tab。

5. ORA-12514: TNS: 監聽程序當前無法識別連接描述符中請求的服務

原因:客戶端指定的 SERVICE_NAME 與伺服器端 listener.ora 註冊的 GLOBAL_DBNAME 不一致。

解決:使用 Net Manager 確認服務識別欄位內容,必須與伺服器端監聽配置的全域資料庫名完全相同。

6. Windows 啟動監聽服務提示「找不到路徑」

原因:註冊表中 ImagePath 字串值遺失或路徑錯誤。

解決:編輯註冊表機碼:

  • 監聽器:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleOraHome92TNSListener,ImagePath 設為 D:\ORACLE\ora92\BIN\TNSLSNR
  • 執行個體:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleServiceMYORACLE,ImagePath 設為 D:\ORACLE\ora92\BIN\ORACLE.EXE MYORACLE

路徑請依實際安裝目錄調整。

總結

連線問題千變萬化,但核心邏輯始終是「配置一致性」與「網路通達性」。掌握監聽器、tnsnames.ora、listener.ora、防火牆、註冊表這五大關鍵點,即可解決 90% 以上的連線異常。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved