oracle连接数据库时显示Io 异常: The Network

oracle连接数据库时显示Io 异常: The Network Adapter could not establish the connection
在网上搜索了下解决方案,在CMD中输入
C:\Users\myyit>lsnrctl
LSNRCTL for 64-bit Windows: Version 12.1.0.2.0 - Production on 12-6月 -2018 23:34:06
Copyright (c) 1991, 2014, Oracle. All rights reserved.
欢迎来到LSNRCTL, 请键入"help"以获得信息。
LSNRCTL> status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
TNS-12541: TNS: 无监听程序
TNS-12560: TNS: 协议适配器错误
TNS-00511: 无监听程序
64-bit Windows Error: 61: Unknown error
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-12541: TNS: 无监听程序
TNS-12560: TNS: 协议适配器错误
TNS-00511: 无监听程序
64-bit Windows Error: 2: No such file or directory
LSNRCTL> start
启动tnslsnr: 请稍候...

Unable to OpenSCManager: err=5
TNS-12560: TNS: 协议适配器错误
TNS-00530: 协议适配器错误

以上错误代表我没有监听程序,但是我通过HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleOraDB12Home1TNSListener表里是有ImagePath关键值的,并且关键值的安装目录也确实是C:\Oracle-myz\ZCX\product\12.1.0\dbhome_1\BIN\TNSLSNR。但是我显示的还是错误,还是没有监听值。
请问我这个问题该如何解决才能连接到数据库

https://blog.csdn.net/huacuilaifa/article/details/8020439

tns 配置有误吧

启动监听程序的服务没有?

试着使用admin去运行cmd试一下,然后你是什么系统?oracle是什么版本的?win8是不支持12c,装11g

使用的是plsql吗?

你们公司的数据量库没有配置监听,你就算配置了tns 也连不上,你得问问运维,或者看看DBA,谁配置监听,你个人没权限配置的,只能配置TNS

把数据库比作一个小区,监听就相当于保安,TNS就相当于地址,用户名密码就相当于门禁卡,只不过这个不同的是,要想进一个小区,必须有保安

安装数据库的时候是否连接网络?如果安装时没有连接网络,使用第三方连接工具的时候也不要连接网络。不知是否有用。

一看是数据库的监听器没启动开,监听器配置文件目录,比如:D:\app\user\product\12.1.0\dbhome_1\NETWORK\ADMIN\listener.ora,打开listener.ora文件,将LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.29.119.1)(PORT = 1521))
)
)

ADR_BASE_LISTENER = D:\app\user\product\12.1.0\dbhome_1\log
中iP:172.29.119.1替换为本机ip,然后在我的电脑--管理--服务中找到OracleOraDB12Home1TNSListener这一项,右键手动启开,然后等一两分钟,数据库就通了。技巧,如果ip经常变动,后续要经常修改listenen配置文件,不如将这个文件快捷方式发到桌面,要改了,双击就行

先把防火墙给关闭掉。sqlplus 重启监听服务

看看ORACLE_HOME和ORACLE_SID设置是否正确,set ORACLE_HOME=。。。set ORACLE_SID=orcl之类的_