在同步数据量较大的三张表时出现报错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;