您的位置:首页 > 其它

ORA-1652错误 unable to extend temp segment by 128 in tablespace

2011-09-11 14:31 936 查看
周六下午,收到EM alert邮件

Sfc12db 的TEMP 表空间使用率达到99% 查看alert log

在alert log中有 ORA-1652错误 unable to extend temp segment by 128 in tablespace 。

用如下语句可以查询到是什么程序大量使用的temp tablespace

SELECT se.username,sid,serial#,sql_address,machine,program,tablespace,segtype,contents

FROM
v$session se ,

v$sort_usage su

WHERE se.saddr=su.session_addr

发现为PG1中有几个大的查询在跑 例如

其中一个sql-address的查询为

select * from v$sqltext

where address='C0000000C34DE9A8'

order by piece

是一个非常大的排序查询。可能是因此消耗了 过多的temp tablespace

select sv.ROUTE_CODE 闽, sum(s.pass) OK计,sum(s.defect) 痷

タNG计,sum(s.fail) total_fail, sum(s.pass)-sum(ndf) ΩOK

计,sum(ndf) 代OK计 , sum(ndf_times) 代OKΩ计,sum(ndf_repai

r) 秈蝴代OK计, sum(s.pass)+sum(fail) 瑈硄秖, round(sum(s.p

ass)/decode((sum(s.pass)+sum(fail)),0,999999,sum(s.pass)+sum(fai

l)),4) ▆瞯, round((sum(s.pass)-sum(ndf))/decode((sum(s.pass)+s

um(fail)),0,999999,sum(s.pass)+sum(fail)),4) 硄瞯, round(sum(n

df)/decode((sum(s.pass)+sum(fail)),0,999999,sum(s.pass)+sum(fail

)),4) 代计代瞯, round(sum(ndf_times)/decode((sum(s.pass)+

sum(fail)),0,999999,sum(s.pass)+sum(fail)),4) 代Ω计代瞯 fr

om askey_site_statistics s,askey_wo w,askey_site_view sv where

s.wo_key=w.wo_key and s.ws_id=sv.WS_ID and sv.iroute_code not i

n (7 ,14,28) and s.work_time>=:1 and s.work_time<=:2 and s.wo_k

ey in (select val from askey_cache) group by sv.ROUTE_CODE order

by sv.route_code

对于这种问题的最简单的解决办法就是 将这个排序查询kill掉

Alter system kill session sid ,serial#

如果只是短暂的存在 可以不做处理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐