對於DBA來說,啟動和關閉oracle監聽器是很基礎的任務,但是Linux系統管理員或者程序員有時也需要在開發數據庫中做一些基本的DBA操作,因此了解一些基本的管理操作對他們來說很重要。
本文將討論用LSNRCTL命令啟動、關閉和查看監聽器的狀態的方法。
在啟動、關閉或者重啟oracle監聽器之前確保使用
lsnrctl status (listener control 監聽控制的簡拼)
命令檢查oracle監聽器的狀態。除了得到監聽器的狀態之外,你還可以從lsnrctl status命令的輸出中得到如下的信息:
監聽器的啟動時間
監聽器的運行時間
監聽器參數文件listener.ora的位置,通常位於$ORACLE_HOME/network/admin目錄下
監聽器日志文件的位置
1.如果oracle監聽器沒用運行,你將得到如下的信息
- 1. $ lsnrctl status
- 2.
- 3. LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 04-APR-2009 16:27:39
- 4.
- 5. Copyright (c) 1991, 2007, Oracle. All rights reserved.
- 6.
- 7. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.2)(PORT=1521)))
- 8. TNS-12541: TNS:no listener
- 9. TNS-12560: TNS:protocol adapter error
- 10. TNS-00511: No listener
- 11. Linux Error: 111: Connection refused
- 12. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
- 13. TNS-12541: TNS:no listener
- 14. TNS-12560: TNS:protocol adapter error
- 15. TNS-00511: No listener
- 16. Linux Error: 2: No such file or directory
2.如果oracle監聽器正在運行,你將得到如下信息
- 1. $ lsnrctl status
- 2.
- 3. LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 04-APR-2009 16:27:02
- 4.
- 5. Copyright (c) 1991, 2007, Oracle. All rights reserved.
- 6.
- 7. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.2)(PORT=1521)))
- 8. STATUS of the LISTENER
- 9. ————————
- 10. Alias LISTENER
- 11. Version TNSLSNR for Linux: Version 11.1.0.6.0 - Production
- 12. Start Date 29-APR-2009 18:43:13
- 13. Uptime 6 days 21 hr. 43 min. 49 sec
- 14. Trace Level off
- 15. Security ON: Local OS Authentication
- 16. SNMP OFF
- 17. Listener Parameter File /u01/app/oracle/product/11.1.0/network/admin/listener.ora
- 18. Listener Log File /u01/app/oracle/diag/tnslsnr/devdb/listener/alert/log.xml
- 19. Listening Endpoints Summary…
- 20. (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.2)(PORT=1521)))
- 21. (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
- 22. Services Summary…
- 23. Service “devdb” has 1 instance(s).
- 24. Instance “devdb”, status UNKNOWN, has 1 handler(s) for this service…
- 25. Service “devdb.thegeekstuff.com” has 1 instance(s).
- 26. Instance “devdb”, status READY, has 1 handler(s) for this service…
- 27. Service “devdbXDB.thegeekstuff.com” has 1 instance(s).
- 28. Instance “devdb”, status READY, has 1 handler(s) for this service…
- 29. Service “devdb_XPT.thegeekstuff.com” has 1 instance(s).
- 30. Instance “devdb”, status READY, has 1 handler(s) for this service…
- 31. The command completed successfully
3.啟動oracle監聽器
如果oracle監聽器沒用運行,你可以用lsnrctl start命令啟動oracle監聽器,該命令將啟動所有的監聽器,如果你只想啟動特定的監聽器,可以再start后面指定監聽器的名字,例如:lsnrctl start [listener-name]
- 1. $ lsnrctl start
- 2.
- 3. LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 04-APR-2009 16:27:42
- 4.
- 5. Copyright (c) 1991, 2007, Oracle. All rights reserved.
- 6.
- 7. Starting /u01/app/oracle/product/11.1.0/bin/tnslsnr: please wait…
- 8.
- 9. TNSLSNR for Linux: Version 11.1.0.6.0 - Production
- 10. System parameter file is /u01/app/oracle/product/11.1.0/network/admin/listener.ora
- 11. Log messages written to /u01/app/oracle/diag/tnslsnr/devdb/listener/alert/log.xml
- 12. Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.2)(PORT=1521)))
- 13. Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
- 14.
- 15. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.2)(PORT=1521)))
- 16. STATUS of the LISTENER
- 17. ————————
- 18. Alias LISTENER
- 19. Version TNSLSNR for Linux: Version 11.1.0.6.0 - Production
- 20. Start Date 04-APR-2009 16:27:42
- 21. Uptime 0 days 0 hr. 0 min. 0 sec
- 22. Trace Level off
- 23. Security ON: Local OS Authentication
- 24. SNMP OFF
- 25. Listener Parameter File /u01/app/oracle/product/11.1.0/network/admin/listener.ora
- 26. Listener Log File /u01/app/oracle/diag/tnslsnr/devdb/listener/alert/log.xml
- 27. Listening Endpoints Summary…
- 28. (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.2)(PORT=1521)))
- 29. (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
- 30. Services Summary…
- 31. Service “devdb” has 1 instance(s).
- 32. Instance “devdb”, status UNKNOWN, has 1 handler(s) for this service…
- 33. The command completed successfully
4.關閉oracle監聽器
如果oracle監聽器正在運行,可以使用lsnrctl stop命令關閉oracle監聽器,該命令將關閉所有的監聽器,如果你只想關閉特定的監聽器,可以再stop后面指定監聽器的名字,例如:lsnrctl stop [listener-name]
- 1. $ lsnrctl stop
- 2.
- 3. LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 04-APR-2009 16:27:37
- 4.
- 5. Copyright (c) 1991, 2007, Oracle. All rights reserved.
- 6.
- 7. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.2)(PORT=1521)))
- 8. The command completed successfully
5.重啟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監聽器幫助
出如下:
nrctl 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.
- 1. $ lsnrctl help
- 2.
- 3. LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 04-APR-2009 16:12:09
- 4.
- 5. Copyright (c) 1991, 2007, Oracle. All rights reserved.
- 6.
- 7. The following operations are available
- 8. An asterisk (*) denotes a modifier or extended command:
- 9.
- 10. start stop status
- 11. services version reload
- 12. save_config trace spawn
- 13. change_password quit exit
- 14. set* show*
.
得到指定監聽器命令的詳細幫助信息
可以使用lsnrctl help得到指定的命令的詳細幫助信息。如下所示
- 1. $ lsnrctl help show
- 2.
- 3. LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 04-APR-2009 16:22:28
- 4.
- 5. Copyright (c) 1991, 2007, Oracle. All rights reserved.
- 6.
- 7. The following operations are available after show
- 8. An asterisk (*) denotes a modifier or extended command:
- 9.
- 10. rawmode displaymode
- 11. rules trc_file
- 12. trc_directory trc_level
- 13. log_file log_directory
- 14. log_status current_listener
- 15. inbound_connect_timeout startup_waittime
- 16. snmp_visible save_config_on_stop
- 17. dynamic_registration
