Oracle Lsnrctl監聽器的啓動和關閉

對於DBA來講,啓動和關閉oracle監聽器是很基礎的任務,可是Linux系統管理員或者程序員有時也須要在開發數據庫中作一些基本的DBA操做,所以瞭解一些基本的管理操做對他們來講很重要。本文將討論用LSNRCTL命令啓動、關閉和查看監聽器的狀態的方法。

一、怎樣啓動、關閉和從新啓動oracle監聽器

在啓動、關閉或者重啓oracle監聽器以前確保使用lsnrctl status命令檢查oracle監聽器的狀態。除了獲得監聽器的狀態以外,你還能夠從lsnrctl status命令的輸出中獲得以下的信息:

》監聽器的啓動時間
》監聽器的運行時間
》監聽器參數文件listener.ora的位置,一般位於$ORACLE_HOME/network/admin目錄下
》監聽器日誌文件的位置

若是oracle監聽器沒用運行,你將獲得以下的信息
$ lsnrctl status

LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 04-APR-2009 16:27:39

Copyright (c) 1991, 2007, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.2)(PORT=1521)))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   Linux Error: 111: Connection refused
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   Linux Error: 2: No such file or directory

若是oracle監聽器正在運行,你將獲得以下信息 程序員

$ lsnrctl status

LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 04-APR-2009 16:27:02

Copyright (c) 1991, 2007, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.2)(PORT=1521)))
STATUS of the LISTENER
————————
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.1.0.6.0 - Production
Start Date                29-APR-2009 18:43:13
Uptime                    6 days 21 hr. 43 min. 49 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/11.1.0/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/devdb/listener/alert/log.xml
Listening Endpoints Summary…
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.2)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
Services Summary…
Service 「devdb」 has 1 instance(s).
  Instance 「devdb」, status UNKNOWN, has 1 handler(s) for this service…
Service 「devdb.thegeekstuff.com」 has 1 instance(s).
  Instance 「devdb」, status READY, has 1 handler(s) for this service…
Service 「devdbXDB.thegeekstuff.com」 has 1 instance(s).
  Instance 「devdb」, status READY, has 1 handler(s) for this service…
Service 「devdb_XPT.thegeekstuff.com」 has 1 instance(s).
  Instance 「devdb」, status READY, has 1 handler(s) for this service…
The command completed successfully

二、啓動oracle監聽器 shell

若是oracle監聽器沒用運行,你能夠用lsnrctl start命令啓動oracle監聽器,該命令將啓動全部的監聽器,若是你只想啓動特定的監聽器,能夠再start後面指定監聽器的名字,例如:lsnrctl start [listener-name]。
$ lsnrctl start

LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 04-APR-2009 16:27:42

Copyright (c) 1991, 2007, Oracle.  All rights reserved.

Starting /u01/app/oracle/product/11.1.0/bin/tnslsnr: please wait…

TNSLSNR for Linux: Version 11.1.0.6.0 - Production
System parameter file is /u01/app/oracle/product/11.1.0/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/devdb/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.2)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.2)(PORT=1521)))
STATUS of the LISTENER
————————
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.1.0.6.0 - Production
Start Date                04-APR-2009 16:27:42
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/11.1.0/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/devdb/listener/alert/log.xml
Listening Endpoints Summary…
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.2)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
Services Summary…
Service 「devdb」 has 1 instance(s).
  Instance 「devdb」, status UNKNOWN, has 1 handler(s) for this service…
The command completed successfully

三、關閉oracle監聽器 數據庫

若是oracle監聽器正在運行,可使用lsnrctl stop命令關閉oracle監聽器,該命令將關閉全部的監聽器,若是你只想關閉特定的監聽器,能夠再stop後面指定監聽器的名字,例如:lsnrctl stop [listener-name]
$ lsnrctl stop

LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 04-APR-2009 16:27:37

Copyright (c) 1991, 2007, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.2)(PORT=1521)))
The command completed successfully

四、重啓oracle監聽器 oracle

用lsnrctl reload重啓監聽器,此命令能夠代替lsnrctl stop和lsnrctl start。重啓將會在不須要關閉和啓動監聽器的狀況下讀取listener.ora的配置。
$ lsnrctl reload

LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 04-APR-2009 17:03:31

Copyright (c) 1991, 2007, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.2)(PORT=1521)))
The command completed successfully

五、Oracle監聽器幫助 app

1. 查看全部的監聽器命令

lsnrctl hep 命令能夠顯示全部可用的監聽器命令。在oracle11g中其輸出以下:

start - Start the Oracle listener
stop - Stop the Oracle listener
status - Display the current status of the Oracle listener
services - Retrieve the listener services information
version - Display the oracle listener version information
reload - This will reload the oracle listener SID and parameter files. This is equivalent to lsnrctl stop and lsnrctl start.
save_config - This will save the current settings to the listener.ora file and also take a backup of the listener.ora file before overwriting it. If there are no changes, it will display the message 「No changes to save for LISTENER」
trace - Enable the tracing at the listener level. The available options are ‘trace OFF’, ‘trace USER’, ‘trace ADMIN’ or ‘trace SUPPORT’
spawn - Spawns a new with the program with the spawn_alias mentioned in the listener.ora file
change_password - Set the new password to the oracle listener (or) change the existing listener password.
show - Display log files and other relevant listener information.
$ lsnrctl help

LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 04-APR-2009 16:12:09

Copyright (c) 1991, 2007, Oracle.  All rights reserved.

The following operations are available
An asterisk (*) denotes a modifier or extended command:

start               stop                status
services            version             reload
save_config         trace               spawn
change_password     quit                exit
set*                show*

2. 獲得指定監聽器命令的詳細幫助信息 tcp

可使用lsnrctl help獲得指定的命令的詳細幫助信息。以下所示
$ lsnrctl help show

LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 04-APR-2009 16:22:28

Copyright (c) 1991, 2007, Oracle.  All rights reserved.

The following operations are available after show
An asterisk (*) denotes a modifier or extended command:

rawmode                     displaymode
rules                       trc_file
trc_directory               trc_level
log_file                    log_directory
log_status                  current_listener
inbound_connect_timeout     startup_waittime
snmp_visible                save_config_on_stop
dynamic_registration
相關文章
相關標籤/搜索