Oracle listener lsnrctl
來(lái)源:程序員人生 發(fā)布時(shí)間:2014-10-06 08:00:01 閱讀次數(shù):3326次
lsnrctl(Listener Control)是一個(gè)SQL*Net工具,用于控制數(shù)據(jù)庫(kù)listener,這個(gè)工具提供了命令用于控制listener的啟動(dòng)、停止,查看listener的狀態(tài),改變listener的配置參數(shù)等。
lsnrctl介紹
在命令行中輸入lsnrctl,你將得到:
C:Documents and SettingsAdministrator>lsnrctl
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 26-9月 -2014 08:44:15
Copyright (c) 1991, 2005, Oracle. All rights reserved.
歡迎來(lái)到LSNRCTL, 請(qǐng)鍵入"help"以獲得信息。
LSNRCTL>
使用help命令,你將看到所有可用的命令:
LSNRCTL> help
以下操作可用
星號(hào) (*) 表示修改符或擴(kuò)展命令:
start stop status
services version reload
save_config trace change_password
quit exit set*
show*
下面是對(duì)這些命令的簡(jiǎn)單說(shuō)明:
1)start:使用指定listener名啟動(dòng)listener,否則將啟動(dòng)LISTERNER。在Windows系統(tǒng),listener也能沖控制中心的服務(wù)中啟動(dòng);
2)stop:停止listener。Windows系統(tǒng)也能從控制中心的服務(wù)中停止;
3)status:提供listener的狀態(tài)信息,包括啟動(dòng)時(shí)間、運(yùn)行時(shí)間和trace級(jí)別;
4)services:打印所有可用的服務(wù);
5)version:打印listener的版本信息;
6)reload:不停止和啟動(dòng)listener的情況下強(qiáng)行讀取配置文件獲取新配置;
7)save_config:為當(dāng)前l(fā)istener.ora文件創(chuàng)建一個(gè)備份,并保存改變到當(dāng)前版本;
8)trace:設(shè)置trace級(jí)別,可用值:OFF,USER,ADMIN和SUPPORT;
9)dbsnmp_start:?jiǎn)?dòng)DBSNMP副代理;
10)dbsnmp_stop:停止DBSNMP副代理;
11)dbsnmp_status:打印DBSNMP副代理的狀態(tài);
12)change_password:為listener設(shè)置一個(gè)新的密碼;
13)quit或exit:退出;
14)set:改變?nèi)魏螀?shù)的值;
15)show:打印當(dāng)前參數(shù)的設(shè)置。
lsnrctl應(yīng)用實(shí)例
下面介紹幾個(gè)lsnrctl的使用實(shí)例。
啟動(dòng)listener
當(dāng)listener被停止后,連接數(shù)據(jù)庫(kù)實(shí)例將導(dǎo)致ORA-12541異常,查看listener狀態(tài)將得到:
LSNRCTL> status
正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.74.216.39)(PORT=1521))(CONNECT_DATA=(SID=lytest)(SERVER=DEDICATED)))
TNS-12541: TNS: 無(wú)監(jiān)聽(tīng)程序
TNS-12560: TNS: 協(xié)議適配器錯(cuò)誤
TNS-00511: 無(wú)監(jiān)聽(tīng)程序
32-bit Windows Error: 61: Unknown error
這時(shí)你可以啟動(dòng)listener:
LSNRCTL> start
啟動(dòng)tnslsnr: 請(qǐng)稍候...
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
系統(tǒng)參數(shù)文件為E:oracleproduct10.2.0db_1
etworkadminlistener.ora
寫(xiě)入E:oracleproduct10.2.0db_1
etworkloglistener.log的日志信息
監(jiān)聽(tīng): (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.74.216.39)(PORT=1521)))
監(jiān)聽(tīng): (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=.pipeEXTPROC0ipc)))
正在連接到 (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
啟動(dòng)日期 26-9月 -2014 09:33:40
正常運(yùn)行時(shí)間 0 天 0 小時(shí) 0 分 4 秒
跟蹤級(jí)別 off
安全性 ON: Local OS Authentication
SNMP OFF
監(jiān)聽(tīng)程序參數(shù)文件 E:oracleproduct10.2.0db_1
etworkadminlistener.ora
監(jiān)聽(tīng)程序日志文件 E:oracleproduct10.2.0db_1
etworkloglistener.log
監(jiān)聽(tīng)端點(diǎn)概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.74.216.39)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=.pipeEXTPROC0ipc)))
服務(wù)摘要..
服務(wù) "PLSExtProc" 包含 1 個(gè)例程。
例程 "PLSExtProc", 狀態(tài) UNKNOWN, 包含此服務(wù)的 1 個(gè)處理程序...
命令執(zhí)行成功
到這里,listener啟動(dòng)成功。
trace文件
listener的trace文件為我們提供了listener的工作過(guò)程信息,幫助我們定位listener的故障。下面是lsnrctl為trace提供的幫組信息:
LSNRCTL> help trace
trace OFF | USER | ADMIN | SUPPORT [<listener_name>] : set tracing to the specified level
下面是對(duì)參數(shù)的解釋?zhuān)?br>
1)OFF:no trace output;
2)USER:user trace information;
3)ADMIN:administration trace information;
4)SUPPORT:Oracle Support Services trace information
下面開(kāi)啟跟蹤:
LSNRCTL> trace support
正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.74.216.39)(PORT=1521)))
打開(kāi)的跟蹤文件: E:oracleproduct10.2.0db_1
etwork racelistener.trc
命令執(zhí)行成功
查看listener狀態(tài):
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
啟動(dòng)日期 26-9月 -2014 10:35:06
正常運(yùn)行時(shí)間 0 天 0 小時(shí) 31 分 26 秒
跟蹤級(jí)別 support
安全性 ON: Password or Local OS Authentication
SNMP OFF
監(jiān)聽(tīng)程序參數(shù)文件 E:oracleproduct10.2.0db_1
etworkadminlistener.ora
監(jiān)聽(tīng)程序日志文件 E:oracleproduct10.2.0db_1
etworkloglistener.log
監(jiān)聽(tīng)程序跟蹤文件 E:oracleproduct10.2.0db_1
etwork racelistener.trc
監(jiān)聽(tīng)端點(diǎn)概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.74.216.39)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=.pipeEXTPROC0ipc)))
......
在“監(jiān)聽(tīng)程序跟蹤文件”中可以看到跟蹤文件路徑信息:E:oracleproduct10.2.0db_1
etwork racelistener.trc。
可以通過(guò)下面的命令查詢(xún)跟蹤文件名:
LSNRCTL> show trc_file
正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.74.216.39)(PORT=1521)))
LISTENER 參數(shù) "trc_file" 設(shè)為 listener.trc
命令執(zhí)行成功
查看跟蹤級(jí)別:
LSNRCTL> show trc_level
正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.74.216.39)(PORT=1521)))
LISTENER 參數(shù) "trc_level" 設(shè)為 support
命令執(zhí)行成功
修改跟蹤文件名:
LSNRCTL> set trc_file 'lylistener.trc'
正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.74.216.39)(PORT=1521)))
LISTENER 參數(shù) "trc_file" 設(shè)為 lylistener.trc
命令執(zhí)行成功
注意修改跟蹤文件名后跟蹤將被關(guān)閉,需要重新設(shè)置(這里使用set設(shè)置,和使用trace一樣的效果):
LSNRCTL> set trc_level user
正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.74.216.39)(PORT=1521)))
LISTENER 參數(shù) "trc_level" 設(shè)為 user
命令執(zhí)行成功
下面再次查看listener狀態(tài):
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
啟動(dòng)日期 26-9月 -2014 10:35:06
正常運(yùn)行時(shí)間 2 天 0 小時(shí) 8 分 3 秒
跟蹤級(jí)別 user
安全性 ON: Password or Local OS Authentication
SNMP OFF
監(jiān)聽(tīng)程序參數(shù)文件 E:oracleproduct10.2.0db_1
etworkadminlistener.ora
監(jiān)聽(tīng)程序日志文件 E:oracleproduct10.2.0db_1
etworkloglistener.log
監(jiān)聽(tīng)程序跟蹤文件 E:oracleproduct10.2.0db_1
etwork racelylistener.trc
監(jiān)聽(tīng)端點(diǎn)概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.74.216.39)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=.pipeEXTPROC0ipc)))
......
命令執(zhí)行成功
可以看到跟蹤文件名已經(jīng)更改。
為listener設(shè)置密碼保護(hù)
Oracle 10g后,Oracle本地用戶(hù)關(guān)閉listener是不需要口令的,設(shè)置口令主要為了防止:
1)本機(jī)的其他用戶(hù)關(guān)閉listener;
2)遠(yuǎn)程關(guān)閉listener。
下面是具體的方法。
LSNRCTL> change_password
Old password:<輸入原始密碼>
New password:<輸入新密碼>
Reenter new password:<新密碼確認(rèn)>
執(zhí)行成功后你看到:
正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.74.216.39)(PORT=1521)))
LISTENER的口令已更改
命令執(zhí)行成功
接下來(lái),你需要保存配置:
LSNRCTL> save_config
正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.74.216.39)(PORT=1521)))
保存的LISTENER配置參數(shù)。
監(jiān)聽(tīng)程序參數(shù)文件 E:oracleproduct10.2.0db_1
etworkadminlistener.ora
舊的參數(shù)文件E:oracleproduct10.2.0db_1
etworkadminlistener.bak
命令執(zhí)行成功
這樣就為你的listener設(shè)置了密碼保護(hù)。
生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)