強烈建議使用圖形化工具 Oracle Net Manager(Windows:開始功能表;Linux:netmgr),避免手工編輯 listener.ora/tnsnames.ora 產生語法錯誤。
LISTENER(可自訂)。orcl.example.com(含網域,確保唯一性)orcl$ORACLE_HOME/network/admin/listener.ora。orcl)。orcl.example.com)。tnsping / sqlplus 除錯。$ORACLE_HOME/network/admin/tnsnames.ora。# 啟動 Listener
lsnrctl start [listener_name]
# 啟動資料庫
sqlplus /nolog
SQL> conn sys@orcl as sysdba
SQL> startup
# 啟動 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-12514 | Listener 未識別服務名 | 檢查 listener.ora SID/Global Name、tnsnames.ora SERVICE_NAME 是否一致 |
| ORA-12541 | Listener 未啟動 | lsnrctl status 確認、防火牆開放 1521 |
| ORA-12154 | Client 找不到服務名 | 確認 tnsnames.ora 路徑、TNS_ADMIN 環境變數 |
| ORA-12505 | SID 未在 Listener 註冊 | 檢查資料庫 local_listener 參數、動態註冊狀態 |
Listener 配置核心在於「Server 端服務註冊」與「Client 端服務解析」雙向一致。善用 Net Manager 圖形化介面,配合 lsnrctl、tnsping、sqlplus 三把斧頭,即可快速建立穩定連線。