故障现象:
服务器本机使用sqlplus / as sysdba可以登录,数据库可以正常使用;但使用sqlplus sys/密码@orcl无法登录,长时间无响应,不显示成功,也不显示失败,卡住不动,各种WEB应用、TOAD/sqldeveloper等工具都无法连接。
使用lsnrctl status查看监听状态,也是长时间不响应。
使用Windows的服务管理功能,启动、关闭监听,都能顺利完成,很有迷惑性。
注:Windows平台、Oracle92
解决过程:
明显属于监听的问题,在服务管理里重启监听,故障依旧。看一下Oracle的告警日志,没有发现问题,再看一下监听的日志(%ORACLE_HOME%\network\log目录中),Oracle使用多年,发现日志已经超过2G了,应该是日志过大的缘故。关闭监听、数据库服务,删除监听日志,重启服务,问题解决。
网上查了一下原因,这个问题似乎是Oracle的一个BUG,当服务器设置了IP鉴权,Oracle存在内存泄露的BUG,会引发这个问题。参见:http://www.oracleblog.org/working-case/lsnr-hang-after-set-validnode_checking/
以上描述确实跟我的情况一致,我在sqlnet.ora中设置了tcp.validnode_checking=yes,并设置了几个允许的IP;查看一下listener.log内容,日志是积累了较多的TNS-00516拒绝许可后,密集出现海量的TNS-01168错误(无法分配内存),导致日志迅速超过2G,两个角度验证。可以确认问题的原因就是BUG导致。
似乎用这样一个方法可以关闭监听日志,本人没有验证。
启动lsnrctl,进行交互模式,输入以下命令:
LSNRCTL>set log_status OFF
LSNRCTL>save_config
分享到:
相关推荐
JDBC连接Oracle数据库常见问题及解决方法
Oracle R2DBC驱动程序是一个Java库,支持使用Oracle数据库进行React式编程。 Oracle R2DBC实现了Reactive Relational Database Connectivity(R2DBC)项目指定的R2DBC服务提供者接口(SPI)。 R2DBC SPI将响应流...
§1.1 Oracle数据库结构 23 §1.1.1 Oracle数据字典 23 §1.1.2 表空间与数据文件 24 §1.1.3 Oracle实例(Instance) 24 §1.2 Oracle文件 26 §1.2.1 数据文件 26 §1.2.2 控制文件 26 §1.2.3 重做日志文件 26 §...
现阶段企业所使用的数据库管理系统的种类 MS SQL SYBASE DB2 ORACLE MySQL ACCESS VF 选择原则 选择数据库管理系统时应从以下几个方面予以考虑: (1) 构造数据库的难易程度。 需要分析数据库管理系统有没有范式的...
C#Client SDK v6.1.1-用户指南 2021年3月,10日 AceQL C#客户端SDK安装 资料传输 运输形式 内容流和内存管理 快速响应时间的最佳做法 实施信息 AceQL SDK类和方法异步实现 ...访问远程数据库的主要属性
数据库连接池 阿里的 druid。Druid在监控、可扩展性、稳定性和性能方面都有明显的优势,支持并发 10.加入安全框架 shiro (登录授权)(session管理) 11.根据汉字 解析汉字的全拼(拼音)和首字母(导入excel到用户表,...
配置 Oracle 数据库以便进行配置日志记录 151 设置“配置日志记录”属性 151 设置“配置日志记录”属性 151 委派“配置日志记录”管理 152 使用配置日志 152 查看“配置日志记录”属性 152 查看“配置日志记录”属性...
需要监控weblogic的连接等待情况,此时需要增加acceptBacklog,每次增加25%来提高看是否解决,同时还需要增加连接池和调整执行线程数,(连接池数*Statement Cache Size)的值应该小于等于oracle数据库连接数最大值...
反向生成: 任意连接其它数据库(mysql、oracle、sqlserver),根据表反射生成本系统的模块 10. 性能监控:监控整个系统的性能,SQL监控,SQL防火墙,URL监控,SPRING监控,SESSION监控等 11. 接口测试:POST or GET ...
Oracle数据库工具 WARTS WARTS是一个纯Java数据库工具,可以执行字符编码识别的数据同步。开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是...
15.3.1 数据库服务器的连接与断开 241 15.3.2 选择数据库 242 15.3.3 执行SQL语句 242 15.3.4 获得查询结果集中的记录数 243 15.3.5 获得结果集中的某一条记录 244 15.3.6 逐行获取结果集中的每一条 15.3.6 记录 245...
Oracle数据库工具 WARTS WARTS是一个纯Java数据库工具,可以执行字符编码识别的数据同步。开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是...
Oracle数据库工具 WARTS WARTS是一个纯Java数据库工具,可以执行字符编码识别的数据同步。开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是...
Oracle数据库工具 WARTS WARTS是一个纯Java数据库工具,可以执行字符编码识别的数据同步。开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是...
Oracle数据库工具 WARTS WARTS是一个纯Java数据库工具,可以执行字符编码识别的数据同步。开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是...
Oracle数据库工具 WARTS WARTS是一个纯Java数据库工具,可以执行字符编码识别的数据同步。开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是...
Oracle数据库工具 WARTS WARTS是一个纯Java数据库工具,可以执行字符编码识别的数据同步。开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是...
Oracle数据库工具 WARTS WARTS是一个纯Java数据库工具,可以执行字符编码识别的数据同步。开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是...
Oracle数据库工具 WARTS WARTS是一个纯Java数据库工具,可以执行字符编码识别的数据同步。开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是...
Oracle数据库工具 WARTS WARTS是一个纯Java数据库工具,可以执行字符编码识别的数据同步。开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是...