oracle触发器导致ORA-03113错误

场景:使用dblink加触发器同步两个库的数据,源数据库使用11g(11.2.0.1.0),目标数据库使用11g(11.2.0.1.0)。向源数据库中插入记录时,数据无法同步至目标库。并抛出ORA-03113异常。当源数据库使用12c时,一切正常,数据可能同步。

-- 创建dblink
CREATE PUBLIC DATABASE LINK datasync CONNECT TO kxmadmin IDENTIFIED BY "123456" USING '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.100.92)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = kxm)))';

-- 创建同义词
create public synonym T_STATISTICS_ATTR_WEEK_HK for T_STATISTICS_ATTR_WEEK @DATASYNC; 

-- 创建触发器
CREATE
OR REPLACE TRIGGER TEMP_trigger BEFORE INSERT ON T_STATISTICS_ATTR_WEEK FOR EACH ROW
BEGIN
IF INSERTING THEN
    INSERT INTO T_STATISTICS_ATTR_WEEK_HK (
        ATTR,
        TIMEFLAG,
        COUNT,
        CREATETIME
    )
VALUES
    (
        : NEW .ATTR,
        : NEW .TIMEFLAG,
        : NEW . COUNT,
        : NEW .CREATETIME
    ) ;
END IF; END ;

图片说明

oracle日志如下:

Trace file e:\app\administrator\diag\rdbms\kxm\kxm\trace\kxm_ora_6856.trc
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Windows NT Version V6.2  
CPU                 : 12 - type 8664, 6 Physical Cores
Process Affinity    : 0x0x0000000000000000
Memory (Avail/Total): Ph:7791M/16213M, Ph+PgF:20654M/32597M 
Instance name: kxm
Redo thread mounted by this instance: 1
Oracle process number: 41
Windows thread id: 6856, image: ORACLE.EXE (SHAD)


*** 2019-08-16 14:36:23.310
*** SESSION ID:(110.677) 2019-08-16 14:36:23.310
*** CLIENT ID:() 2019-08-16 14:36:23.310
*** SERVICE NAME:(kxm) 2019-08-16 14:36:23.310
*** MODULE NAME:(navicat.exe) 2019-08-16 14:36:23.310
*** ACTION NAME:() 2019-08-16 14:36:23.310

--------Dumping Sorted Master Trigger List --------
Trigger Owner : KXMADMIN
Trigger Name : HDS_TEMP_TRIGGER
--------Dumping Trigger Sublists --------
 trigger sublist 0 :
 trigger sublist 1 :
 trigger sublist 2 :
 trigger sublist 3 :
Trigger Owner : KXMADMIN
Trigger Name : HDS_TEMP_TRIGGER
 trigger sublist 4 :
Exception [type: ACCESS_VIOLATION, UNABLE_TO_READ] [ADDR:0xA] [PC:0xAD7DF32, pevm_BIND()+258]
Incident 20729 created, dump file: e:\app\administrator\diag\rdbms\kxm\kxm\incident\incdir_20729\kxm_ora_6856_i20729.trc
ORA-07445: exception encountered: core dump [pevm_BIND()+258] [ACCESS_VIOLATION] [ADDR:0xA] [PC:0xAD7DF32] [UNABLE_TO_READ] []


https://www.cnblogs.com/linbo3168/p/7649711.html

1.添加磁盘空间并增加 db_recovery_file_dest_size 参数映射新的空间。
2.使用备份恢复区域命令备份文件第三设备磁盘如磁盘。