最近经常出现rootdbs被_temptable占满,扩容的临时表空间和rootdbs仍然会出现问题。

wusuoshisi 2016-06-28 07:43:20
最近经常出现rootdbs被_temptable占满,扩容的临时表空间和rootdbs仍然会出现问题。
我们使用onstat捕捉当时的SQL,没发现哪个SQL占用临时表空间大。

需要方法查询,哪个临时表或SQL占用的临时表空间最大。
...全文
297 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
nainaihaoteng 2016-06-28
  • 打赏
  • 举报
回复
这里有一个例子,请参考 查看空间中临时表属于哪个会话的方法: 1.通过oncheck 查看rootdbs中临时表的大小 SD3700QP[/home/informix]$onstat -d|grep root 7000002930d9028 1 0x40001 1 1 4096 N B informix rootdbs 7000002930d91c0 1 1 0 2557500 188026 PO-B- /home/informix/sddbs/sdqtrootdblv01 SD3700QP[/home/informix]$oncheck -pe rootdbs|tail sysadmin:'informix'.mon_checkpoint 312381 8 sysadmin:'informix'.idx_mon_ckpt_1 312389 4 sysadmin:'informix'.mon_vps 312393 8 sysadmin:'informix'.mon_prof 312401 8 sysadmin:'informix'.mon_prof_idx1 312409 6 sd3700ids3gdb:'ids3g'._temptable 312415 2245085 Total Used: 2369474 Total Free: 188026 2.通过这个大小确定临时表的partnum SD3700QP[/home/informix]$onstat -t|grep 2245085 442 7000002bcf11930 800 1 100140 1:312001 2245085 1 0 0 1 3.通过这个partnum查看哪个会话打开了这张表 SD3700QP[/home/informix]$onstat -g opn|grep 100140 269366 0x07000002b435ca20 49 0x0000090a 0x00000003 0x00100140 1 1 0 SD3700QP[/home/informix]$onstat -u|grep 7000002b435ca20 7000002b435ca20 B--PR-- 108420 ids3g - 70000005bed2368 0 2 87228928 23381517 4.查看会话信息,确定执行者及SQL语句 SD3700QP[/home/informix]$onstat -g ses 108420

1,194

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 Informix
社区管理员
  • Informix社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧