ORA-03114 plsql编译 断开连接

Oracle数据库对象无效,通过PLSQL Developer程序进行包编译,报ORA-03114:连接数据库失败错误。

Oracle DB版本:9.2.0.1


原因

PLSQL Developer程序和Oracle数据库的CDC功能产生冲突;使用TOAD,OEM等其他客户端工具则不会有以上情况。


方案

DROPTRIGGER sys.cdc_alter_ctable_before;
DROPTRIGGER sys.cdc_create_ctable_after;
DROPTRIGGER sys.cdc_create_ctable_before ;
DROPTRIGGER 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包实现。


oracle信息:
ORA-03114 not connected to ORACLE Cause:
  A call to  Oracle was attempted when no connection was established.
Usually this happens  because a user-written program has not logged on.
It may happen if  communication trouble causes a disconnection. In addition,
this message could  occur when ALTER SYSTEM KILL SESSION or ALTER SYSTEM DISCONNECT SESSION
were  issued with the IMMEDIATE qualifier because, in those cases, the client's  connection to the database is
terminated without waiting for the client to  issue a request. Action: Try again. If the message recurs
and the program is  user written, check the program


你可能感兴趣的:(plsql编译断开,ORA-03114,plsql编译未连接)