问题出现原因2个:
前提:服务器oracle服务和监听服务均正常启动但仍报错。
1. 监听日志过大(超过4G):
trace 日志目录:..\Oracle11gDB\diag\tnslsnr\SC-201703152226\listener\trace\listener.log
如果监听日志过大,超过4G,数据库会出现各种问题,包括监听启动慢、PLsql连接慢、外部需连接数据库应用系统反应慢等问题,处理时可直接重命名listener.log为listener_bak.log(需先关闭服务),重启监听时会重新生成一个新的listener.log文件。
如果直接删除或重命名后,监听启动失败,可进行以下操作清除日志:
[1]DOS命令下 lsnrctl ,进入监听控制界面
[2]show log_status --查看监听日志状态
[3]set log_status off --关闭监听日志
[4]stop --关闭监听(否则listener.log因正在使用而无法修改)
[5]删除之前的日志listener.log 或重命名listener.log 为listener_bak.log
[6]start --启动监听
[7]set log_status on --开启监听日志
2. 需配置 ..\Oracle11gDB\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora监听配置文件:
添加以上红框中的内容,SID_NAME = ORCL中的ORCL为我自己的服务名,如下:
(SID_DESC = (GLOBAL_DBNAME = ORCL) (ORACLE_HOME = H:\programsetup2018\Oracle11gDB\product\11.2.0\dbhome_1) (SID_NAME = ORCL) )修改完以上配置文件,重启Oracle服务和监听服务即可。