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

Windows XP雙機Oracle穿透防火牆連接實戰配置指南

     編輯:Oracle 資料庫基礎

針對兩台啟用 Windows XP 內建防火牆的機器互連 Oracle 9.0.1.1 實例,提供最精簡可行的配置步驟,解決雙向連接阻擋問題。

環境前提

  • 作業系統:Windows XP (啟用內建防火牆)
  • 資料庫版本:Oracle 9.0.1.1
  • 目標:雙向連通,雙方皆可作為 Client/Server

Server 端配置 (被連接方)

1. SQLNET.ORA 設定

SQLNET.AUTHENTICATION_SERVICES = (NTS)
NAMES.DIRECTORY_PATH = (TNSNAMES, ONAMES, HOSTNAME)
TRACE_LEVEL_CLIENT = 16

2. 註冊表啟用 Shared Socket

路徑:`HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0`
新增字串值:名稱 `USE_SHARED_SOCKET`,值 `TRUE`

3. 防火牆開放埠

依 `LISTENER.ORA` 實際監聽設定,開放 1521/1522 (TCP) 向外連接。若使用非標準埠,對應調整。

4. 重啟服務生效

依序重啟:Listener → 資料庫實例服務(或直接重啟主機)

Client 端配置 (發起連接方)

  1. 確認 `TNSNAMES.ORA` 服務名/主機/IP/埠正確
  2. 測試:`tnsping 服務別名` 應回傳 OK
  3. SQL*Plus 連接測試:`sqlplus user/pwd@服務別名`

常見問題排查

現象可能原因對策
tnsping 通但 SQL*Plus 連不上防火牆阻擋隨機埠 (未啟用 Shared Socket)確認註冊表設定並「重啟實例」
tnsping 失敗1521 埠未開放 / 主機名解析錯誤防火牆開放埠 / 改用 IP / 檢查 hosts 檔
ORA-12514 / ORA-12505服務名不匹配 / Listener 未註冊該實例檢查 SERVICE_NAME / SID / Listener 狀態 `lsnrctl status`

關鍵提醒

  • 必須重啟實例,僅重啟 Listener 不會生效 Shared Socket 設定
  • 雙向互連時,兩台機器皆需完成上述 Server 端配置
  • XP 防火牆「例外」頁面新增埠時,選擇「任何電腦」或限定特定 IP 範圍
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved