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(长事务)

在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 = 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;

原文地址:https://www.cnblogs.com/chendian0/p/10459800.html

时间: 2024-10-29 21:26:09

ogg-01027(长事务)的相关文章

OGG运维优化脚本(四)-信息修改类--长事务跳过

文件名: skiptrans.sh skip.sh 所在路径:$HOME/ggscript/ggtrandata 功能:该脚本用于重启抽取进程时跳过长事务,可自动识别1小时以上的长事务并批量跳过,skiptrans.sh通过edit脚本选择调用,skip.sh用于在其他脚本中调用用,例如allstop.sh全goldengate进程停止脚本 Ps:目前该脚本目前仅适用于AIX和LINUX系统 skiptrans.sh #!/bin/bash function date2seconds {    

监控MySQL长事务脚本

监控长事务的脚本 #!/bin/bashmysql -N -uroot -p'密码' -e "select now(),(UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(a.trx_started)) diff_sec,b.id,b.user,b.host,b.db,d.SQL_TEXT from information_schema.innodb_trx a inner join information_schema.PROCESSLIST b on a.TRX_

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

最近几周,发生过多起因为事务问题引起的服务报错.现象为数据库连接池连接占满,数据库连接长时间等待,最终导致请求线程hang住,服务大面积报错.这个时候,服务资源.数据库资源大量空闲,但就是进行不下去,影响是比较恶劣的. 谁来背锅?当然是架构师.因为这次所有的服务都活着,没运维什么事. 面试时,大家可能都会碰到关于事务相关的问题,升级版的可能是分布式事务的问题.在互联网行业中,一句马马虎虎的补偿事务就能蒙混过关,毕竟都是些短小精悍的接口. 但在很多企业级应用中,这行不通.我们必须直面惨淡的现实.

ogg:Extract 进程遇长事务执行 Forcestop 引发的惨案

http://www.linuxidc.com/Linux/2015-04/115777.htm SQL> select t.addr,t.START_DATE from v$transaction t; ADDR START_DAT ---------------- --------- 0000000136AED710 14-JUL-17 SQL> select t.PREV_SQL_ID from v$session t where taddr='0000000136AED710'; PR

OGG 跳过事务(转)

http://blog.chinaunix.net/uid-26190993-id-3434074.html 在OGG运行过程中,通常会因为各种各样的原因导致容灾端的REPLICAT进程ABENDED掉,这个时候需要通过分析ggserr.log , DISCARDFILE , REPLICAT REPORT ,以及借助 Logdump 等工具去定位错误.在具体的应用场景下,通过分析排查,有些事务是可以不在容灾端去应用的,下面的例子是今天在生产配置OGG遇到的一个问题.      由于在同步过程中

长事务

static void zffObjectARX_MyCommand14(void) { // Add your code for command zffObjectARX._MyCommand14 here ACHAR* fileName; AcDbDatabase* pDb; AcDbObjectId transId; struct resbuf* filename; filename=acutNewRb(RTSTR); acedGetFileD(_T("请选择要检出的图"),NU

检查长事务

输入文件 mon_tx.sql cap_tx.sql 输出文件 输入参数: db_name,minutes 输出参数: 流程序:if .for if [ $# -ne 2 ]; then echo "Not Enough Parameters" else DBNAME=$1 TX_MAX=$2 fi export ROOT_DIR=/home/oracle export SCRIPT_DIR=$ROOT_DIR/utility/macro export LOGFILE_DIR=$ROO

OGG常见问题处理

1403: ORA-01403: No data found 在运行PL/SQL块.存储过程.函数.触发器等,假设须要进行操作的记录没有查询到.则会返回1403的错误 Goldengate中的1403 在目标段复制进程中,godengate从日志中解析出sql语句,依据sql语句的where条件.在目标段的库中匹配不出对应的记录 1403错误原因: 1. 附加日志相关 ? 数据相关 ? 表结构不一致/索引重建 常见问题: 1.生产端I/O过大.内存占用过大 配置了多个Extract进程导致 2.

(十五)PL/SQL事务

数据库事务是一个工作的原子单元,其可以由一个或多个相关的SQL语句组成.所谓的原子性就是数据库的修改所带来的构成事务的SQL语句可以集体被提交,即永久到数据库或从数据库中(撤消)回滚.一个成功执行的SQL语句和提交的事务不一样.即使一个SQL语句执行成功,除非包含该语句的事务被提交,但也可以回滚和声明(S)的所有更改可以撤消. 一.开始事务事务都有开始和结束.事务开始时有下列事件之一:  连接到数据库后执行的第一个SQL语句.  在事务完成之后发出每一个新的SQL语句完成. 二.提交事务事务是通