今天排查一个故障:现象是当ASP.NET通过ORACLECLIENT连接ORACLE数据库时会不规律的在一段时间后,报错:ORA-03114,不能连接到ORACLE.当时觉得是ORACLE服务的故障,所以查询了web服务器与数据库服务器的日志,均没有异常。然后,发现报错时TOAD直接访问数据库OK,故排除数据库问题。
观察IIS,发现其部分WEB工程访问数据库时仍然可用。只有登录入口(即主应用)报错。检查两者区别,发现主应用的数据库连接设置POOL=TRUE,而可用的工程为POOL=FALSE.查询微软的支持,发现IIS连接池是存在一个缺陷,即网络瞬间断连后也不会清空连接池。所以通过命令IISRESET清空连接池后一切OK。
反观问题根源:
1,网络为什么会中断。经过分析:原来web服务器与数据库服务器连接在同一交换机上;而近期调整为分别连接在级联的两个交换机上。所以级联的包在网络拥堵时,出现瞬断的频率高。
2,oracle连接池为什么不能自动清空。IIS在处理上存在缺陷,一直到IIS6仍然未解决此问题。所以现阶段只有两个方法:其一,停止使用连接池。(即不用长连接);其二,做定期IISRESET任务(这样很不负责..)
3,参考了一些其他资料,发现有时这个错误还与CDC有关。记录在下,以备使用:)
参考资料:
故障:PLSQLDev.exe程序和Oracle数据库的CDC功能产生冲突;使用TOAD,OEM等其他客户端工具则不会有以上情况。
故障解决:
DROP TRIGGER sys.cdc_alter_ctable_before;
DROP TRIGGER sys.cdc_create_ctable_after;
DROP TRIGGER sys.cdc_create_ctable_before ;
DROP TRIGGER sys.cdc_drop_ctable_before;
CALL sys.dbms_java.dropjava('-s rdbms/jlib/CDC.jar');
Oracle CDC简介
CDC(Change Data Capture)是oracle在数据库级别实现的增量抽取解决方案。在一般的ETL过程中,对于增量抽取,
无非是在数据上加时间截,全记录比对,关键字段比对,日志分析抽取等几种方法,要么需要修改原表结构,
要么需要大量的算法,要么借助第三方的工具实现。Oracle从9i开始引入的CDC特性,
使得有机会在数据库层面上直接实现增量抽取功能,在性能方面由于和数据库引擎的直接集成,比第三方工具应该具有一定的优势。
CDC有两个模式:同步和异步。两种模式的实现机制是截然不同的。同步CDC主要是采用触发器记录新增数据,基本能够做到实时增量抽取。
而异步CDC则是通过分析已经commit的日志记录来得到增量数据信息,有一定的时间延迟,并且提供了到Oracle Streams的接口。
同步CDC在企业版或者标准版中都可以使用,异步CDC则只包含在企业版中。注意CDC在9i和10g中有了比较大的改变,
异步CDC主要采用了和Streams相同的技术。
CDC中将系统分为两个角色:发布者和订阅者。发布者主要负责捕获增量数据,订阅者则将增量数据传递给实际应用。这些任务都可以通过oracle提供的PL/SQL包实现。
分享到:
相关推荐
1.1 ORA-12571、ORA-03113、ORA-03114、ORA-01041 1. 特征 客户端(代理或应用服务器)有时报这类断连错误。 2. 原因 如果偶尔出现一次,则可能为网络原因或用户异常中止,如果经常出现则为客户端与服务端的字符集不...
使用工具IMPDP导入数据时ORA-39002、ORA-39070错误排查。使用工具IMPDP导入数据时ORA-39002、ORA-39070错误排查 使用工具IMPDP导入数据时ORA-39002、ORA-39070错误排查
ora-03113错误
oracle数据库ora-01152和ora-01110的解决办法
ora-00604 错误 解决 方法 ora-00604 错误 解决 方法 ora-00604 错误 解决 方法 ora-00604 错误 解决 方法 ora-00604 错误 解决 方法ora-00604 错误 解决 方法
Drop goldengate用户时,报ORA-00604 ORA-20782 ORA-06512错误
ORA-01460: 转换请求无法实现或不合理
Oracle 11gr2连Oracle 19c 报ORA-28040 ORA-01017解决方法
oracle网络配置(listener_ora-sqlnet_ora-tnsnames_ora).mht
如果内存块仍然不够满足需求,那么就会出现ORA- 04031错误。这些错误同样可能发生在ASM的实例中。默认的共享池的大小基本能够满足大部分的环境,但是如果遇到ORA-04031错误的时候可能就需要增大。 当遇到这个错误的...
ORACLE ORA-00132 ORA-00214
离线误删空间文件导致的ORA-01033及ORA-01145问题的解决办法,在解决ORA-01033的过程中,又出现ORA-01145 * 第 1 行出现错误: ORA-01145: 除非启用了介质恢复, 否则不允许立即脱机 接着的解决步骤
在运行查询SELECT * FROM V$SESSION 会出现ORA-29275:部分多字节字符的错误,这是什么原因开始我不得其解,网上也没有介绍什么好办法。本文给出答案。
客户端进行连接的时候,系统不定期出现ora-12520,ora-12516的连接问题, 问题解决方案建议: 1、增加process和session的连接数。 2、检查连接的应用,是不是有没有释放的连接。 3、将修改参数local_listener中的vip为...
oracle启动失败,ORA-00702报错,windows,linux系统下解决办法
OGG之ORA-01403案例,包括这个案例所遇到的错误详解,对使用的参数进行了详细的解说
Oracle_ORA-12518故障_处理,希望在此与大家分享,能够在实际的工作中提高解决问题的能力
ORA-20011,ORA06564错误分析
oracle数据库优化之后,报错报错“ora-00838”的处理方法