2022-11-12 15:09:49
处理PL/SQL登录显示ORA-12541:TNS:无监听程序的方法
当使用PL/SQL登录Oracle数据库时,如果遇到“ORA-12541:TNS:无监听程序”的错误,这通常意味着Oracle的监听服务没有正确运行。以下是两种解决此问题的方法:
方法一:使用Net Configuration Assistant重新配置监听程序
查找Net Configuration Assistant:
在Windows系统中,可以通过“开始”菜单搜索“Net Configuration Assistant”,它通常位于Oracle的安装目录下的“Network Configuration”文件夹中。
重新配置监听程序:
打开Net Configuration Assistant后,选择“监听程序配置”选项。
按照向导的提示,选择“添加”一个新的监听程序或“配置”现有的监听程序。
根据需要设置监听程序的名称、端口号以及监听的服务名等参数。
完成配置后,Net Configuration Assistant会自动更新相关的配置文件(如listener.ora)。
注意:虽然这种方法提供了图形化的配置界面,但实质上它是对Oracle下的product的network的listener.ora文件进行更改。如果这种方法未能解决问题,可能需要手动编辑listener.ora文件或检查其他配置。
方法二:检查并启动Oracle相关服务
打开服务管理器:
按住Win+R键,输入services.msc,打开服务管理器。
检查并启动以下服务:
OracleServiceORCL(必须启动):
这是Oracle数据库服务(数据库实例),是Oracle核心服务。该服务是数据库启动的基础,只有该服务启动,Oracle数据库才能正常启动。
OracleOraDb11g_home1TNSListener(必须启动):
这是监听器服务,服务只有在数据库需要远程访问时,或者使用PL/SQL Developer等第三方工具时才需要。如果此服务未启动,则会导致ORA-12541错误。
其他非必须启动的服务(如Oracle ORCL VSS Writer Service、OracleDBConsoleorcl、OracleJobSchedulerORCL、OracleMTSRecoveryService等):
这些服务通常不是必需的,但在特定情况下(如使用Enterprise Manager、作业调度等)可能需要启动。
启动服务:
在服务管理器中,找到上述必须启动的服务,如果它们的状态为“已停止”,则右键点击服务名称,选择“启动”或“属性”中的“启动”按钮来启动服务。
验证服务状态:
启动服务后,回到服务管理器中检查这些服务的状态是否已变为“正在运行”。
示例图片:
(以下图片展示了如何在服务管理器中查找并启动Oracle相关服务)





通过以上步骤,你应该能够解决PL/SQL登录时遇到的ORA-12541错误。如果问题仍然存在,可能需要进一步检查listener.ora和tnsnames.ora文件的配置,或查看Oracle的日志文件以获取更多错误信息。