ORA-03113: end-of-file on communication channel

来源:这里教程网 时间:2026-03-03 11:44:44 作者:
问题背景:
在同步数据量较大的三张表时出现报错
ORA-03113: end-of-file on communication channel

    2018-07-05 09:00:09 ERR sync_38(src/oracle/ora_export_normal_table.c:200)
    unload "PRINTDB"."T_CERTIFICATEDETAILED" data fetch error.
    3113-ORA-03113: end-of-file on communication channel
    Process ID: 28115162
    Session ID: 589 Serial number: 15

    09:00:09 export table "PRINTDB"."T_CERTIFICATEDETAILED" error.
    ORA-03113: end-of-file on communication channel
    Process ID: 28115162
    Session ID: 589 Serial number: 15
故障分析:
常见的是大批量的数据插入导致闪回空间不足,或者归档日志满了
最常用的办法
1增加闪回空间大小(db_recovery_file_dest_size)
2删除不需要的归档日志文件,修改归档策略

解决方法:

    一、查看闪回空间大小(db_recovery_file_dest_size)
    SQL> show parameter db_recovery_file_dest_size
    NAME TYPE VALUE
    ------------------------------------ ----------- -------------------
    db_recovery_file_dest_size big integer 4977M

    计算flash recovery area已经占用的空间:
    SQL> select sum(percent_space_used)*3/100 from v$flash_recovery_area_usage;
        
    增加 db_recovery_file_dest_size 大小
    SQL> alter system set db_recovery_file_dest_size=20000M scope=both;
    System altered.

    SQL> show parameter db_recovery_file_dest_size
    NAME TYPE VALUE
    ------------------------------------ ----------- ------------------------------
    db_recovery_file_dest_size big integer 20000M

二、删除归档
    1使用RMAN删除过期的归档日志
    2如果使用操作系统命令删除文件,要用rman执行
    crosscheck archivelog all;



相关推荐