Oracle listener lsnrctl,listenerlsnrctl

來源:互聯網
上載者:User

Oracle listener lsnrctl,listenerlsnrctl

lsnrctl(Listener Control)是一個SQL*Net工具,用於控制資料庫listener,這個工具提供了命令用於控制listener的啟動、停止,查看listener的狀態,改變listener的配置參數等。

lsnrctl介紹

在命令列中輸入lsnrctl,你將得到:

C:\Documents and Settings\Administrator>lsnrctlLSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 26-9月 -2014 08:44:15Copyright (c) 1991, 2005, Oracle.  All rights reserved.歡迎來到LSNRCTL, 請鍵入"help"以獲得資訊。LSNRCTL>

使用help命令,你將看到所有可用的命令:

LSNRCTL> help以下操作可用星號 (*) 表示修改符或擴充命令:start               stop                statusservices            version             reloadsave_config         trace               change_passwordquit                exit                set*show*

下面是對這些命令的簡單說明:

1)start:使用指定listener名啟動listener,否則將啟動LISTERNER。在Windows系統,listener也能沖控制中心的服務中啟動;
2)stop:停止listener。Windows系統也能從控制中心的服務中停止;
3)status:提供listener的狀態資訊,包括啟動時間、已耗用時間和trace層級;
4)services:列印所有可用的服務;
5)version:列印listener的版本資訊;
6)reload:不停止和啟動listener的情況下強行讀取設定檔擷取新配置;
7)save_config:為當前listener.ora檔案建立一個備份,並儲存改變到目前的版本;
8)trace:設定trace層級,可用值:OFF,USER,ADMIN和SUPPORT;
9)dbsnmp_start:啟動DBSNMP副代理;
10)dbsnmp_stop:停止DBSNMP副代理;
11)dbsnmp_status:列印DBSNMP副代理的狀態;
12)change_password:為listener設定一個新的密碼;
13)quit或exit:退出;
14)set:改變任何參數的值;
15)show:列印當前參數的設定。

lsnrctl應用執行個體

下面介紹幾個lsnrctl的使用執行個體。

啟動listener

當listener被停止後,串連資料庫執行個體將導致ORA-12541異常,查看listener狀態將得到:

LSNRCTL> status正在串連到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.74.216.39)(PORT=1521))(CONNECT_DATA=(SID=lytest)(SERVER=DEDICATED)))TNS-12541: TNS: 無監聽程式 TNS-12560: TNS: 協議適配器錯誤  TNS-00511: 無監聽程式   32-bit Windows Error: 61: Unknown error

這時你可以啟動listener:

LSNRCTL> start啟動tnslsnr: 請稍候...TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production系統參數檔案為E:\oracle\product\10.2.0\db_1\network\admin\listener.ora寫入E:\oracle\product\10.2.0\db_1\network\log\listener.log的日誌資訊監聽: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.74.216.39)(PORT=1521)))監聽: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))正在串連到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.74.216.39)(PORT=1521)))LISTENER 的 STATUS------------------------別名                      LISTENER版本                      TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production啟動日期                  26-9月 -2014 09:33:40正常已耗用時間              0 天 0 小時 0 分 4 秒追蹤層級                  off安全性                    ON: Local OS AuthenticationSNMP                      OFF監聽程式參數檔案          E:\oracle\product\10.2.0\db_1\network\admin\listener.ora監聽程式記錄檔          E:\oracle\product\10.2.0\db_1\network\log\listener.log監聽端點概要...  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.74.216.39)(PORT=1521)))  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))服務摘要..服務 "PLSExtProc" 包含 1 個常式。  常式 "PLSExtProc", 狀態 UNKNOWN, 包含此服務的 1 個處理常式...命令執行成功

到這裡,listener啟動成功。

trace檔案

listener的trace檔案為我們提供了listener的工作過程資訊,協助我們定位listener的故障。下面是lsnrctl為trace提供的幫組資訊:

LSNRCTL> help tracetrace OFF | USER | ADMIN | SUPPORT [<listener_name>] : set tracing to the specified level

下面是對參數的解釋:
 1)OFF:no trace output;
 2)USER:user trace information;
 3)ADMIN:administration trace information;
 4)SUPPORT:Oracle Support Services trace information
下面開啟跟蹤:

LSNRCTL> trace support正在串連到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.74.216.39)(PORT=1521)))開啟的追蹤檔案: E:\oracle\product\10.2.0\db_1\network\trace\listener.trc命令執行成功

查看listener狀態:

LSNRCTL> status正在串連到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.74.216.39)(PORT=1521)))LISTENER 的 STATUS------------------------別名                      LISTENER版本                      TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production啟動日期                  26-9月 -2014 10:35:06正常已耗用時間              0 天 0 小時 31 分 26 秒追蹤層級                  support安全性                    ON: Password or Local OS AuthenticationSNMP                      OFF監聽程式參數檔案          E:\oracle\product\10.2.0\db_1\network\admin\listener.ora監聽程式記錄檔          E:\oracle\product\10.2.0\db_1\network\log\listener.log監聽程式追蹤檔案          E:\oracle\product\10.2.0\db_1\network\trace\listener.trc監聽端點概要...  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.74.216.39)(PORT=1521)))  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))......

在“監聽程式追蹤檔案”中可以看到追蹤檔案路徑資訊:E:\oracle\product\10.2.0\db_1\network\trace\listener.trc。
可以通過下面的命令查詢追蹤檔案名:

LSNRCTL> show trc_file正在串連到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.74.216.39)(PORT=1521)))LISTENER 參數 "trc_file" 設為 listener.trc命令執行成功

查看追蹤層級:

LSNRCTL> show trc_level正在串連到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.74.216.39)(PORT=1521)))LISTENER 參數 "trc_level" 設為 support命令執行成功

修改追蹤檔案名:

LSNRCTL> set trc_file 'lylistener.trc'正在串連到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.74.216.39)(PORT=1521)))LISTENER 參數 "trc_file" 設為 lylistener.trc命令執行成功

注意修改追蹤檔案名後跟蹤將被關閉,需要重新設定(這裡使用set設定,和使用trace一樣的效果):

LSNRCTL> set trc_level user正在串連到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.74.216.39)(PORT=1521)))LISTENER 參數 "trc_level" 設為 user命令執行成功

下面再次查看listener狀態:

LSNRCTL> status正在串連到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.74.216.39)(PORT=1521)))LISTENER 的 STATUS------------------------別名                      LISTENER版本                      TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production啟動日期                  26-9月 -2014 10:35:06正常已耗用時間              2 天 0 小時 8 分 3 秒追蹤層級                  user安全性                    ON: Password or Local OS AuthenticationSNMP                      OFF監聽程式參數檔案          E:\oracle\product\10.2.0\db_1\network\admin\listener.ora監聽程式記錄檔          E:\oracle\product\10.2.0\db_1\network\log\listener.log監聽程式追蹤檔案          E:\oracle\product\10.2.0\db_1\network\trace\lylistener.trc監聽端點概要...  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.74.216.39)(PORT=1521)))  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))......命令執行成功

可以看到追蹤檔案名已經更改。

為listener設定密碼保護

Oracle 10g後,Oracle本機使用者關閉listener是不需要口令的,設定口令主要為了防止:
 1)原生其他使用者關閉listener;
 2)遠程關閉listener。
下面是具體的方法。

LSNRCTL> change_passwordOld password:<輸入原始密碼>New password:<輸入新密碼>Reenter new password:<新密碼確認>

執行成功後你看到:

正在串連到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.74.216.39)(PORT=1521)))LISTENER的口令已更改命令執行成功

接下來,你需要儲存配置:

LSNRCTL> save_config正在串連到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.74.216.39)(PORT=1521)))儲存的LISTENER配置參數。監聽程式參數檔案          E:\oracle\product\10.2.0\db_1\network\admin\listener.ora舊的參數檔案E:\oracle\product\10.2.0\db_1\network\admin\listener.bak命令執行成功

這樣就為你的listener設定了密碼保護。


oracle lsnrctl 中lsnrctl是哪個英文的簡寫

listener control 監聽控制
因為你在鍵入 lsnrctl 斷行符號之後,就進入到監聽控制介面。
 
oracle 監聽重啟後 LSNRCTL> stat 監聽狀態查看 為如下:

你的listener.ora檔案中缺少SID_LIST_LISTENER,也就是說,你還沒有建立資料庫執行個體或者是你沒有在listener.ora檔案中添加要監聽的資料庫執行個體。
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.