重开Oracle监听,问题即解决 (重启oracle数据库监听)

Oracle数据库是企业级应用的首选数据库之一,作为重量级的数据库,可能会遇到一些问题。一旦发生问题,很多情况下只要根据经验和方法去解决便可以解决。其中一个常见的问题就是数据库无法连接,这时候我们需要重开Oracle监听来解决。

一、问题描述

在使用Oracle数据库过程中,我们经常会遇到无法连接数据库的情况,这时候如果我们使用Oracle客户端(如SQLPLUS)尝试连接数据库,通常会得到“ORA-12541: TNS :no listener”的错误提示。这是因为当Oracle数据库实例创建好之后,必须启动监听(Listener)来接收客户端的请求,如果监听没有启动就无法建立连接。所以当我们遇到无法连接数据库的情况时,应该首先检查Oracle数据库的监听服务是否处于启动状态。

二、解决方法

如果发现Oracle数据库的监听服务没有启动,那么需要重新启动监听服务,这个过程也比较简单。

1.先在 Windows 系统中执行“services.msc”指令,打开服务列表,找到Oracle服务(OracleService{数据库实例名})和监听服务(OracleOraDb11g_home1TNSListener),并且将这两个服务的启动模式设置为“自动”。

2.然后打开命令行窗口(以管理员权限运行),输入“lsnrctl”指令,可得到 Oracle 的监听器如下图:

![](https://img-blog.csdn.net/20231115115908341?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RoaWxlemhvbmdfaW1hZ2lj/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/85)

3.输入“lsnrctl stop”命令,停止监听服务,可得到类似下图的提示:

![](https://img-blog.csdn.net/20231115120231121?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RoaWxlemhvbmdfaW1hZ2lj/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/85)

4.然后再输入“lsnrctl start”命令,启动监听服务,如下图所示:

![](https://img-blog.csdn.net/20231115120236763?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RoaWxlemhvbmdfaW1hZ2lj/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/85)

5.这时候如果一切正常,那么连数据库就应该没问题了。

三、注意事项

在重新启动Oracle监听服务之前需要注意以下几点:

1.检查您的防火墙,Oracle数据库和监听器使用的是默认端口,分别是1521和1526,所以需要在防火墙中打开这两个端口。

2.检查Oracle数据库实例的状态,如果数据库实例处于已关闭状态,那么需要先启动数据库实例,然后再启动监听服务。

3.如果在重启Oracle监听服务后仍然无法连接数据库,请检查数据库的IP地址和端口是否正确,或者执行“tnsping {数据库实例名}”指令,检查服务器是否有响应。

综上所述,在使用Oracle数据库时,遇到无法连接数据库的情况,我们可以通过重启Oracle监听服务的方式来解决这个问题。当然,在遇到问题之前,我们应该更加注意数据库的维护,防止问题的发生。


数据运维技术 » 重开Oracle监听,问题即解决 (重启oracle数据库监听)