ORA-1652 unable to extend temp segment

2011年8月24日
检查警告日志文件发现如下错误信息:
Wed Aug 24 08:26:52 2011
ORA-1652: unable to extend temp segment by 64 in tablespace TEMP

不能扩展临时并表空间,之前收到这样的短信提示。查看Support中心的建议是给表空间增加数据文件或者在另一表空间创建该对象。

在RAC环境中,有两种可能情形引发ORA-1652的错误:
1.临时表空间完全用完;
2.由于其他实例在使用临时表空间,导致本地临时表空间无法扩展。

运行以下查询确定是哪一种情形:

select sum(free_blocks) from gv$sort_segment where tablespace_name='TEMP';

查询结果显示判断:如果free blocks是0,则是由于第一种情况引起,否则就是第二种情况;

查看临时表空间分配给所有实例的情况:


select inst_id,tablespace_name,total_blocks,used_blocks,free_blocks from gv$sort_segment;

说明:
total_blocks:指每个实例可用的临时段空间;
used_blocks:指已经使用的的空间值;
free_blocks:指可被分配是段空间。
如果在一个实例上发生ORA-1652错误,会发现used_block=total_blocks和free_blocks=0,在警告日志文件中会
会发现以下重复的错误信息:
Sun Aug 1 08:12:41 2004
ORA-1652: unable to extend temp segment by 2048 in tablespace TEMP
Sun Aug 1 08:12:51 2004
ORA-1652: unable to extend temp segment by 2048 in tablespace TEMP
Sun Aug 1 08:16:37 2004
ORA-1652: unable to extend temp segment by 2048 in tablespace TEMP

如果发生了,建议另一个实例释放空间。如果在多个实例之间发生争用,导致系统变慢,可通过以下方案解决:
————增加临时表空间的大小;
————在RAC中不要使用默认的TEMP表空间;
————增加sort_area_size或者pga_aggregate_target,也可以同时增加。

最严重的情况是,由于排序段忙于其他任务,导致SMON不能处理排序段请求,通过以下步骤诊断:

1.在问题发生期间周期性查看一下输出:

select inst_id,tablespace_name,total_blocks,used_blocks,free_blocks from gv$sort_segment;

2.Troubleshooting a hung database。

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26121829/viewspace-1054290/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26121829/viewspace-1054290/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值