在extract中添加: WARNLONGTRANS 2h,CHECKINTERVAL 3m ggserr.log文件中会记录大事务警告 WARNING OGG-01027  Long Running Transaction: XID 82.4.242063, Items 0, Extract YX_EXT1, Redo Thread 1, SCN 2379.2132775890 (10219859973074), Redo Seq #5688, Redo RBA 195997712.   GGSCI> send extract xxx, showtrans [thread n] [count n] thread n是可选的,表示只查看其中一个节点上的未提交交易; count n也是可选的,表示只显示n条记录。 例如:查看xxx进程中节点1上最长的10个交易,可以通过下列命令: GGSCI> send extract extsz , showtrans thread 1 count 10 记录XID,通过DBA查找具体的长交易执行的内容 GGSCI> SEND EXTRACT xxx, SKIPTRANS <82.4.242063> THREAD <2> //跳过交易 GGSCI>SEND EXTRACT xxx, FORCETRANS <82.4.242063> THREAD <1> //强制认为该交易已经提交 使用这些命令只会让GoldenGate进程跳过或者认为该交易已经提交,但并不改变数据库中的交易,他们依旧存在于数据库中。因此,强烈建议使用数据库中提交或者回滚交易而不是使用GoldenGate处理。 查找长事务对应的SQL语句: XID由三部分组成:XIDUSN.XIDSLOT.XIDSQN 通过以下语句查找对应的SQL语句 select /*+ rule*/b.USERNAME,b.SCHEMANAME,b.OSUSER,b.MACHINE,c.SQL_TEXT from v$transaction a, v$session b, v$sql c where a.XIDUSN = 5 and a.XIDSLOT = 42 and a.XIDSQN = 1920 and a.ADDR = b.TADDR and b.SQL_ADDRESS = c.ADDRESS and b.SQL_HASH_VALUE = c.HASH_VALUE;