| 命令 | 功能 | 典型用法 |
| start [listener_name] | 啟動監聽器 | LSNRCTL> start |
| stop [listener_name] | 停止監聽器 | LSNRCTL> stop |
| status [listener_name] | 顯示啟動時間、埠口、服務摘要 | LSNRCTL> status |
| services [listener_name] | 詳細列出每個服務的處理程序 (DEDICATED/SHARED) | LSNRCTL> services |
| version | 顯示監聽器版本資訊 | LSNRCTL> version |
| reload | 不重啟情況下重讀 listener.ora (新增服務/埠口即時生效) | LSNRCTL> reload |
| save_config | 備份 listener.ora 為 listener.bak,寫入當前運行參數 | LSNRCTL> save_config |
| trace {OFF|USER|ADMIN|SUPPORT} [listener_name] | 設定追蹤等級,檔案存 $ORACLE_HOME/network/trace/ | LSNRCTL> trace SUPPORT |
| change_password | 設定監聽器管理密碼 (防遠程/非擁有者停止) | LSNRCTL> change_password |
| set/show parameter | 動態調整/查看參數 (trc_file, trc_level, log_file, ...) | LSNRCTL> set trc_level USER |
實戰場景演示
場景 1:監聽器未啟動,連線報 ORA-12541
LSNRCTL> status
TNS-12541: TNS:無監聽程序
LSNRCTL> start
啟動 tnslsnr...
監聽端點: (TCP, 1521), (IPC, EXTPROC0)
服務摘要: PLSExtProc (1 handler)
命令執行成功
場景 2:開啟 SUPPORT 級 Trace 診斷連線失敗
LSNRCTL> trace SUPPORT
打開的跟蹤文件: E:\oracle\network\trace\listener.trc
LSNRCTL> status
...
跟蹤級別: support
監聽程序跟蹤文件: E:\oracle\network\trace\listener.trc
-- 重現問題後,關閉 trace
LSNRCTL> trace OFF
場景 3:修改 Trace 檔名並調整等級
LSNRCTL> set trc_file 'my_listener.trc'
LSNRCTL> set trc_level USER
LSNRCTL> status
監聽程序跟蹤文件: E:\oracle\network\trace\my_listener.trc
跟蹤級別: user
場景 4:設定監聽器密碼保護