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

Oracle 監聽器配置三步走:Net Manager 圖形化實戰教學

     編輯:Oracle 資料庫基礎

核心架構:Listener 與 TNSNAMES

  • Listener (Server 端):網路服務,監聽 Client 連線請求,驗證合法性後建立 Session。
  • TNSNAMES (Client 端):本地服務名解析,映射服務名至「主機:埠/服務名」。

強烈建議使用圖形化工具 Oracle Net Manager(Windows:開始功能表;Linux:netmgr),避免手工編輯 listener.ora/tnsnames.ora 產生語法錯誤。

步驟一:配置 Server 端 Listener

  1. 開啟 Net Manager → 左側樹選 Listeners → 點「+」新增,名稱預設 LISTENER(可自訂)。
  2. 選 Listening Locations → 「Add Address」 → 協定 TCP/IP → 填入主機名或 IP(建議固定 IP)、Port(預設 1521)。
  3. 選 Database Services → 「Add Database」 → 填入:
    • Global Database Name:如 orcl.example.com(含網域,確保唯一性)
    • Oracle Home:可留空
    • SID:如 orcl
  4. 儲存 → 自動生成 $ORACLE_HOME/network/admin/listener.ora。

步驟二:配置 Client 端 TNSNAMES

  1. Net Manager → Service Naming → 「+」新增 → Net Service Name(如 orcl)。
  2. 協定 TCP/IP → 主機名/IP + Port 必須與 Server 端 Listener 完全一致。
  3. 選 Service Name (Oracle 8i+) → 填入 Server 端設定的 Global Database Name(如 orcl.example.com)。
  4. 連線類型:Dedicated Server(專用,預設);若 Server 配置 Shared Server 則選 Shared。
  5. 點「測試」→ 若失敗,先完成配置,後續用 tnsping / sqlplus 除錯。
  6. 儲存 → 生成 $ORACLE_HOME/network/admin/tnsnames.ora。

步驟三:啟動服務與驗證連線

Linux/Unix

# 啟動 Listener
lsnrctl start [listener_name]

# 啟動資料庫
sqlplus /nolog
SQL> conn sys@orcl as sysdba
SQL> startup

Windows

# 啟動 Listener
lsnrctl start [listener_name]

# 啟動實例服務
oradim -startup -sid orcl

Listener 名稱非預設 時,lsnrctl start 指定名稱。

連線測試

sqlplus /nolog
SQL> conn scott/tiger@orcl
-- 或
sqlplus scott/tiger@orcl

成功顯示 Connected. 即配置完成。

常見故障快速排查

現象可能原因對策
ORA-12514Listener 未識別服務名檢查 listener.ora SID/Global Name、tnsnames.ora SERVICE_NAME 是否一致
ORA-12541Listener 未啟動lsnrctl status 確認、防火牆開放 1521
ORA-12154Client 找不到服務名確認 tnsnames.ora 路徑、TNS_ADMIN 環境變數
ORA-12505SID 未在 Listener 註冊檢查資料庫 local_listener 參數、動態註冊狀態

結語

Listener 配置核心在於「Server 端服務註冊」與「Client 端服務解析」雙向一致。善用 Net Manager 圖形化介面,配合 lsnrctl、tnsping、sqlplus 三把斧頭,即可快速建立穩定連線。

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