如果生产环境的Goldengate不需要实时同步的话,那么我们可以使用BATCHSQL这个参数进行批量同步,从而提高goldengate的性能
Valid for Replicat
Use the BATCHSQL parameter to increase the performance of Replicat. BATCHSQL causes
Replicat to organize similar SQL statements into arrays and apply them at an accelerated
rate. In its normal mode, Replicat applies one SQL statement at a time.
BATCHSQL is valid for:
● Oracle
● DB2 LUW
● DB2 on z/OS
● Teradata
● SQL Server
How BATCHSQL works
In BATCHSQL mode, Replicat organizes similar SQL statements into batches within a
memory queue, and then it applies each batch in one database operation. A batch contains
SQL statements that affect the same table, operation type (insert, update, or delete), and
column list. For example, each of the following is a batch:
● Inserts to table A
● Inserts to table B
● Updates to table A
● Updates to table B
● Deletes from table A
● Deletes from table B
For Example:
GGSCI (zbdba2) 4> view param rep1
REPLICAT rep1
ASSUMETARGETDEFS
USERID ogg, PASSWORD ogg
discardfile ./dirdat/rep1_discard.txt,append,megabytes 5
DDL INCLUDE MAPPED
DDLOPTIONS REPORT
BATCHSQL
DBOPTIONS DEFERREFCONST
DBOPTIONS LOBWRITESIZE 102400
HANDLECOLLISIONS
DDLERROR DEFAULT DISCARD RETRYOP MAXRETRIES 5 RETRYDELAY 20
--grouptransops 1
--maxtransops 1
APPLYNOOPUPDATES
MAP zbdba.*,TARGET zbdba.*;