Oracle數據庫 ora-03114:未連接數據庫

Ora-03114:未連接數據庫

現象: 在使用pl/sql developer編譯時總是報 Ora-03114:未連接數據庫。

解決方法:  去掉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包實現。

 

官方文檔說明:
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.

----end----

 

或許可以一試:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章