oracle 服务端安装在Windows上
检查监听lsnrctl status报错如下

检查listener.ora文件,在$ORACLE_HOME\network\admin下
可以使用 echo %ORACLE_HOME% 查看ORACLE安装位置及ORACLE_BASE

解决过程,netca重建listener2监听,端口1251
网络检查ipconfig /all
ping 132.147.1.70
select status from v$instance;
select open_mode from v$database;
都没有问题
cmd下运行 services.msc打开服务

重启监听服务,问题依旧
有朋友说检查一下监听日志,超过4G也会报这个错误
由于lsnrctl status看不到监听日志内容
监听日志位置
1 打开Windows环境变量可以查看 ORACLE_HOME(或者通过 echo %ORACLE_HOME%找到)
2 或者先通过show parameter dump找到$ORACLE_BASE位置
监听日志在$ORACLE_BASE\diag\tnslsnr\hostname\listener\trace\listener.log
查看日志大小1G,没有超过4G大小,所以排除日志大小问题
最后解决办法
1 尝试重启数据库,
shutdown immediate
startup
再启动查看监听,报错依旧
2 再次查看监听文件
参照这个连接检查注册表也没有问题https://www.cnblogs.com/xielong/p/18061556
参照下面这个连接 https://www.php.cn/faq/829960.html
发现自己这个监听日志文件listener.ora的sid_name如下

显然和服务器的oracle_sid(jhemer)不符

----
修改监听日志文件,重新启动依然不行,然后重启Windows主机
--楼下抽支烟上来,主机启动好了,检查oracle实例自动启动,手工启动监听,lsnrctl start,
正常了
.........十分不易