goldengate BATCHSQL设置

经过在replicat使用batchsql来把相同的语句做为一批处理,而不是像普通的处理方式,每行语句单独提交。对于常常大批量更新,使用batchsql能够大幅度提升性能。可是要注意若是应用程序中有lob字段,或是常常有只更新少许的行,这样使用batchsql没有益能好处,反而使replicat在normal和batch mode以前来回switch,而会影响性能.对于有些不知足batchsql的条件,replicat会进行重试三次,在这样的状况下,性能降低的状况更加明显.sql

   batchsql 两个主要的参数,定义了多少条语句做为一个语句提交
   batchsql  opsperqueue 30000, opsperbatch 30000

BATCHSQL statistics:oracle

             Batch operations:      30000
                      Batches:         1
             Batches executed:         1
                       Queues:         4
             Batches in error:         0
       Normal mode operations:         0
   Immediate flush operations:         0
                PK collisions:         0
                UK collisions:         0
                FK collisions:         0
          Thread batch groups:         0
                      Commits:         1
                    Rollbacks:         0
            Queue flush calls:         2
 batchs表示生成多少个batch,batchs executed表示在db层面执行了多少次batch.两个参数default为1200.对于大多数状况下已经很适用了.

 对于batchsql尽可能多测试,网上有不少文章,无论三七二十一,直接就建议设置batchsql。发如今ggserr.log中产生大量在normal mode和batch mode之间来回switch的情形,这样反而影响了replicat的性能,必定要根据实际状况作出设置,要否则oracle怎么不把这个选项直接加到replicat中呢?因此有必定的适应场景,须要由用户本身去根据环境进行合理的配置.ide

相关文章
相关标签/搜索