互联网服务db2pd

如何找到导致临时表空间满的SQL语句

一个前端应用引起了文件系统目录的使用超预警值(注:用户临时表空间和系统临时表空间都在同一个文件系统目录下),通过db2pd -transactions –applications -dynamic 可以看到有几十条INSERT INTO SESSION表和WITH TEMPTB().. SELECT的操作,怎么知道是哪个语句引起的问题?另外有...显示全部
一个前端应用引起了文件系统目录的使用超预警值(注:用户临时表空间和系统临时表空间都在同一个文件系统目录下),通过db2pd -transactions –applications -dynamic 可以看到有几十条INSERT INTO SESSION表和WITH TEMPTB().. SELECT的操作,怎么知道是哪个语句引起的问题?另外有一个小疑问为什么只有UOW-Waiting才能看到对应的机器名称,而connectcomplete的L-AnchID都是0,Appid都是N/A,是不是说执行完了的SQL对应的地址已经被其它SQL占用了,这样占用了大量临时表空间的SQL就找不到了?收起
参与15

查看其它 11 个回答dongxincun的回答

dongxincundongxincun软件开发工程师YTEC
回复 6# thuanqin


   你说的这种情况应该是适合正在运行的SQL吧,然后通过anchid找到对应的SQL。我一般用db2top 然后T进入看表快照的(有一个好处就是实时刷新),然后agentid也可以直接跳到正在执行的SQL。   不过对于已经运行完成并释放了临时表空间的SQL,快照应该就找不到了吧,db2pd可以追寻内存中的历史痕迹。不管怎么说还是谢谢你的回复。
互联网服务 · 2013-07-10
浏览2144

回答者

dongxincun
软件开发工程师YTEC

dongxincun 最近回答过的问题

回答状态

  • 发布时间:2013-07-10
  • 关注会员:2 人
  • 回答浏览:2144
  • X社区推广