最近在使用pl/sql deverloper,toad第三方工具來編譯procedure,trigger時,總出現pl/sql developer自動斷開,編譯失敗的情況,重新連接oracle,編譯還是失敗。。。接著alert log就出現了一大堆ORA-07445錯誤,而用sql plus去編譯則沒有問題,編譯順利通過。我推斷應該是oracle和第三個工具兼容的問題,可能是oracle的一個小bug,去metalink看看,果然發現了。。。 環境:Linux as3+oracle9205
報錯信息:
Errors in file /u01/app/oracle/admin/sensky/udump/sensky_ora_656.trc:
ORA-07445: exception encountered: core dump [ptmak()+104] [SIGSEGV] [Address not mapped to object] [0x8] [] []
Metalink的解決辦法:
*** 05/27/03 09:36 am ***
< TAR>: 13819861.6
=========================
< PROBLEM>:
Every time developers debug a pl/sql object through Pl/Sql developer tool run
into following errors
. ORA-07445: exception encountered: core dump [0000000101E9F648] [SIGSEGV]
[Address not mapped to object] [0x000000010] [] []
. =========================
< DIAGNOSTIC ANALYSIS>:
The each trace has same following query referenced
. BEGIN
/* NOP UNLESS A TABLE OBJECT */
IF dictionary_obj_type = \'TABLE\' AND sys.dbms_cdc_publish.active > 0
THEN
sys.dbms_cdc_publish.change_table_trigger(dictionary_obj_owner,dictionary_obj_n
ame,sysevent);
END IF;
END;
.
This query is part of the CDC or "Change Data Capture" feature of Oracle
rdbms.
=========================
< WORKAROUND>:
Run following sql script as SYS user to deinstall CDc objects
.
SQL> @?/rdbms/admin/rmcdc.sql
.
=========================
< RELATED BUGS>:
Bug 2858875 - ORA-7445 WITH SQL NAVIGATOR
Bug 2613832 - GSI 92 -- TTS -- GETTING ORA-7445 WHILE IMPORTING DICTIONARY
...............................................................................
通過sys用戶運行SQL> @?/rdbms/admin/rmcdc.sql ,在使用pl/sql tools編譯存儲過程,觸發器果然是成功通過,唉,這個問題本郁悶我好幾天了。