首页 > 代码库 > Oracle LSNRCTL------监听器的启动和关闭

Oracle LSNRCTL------监听器的启动和关闭

对于DBA来说,启动和关闭oracle监听器是很基础的任务,但是Linux系统管理员或者程序员有时也需要在开发数据库中做一些基本的DBA操作,因此了解一些基本的管理操作对他们来说很重要。

      本文将讨论用LSNRCTL命令启动、关闭和查看监听器的状态的方法。

 

怎样启动、关闭和重新启动oracle监听器

在启动、关闭或者重启oracle监听器之前确保使用lsnrctl status命令检查oracle监听器的状态。除了得到监听器的状态之外,你还可以从lsnrctl status命令的输出中得到如下的信息:

  • 监听器的启动时间
  • 监听器的运行时间
  • 监听器参数文件listener.ora的位置,通常位于$ORACLE_HOME/network/admin目录下
  • 监听器日志文件的位置

 

如果oracle监听器没用运行,你将得到如下的信息

[c-sharp] view plaincopy
  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  

 

如果oracle监听器正在运行,你将得到如下信息

[c-sharp] view plaincopy
  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  

 

2.启动oracle监听器

如果oracle监听器没用运行,你可以用lsnrctl start命令启动oracle监听器,该命令将启动所有的监听器,如果你只想启动特定的监听器,可以再start后面指定监听器的名字,例如:lsnrctl start [listener-name]。

[c-sharp] view plaincopy
  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  

 

3.关闭oracle监听器

如果oracle监听器正在运行,可以使用lsnrctl stop命令关闭oracle监听器,该命令将关闭所有的监听器,如果你只想关闭特定的监听器,可以再stop后面指定监听器的名字,例如:lsnrctl stop [listener-name]

[c-sharp] view plaincopy
  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  

 

4.重启oracle监听器

用lsnrctl reload重启监听器,此命令可以代替lsnrctl stop和lsnrctl start。重启将会在不需要关闭和启动监听器的情况下读取listener.ora的配置。

[c-sharp] view plaincopy
  1. $ lsnrctl reload  
  2.   
  3. LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 04-APR-2009 17:03:31  
  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  

 

Oracle监听器帮助

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.

 

[c-sharp] view plaincopy
  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*  

 

2.得到指定监听器命令的详细帮助信息

可以使用lsnrctl help得到指定的命令的详细帮助信息。如下所示

[c-sharp] view plaincopy
  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  

 

Oracle LSNRCTL------监听器的启动和关闭