使用PL/SQL Developer 连接Oracle时报错ORA-12541: TNS: 无监听程序
2018-02-04 00:23
776 查看
最近在本地安装了个Oracle11g,在用PL/SQL Developer 连接时Oracle数据库时报错:ORA-12541: TNS: 无监听程序。如下图。
具体做法:开始->控制面板->管理工具->服务,找到OracleOraDb1g_home1TNSListener后,点击左侧“启动”,或在该服务上右键,点击“启动”,看到该服务对应“状态”一列显示“已启动”即将其启动完毕。再去PL/SQL Developer登录,连接成功!
如下图,因为我电脑上的OracleOraDb1g_home1TNSListener服务是手动的,每次启电脑时后,要手动将其启动,如果不想每次手动启动该服务,也可以将其“启动类型“改为”自动“,但这样做的弊端是会增加启动电脑时的耗时。
其实这个问题也可以使用命令方式解决:
win+R键,在打开的输入框中输入”cmd“(即命令行程序/commander),即可打开Windows系统的命令行程序。我们可用lsnrctl status命令查看监听器的状态。如果与下图中显示的报错相同的话,就是监听器处于停止状态。
那么就可以用lsnrctl
start命令启动监听器了。在下图中的启动信息中,我们可以看到监听程序的参数信息文件,也就是启动监听程序(在服务启动或用lsnrctl start命令)时要读取的相关配置信息,包括ip和端口号等。
执行到这,可以去方法1中的服务去看下,OracleOraDb1g_home1TNSListener已经是”已启动“状态了。
打开任务管理器,可以看到其进程正在运行。如下图。
双击运行它(如下图),在打开的LSNRCTL命令行界面输入status来查看监听状态,输入 start来启动监听,输入
stop 来关闭监听。
查看监听状态, start 启动监听, stop 关闭监听),系统参数文件listener.ora(在%ORACLE_HOME%\product\11.2.0\dbhome_1\NETWORK\ADMIN目录下),命令LSNRCTL(lsnrctl
status 查看监听状态,lsnrctl start 启动监听,lsnrctl stop 关闭监听),控制台LSNRCTL.EXE。
打开Net Manager的界面如下图。上边显示栏的路径可以看出,Net Manager对应的是%ORACLE_HOME%\product\11.2
adae
.0\dbhome_1\NETWORK\ADMIN目录下的参数文件,展开树形节点”本地“后,看到的”监听程序”,对应的即是系统参数文件listener.ora,用来配置一个或多个监听程序的。也就是说Net
Manager是listener.ora文件的一个图形化配置程序。
选中“监听程序”,可以点击工具栏的“+”号创建监听程序;选中某个监听程序,可以点击工具栏的“X”号删除此监听程序。下图中可以看到已经存在一个监听程序。
点击此监听程序查看其详细信息如下图。
对应listener.ora文件中的
原因1:监听程序没启动
解决方法1:
然后会在网上搜到解决办法:启动服务OracleOraDb1g_home1TNSListener。具体做法:开始->控制面板->管理工具->服务,找到OracleOraDb1g_home1TNSListener后,点击左侧“启动”,或在该服务上右键,点击“启动”,看到该服务对应“状态”一列显示“已启动”即将其启动完毕。再去PL/SQL Developer登录,连接成功!
如下图,因为我电脑上的OracleOraDb1g_home1TNSListener服务是手动的,每次启电脑时后,要手动将其启动,如果不想每次手动启动该服务,也可以将其“启动类型“改为”自动“,但这样做的弊端是会增加启动电脑时的耗时。
解决方法2:
其实这个问题也可以使用命令方式解决:win+R键,在打开的输入框中输入”cmd“(即命令行程序/commander),即可打开Windows系统的命令行程序。我们可用lsnrctl status命令查看监听器的状态。如果与下图中显示的报错相同的话,就是监听器处于停止状态。
那么就可以用lsnrctl
start命令启动监听器了。在下图中的启动信息中,我们可以看到监听程序的参数信息文件,也就是启动监听程序(在服务启动或用lsnrctl start命令)时要读取的相关配置信息,包括ip和端口号等。
执行到这,可以去方法1中的服务去看下,OracleOraDb1g_home1TNSListener已经是”已启动“状态了。
打开任务管理器,可以看到其进程正在运行。如下图。
解决方法3:
我们还可以到oracle安装目录%ORACLE_HOME%\product\11.2.0\dbhome_1\BIN下找到监听程序TNSLSNR.EXE,如下图。双击运行它(如下图),在打开的LSNRCTL命令行界面输入status来查看监听状态,输入 start来启动监听,输入
stop 来关闭监听。
总结:
OracleOraDb1g_home1TNSListener是监听器服务,服务进程为TNSLSNR.EXE,监听程序TNSLSNR.EXE(在%ORACLE_HOME%\product\11.2.0\dbhome_1\BIN目录下, status查看监听状态, start 启动监听, stop 关闭监听),系统参数文件listener.ora(在%ORACLE_HOME%\product\11.2.0\dbhome_1\NETWORK\ADMIN目录下),命令LSNRCTL(lsnrctl
status 查看监听状态,lsnrctl start 启动监听,lsnrctl stop 关闭监听),控制台LSNRCTL.EXE。
原因2:监听程序没配置或没有正确配置
监听程序配置方法如下。
开始->所有程序->Oracle-OraDb11g_home1->配置和移植工具->Net Manager打开Net Manager的界面如下图。上边显示栏的路径可以看出,Net Manager对应的是%ORACLE_HOME%\product\11.2
adae
.0\dbhome_1\NETWORK\ADMIN目录下的参数文件,展开树形节点”本地“后,看到的”监听程序”,对应的即是系统参数文件listener.ora,用来配置一个或多个监听程序的。也就是说Net
Manager是listener.ora文件的一个图形化配置程序。
选中“监听程序”,可以点击工具栏的“+”号创建监听程序;选中某个监听程序,可以点击工具栏的“X”号删除此监听程序。下图中可以看到已经存在一个监听程序。
点击此监听程序查看其详细信息如下图。
对应listener.ora文件中的
LISTENER = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) )
相关文章推荐
- 使用PL/SQL连接Oracle时报错ORA-12541: TNS: 无监听程序
- 使用PL/SQL连接Oracle时报错ORA-12541: TNS: 无监听程序
- 用PL/SQL Developer(远程)连接Oracle 11g时报错“ORA-12541: TNS: 无监听程序”,解决办法
- 解决PL/SQL Developer连接数据库时出现 “ORA-12541:TNS:无监听程序”错误。
- 使用PL/SQL Developer 登录时报"ora 12541 tns 无监听程序"错误,但使用SqlPlus登录时能够正常登陆
- 使用PLSql连接Oracle时报错ORA-12541: TNS: 无监听程序
- 使用PLSql连接Oracle时报错ORA-12541: TNS: 无监听程序
- PL/sql developer登录oracle数据 报 “ora-12541:TNS:无监听程序”错误
- 使用PLSql连接Oracle时报错ORA-12541: TNS: 无监听程序
- 使用PLSql连接Oracle时报错ORA-12541: TNS: 无监听程序
- 使用PL/SQL Developer登录oracle数据库时,提示 ORA-12541:TNS:无监听程序的解决方案。
- 解决PL/SQL Developer连接数据库时出现 “ORA-12541:TNS:无监听程序”错误
- 解决PL/SQL Developer连接数据库时出现 “ORA-12541:TNS:无监听程序”错误。
- 使用PLSql连接Oracle时报错ORA-12541: TNS: 无监听程序
- 用pl/sql连接本地数据库时报ORA-12541:TNS:无监听程序
- 解决PL/SQL Developer连接数据库时出现 “ORA-12541:TNS:无监听程序”错误。
- 使用PLSql连接Oracle时报错ORA-12541: TNS: 无监听程序
- PL/SQL Developer结合oracle精简客户端使用配置错误代码ORA-12154: TNS: 无法解析指定的连接标识符
- PL/SQL 连接oracle数据库老报ora-12541:TNS:无监听程序
- PL/SQL Developer登录提示 ORA-12541:TNS:无监听程序