由于snAPAPPL管理视图和snAP_GET_APPL表功能已弃用,因此在10.5版及更高版本中,如何通过其他方式找到最早的活动事务?
如何在DB2 10.5及更高版本中找到最早的活动事务?
•
问答
gordon000 回答:如何在DB2 10.5及更高版本中找到最早的活动事务?
您可以使用以下功能来获取过去不推荐使用的“快照”管理视图所提供的信息
MON_GET_TRANSACTION_LOG
MON_GET_UNIT_OF_WORK
MON_GET_DATABASE
查询如下:
select integer(mtl.applid_holding_oldest_xact) as "Oldest Transaction",integer(muow.uow_log_space_used /1024 / 1024) as "Log used(Mb)",integer(muow.num_locks_held) as "Locks Held",integer(muow.client_idle_wait_time) as "Idle (seconds)",time(muow.uow_stop_time) as "UOW Stop Time",muow.rows_returned as "Rows Returned",muow.rows_read as "Rows Read",integer(muow.rows_inserted) as "Rows Inserted",integer(muow.rows_updated) as "Rows Updated",integer(muow.rows_deleted) as "Rows Deleted"
from table(mon_get_transaction_log(-1)) mtl
inner join
table(mon_get_unit_of_work(null,-1)) muow
on muow.member = mtl.member
and muow.application_handle = mtl.applid_holding_oldest_xact
,
正确!您可以使用MON_GET_TRANSACTION_LOG
表函数。这是在Knowledgecenter(https://github.com/algolia/algolia-cli#examples)中找到的另一个查询:
Select MEMBER,CUR_COMMIT_DISK_LOG_READS,CURRENT_ACTIVE_LOG,APPLID_HOLDING_OLDEST_XACT from table(mon_get_transaction_log(-1)) as t
order by member asc
输出:
MEMBER CUR_COMMIT_DISK_LOG_READS CURRENT_ACTIVE_LOG APPLID_HOLDING_OLDEST_XACT
------ ------------------------- ------------------ --------------------------
0 9999 1 7