一、查看数据库状态
正常情况下是
onstat -
On-Line -- Up 35 days 16:51:16 -- 3920896 Kbytes
长事务情况下是
onstat -
On-Line (LONGTX) -- Up 35 days 16:41:40 -- 3920896 Kbytes
Blocked:LONGTX
二、显示事务(transaction)信息
其中flag字段中第三个标志位为R说明事务在rollback,说明这个事务可能是长事务
onstat -x
On-Line (LONGTX) -- Up 35 days 16:41:56 -- 3920896 Kbytes
Blocked:LONGTX
Transactions
address flags userthread locks begin_logpos current logpos isol rb_time retrys coord
1cf0a6748 A-R-- 1cd55c618 642073 119403 119405 0x1aa91e4 DIRTY 0
三、通过长事务的userthread值找出session id
onstat -u |grep 1cd55c618
address flags sessid user tty wait tout locks nreads nwrites
1cd55c618 --RPX-- 1880841 gbasedbt - 0 0 642073 256446 323049
四、显示会话连接信息,找出造成长事务的SQL语句,并优化
onstat -g ses 1880841