ORA-03114 plsql過程編譯斷開連線錯誤

perry_shi發表於2008-06-17

Oracle資料庫物件無效,通過PLSQLDev.exe程式進行包編譯;報ORA-03114:連線資料庫失敗錯誤.

Oracle DB版本:9.2.0.1

故障原因: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包實現。

 

以下是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

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/127656/viewspace-350544/,如需轉載,請註明出處,否則將追究法律責任。

相關文章