上网尝试了很多方法,网上列举的以下常见方法对于我来说无效,且均正常。
1、先检查网络是否能ping通,下图网络状态是正确的。

2、查看服务器监听服务是否启动

3、cmd -》 tnsping ip地址(或者是服务器的实例名SID)如果报“TNS-12535:操作超时”,可能是服务器端防火墙 没有关闭

4、cmd -》 netstat -na 查看1521端口是否关闭,或者将1521端口设为例外

5、cmd-》 lsnrctl status 查看监听的状态

图中出现监听不支持服务等,基本可以确定D:\oracle\product\10.2.0\db_1\network\admin\listener.ora文件或者tnsnames.ora文件中出现问题
listener.ora文件存在如下代码:
这段代码中HOST是否是你的主机名或者IP,如果不是请修改到对应的主机名和IP 或者localhost

# listener.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\network\admin\listener.ora# Generated by Oracle configuration tools.SID_LIST_LISTENER =  (SID_LIST =    (SID_DESC =      (SID_NAME = PLSExtProc)      (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)      (PROGRAM = extproc)    )  )LISTENER =  (DESCRIPTION_LIST =    (DESCRIPTION =      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))    )  )

tnsnames.ora文件
这段代码中HOST是否是你的主机名或者IP,如果不是请修改到对应的主机名和IP 或者localhost

# tnsnames.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora# Generated by Oracle configuration tools.LISTENER_ORCL =  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))ORCL =  (DESCRIPTION =    (ADDRESS = (PROTOCOL = TCP)(HOST =localhost)(PORT = 1521))    (CONNECT_DATA =      (SERVER = DEDICATED)      (SERVICE_NAME = orcl)    )  )EXTPROC_CONNECTION_DATA =  (DESCRIPTION =    (ADDRESS_LIST =      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))    )    (CONNECT_DATA =      (SID = PLSExtProc)      (PRESENTATION = RO)    )  )

6、我自己解决的

重启如下图所示的两个服务 问题解决