问题描述:
Oracle同步增量报错4002

问题可能原因:
源库为ASM环境,产生日志量大,读日志跟不上。

解决:
1、如果是本地部署,可选择块设备方式解析,性能高,且一般不会产生延迟
2、如必须使用ASM方式,比如exdata一体机; 远程部署iatrack时也不能使用块设备,只能用ASM时。可通过配置system.conf文件的 redo_read_threadrecord_queue_size 参数调优。
3、redo_read_thread默认值为1,即单线程读取日志文件,可配置为多线程读取。一般来说asm读取的单线程最高性能大概在30M/秒,但并发参数不可随意设大, 需结合数据库实际压力。
4、record_queue_size默认值为16384,意指调整日志解析预读的日志数量,增大此参数时,必须配置为128的整数倍。
5、调优时需反复试验,调整 redo_read_threadrecord_queue_size,得出最佳配置。如 redo_read_thread 设置为4时,每秒可处理67M的redo,修改参数为6,处理redo数不变,则可通过增大record_queue_size配置调优性能。
6、修改参数后,需重启iatrack服务,方可生效。