ogg-01027(长事务)

Posted chendian0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ogg-01027(长事务)相关的知识,希望对你有一定的参考价值。

OGG-01027(长事务)

 

示例9-25:

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. 
可以通过下面的命令寻找更详细的信息:

 

示例9-26:

GGSCI> send extract xxx, showtrans [thread n] [count n] 
其中,thread n是可选的,表示只查看其中一个节点上的未提交交易;count n也是可选的,表示只显示n条记录。

例如查看xxx进程中节点1上最长的10个交易,可以通过下列命令:

 

示例9-27:

GGSCI> send extract extsz , showtrans thread 1 count 10 

 

记录XID,通过DBA查找具体的长交易执行的内容: 

示例9-28:

GGSCI> SEND EXTRACT xxx, SKIPTRANS <82.4.242063> THREAD <2> //跳过交易  
GGSCI>SEND EXTRACT xxx, FORCETRANS <82.4.242063> THREAD <1> //
强制认为该交易已经提交  
使用这些命令只会让GoldenGate进程跳过或者认为该交易已经提交,但并不改变数据库中的交易,它们依旧存在于数据库中。
因此,强烈建议使用数据库中提交或者回滚交易而不是使用GoldenGate处理。
==========================================================================================================================

下面是刘相兵老师的查询方法:

GoldenGate OGG OGG-01027(长事务)

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 = 82

and a.XIDSLOT = 4

and a.XIDSQN = 242063

and a.ADDR = b.TADDR

and b.SQL_ADDRESS = c.ADDRESS

and b.SQL_HASH_VALUE = c.HASH_VALUE;

 

以上是关于ogg-01027(长事务)的主要内容,如果未能解决你的问题,请参考以下文章

长事务管理

SpringBoot - 优雅的处理长事务

监控MySQL长事务脚本

为什么要避免大事务以及大事务如何解决?

长事务

又一批长事务,P0故障谁来背锅?