Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2796732
  • 博文数量: 389
  • 博客积分: 4177
  • 博客等级: 上校
  • 技术积分: 4773
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-16 23:29
文章分类

全部博文(389)

分类: Sybase

2013-09-04 17:30:09

                                                goldengate BATCHSQL设置

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

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

              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中呢?所以有一定的适应场景,需要由用户自己去根据环境进行合理的配置.

阅读(8701) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~