`
Appleses
  • 浏览: 347847 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

ORA-1652 unable to extend temp segment

阅读更多
检查警告日志文件发现如下错误信息:
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。

转自:http://blog.itpub.net/26121829/viewspace-1054290/
可参考:http://blog.chinaunix.net/uid-22741583-id-85041.html
       http://bbs.csdn.net/topics/110093328
       http://bbs.51cto.com/thread-653543-1.html
分享到:
评论

相关推荐

    oracle数据库操作常见错误以及解决方案

    最后,错误`ORA-1652: unable to extend temp segment by 207381 in tablespace TEMPSPACE`和`ORA-01578: Oracle data block corrupted(file # num,block # num)`提示数据块损坏。这可能是由硬件、操作系统、内存、...

    oracle+ora-各种常见java.sq

    - `java.sql.SQLException: ORA-01652: unable to extend temp segment by X in tablespace TEMP`: 临时表空间不足。增加临时表空间大小或优化使用临时表空间的查询。 以上是Oracle数据库操作中常见的`java.sql....

    Oracle常见错误代码的分析与解决

    **ORA-01652: unable to extend temp segment by num in tablespace name** 这个错误表示Oracle在尝试扩展临时段时遇到了空间不足的问题。临时段用于存储排序和临时结果集,当无法分配连续空间时,就会出现这个错误...

    Oracle_Errors描述

    5. **ORA-01652: unable to extend temp segment by 128 in tablespace TEMP** 当临时表空间不足以存储临时数据时,会出现这个错误。解决方式是增大临时表空间大小,或者调整SQL语句以减少临时空间的需求。 6. **...

    Oracle数据库操作常见错误及解决方案

    **ORA-01652: unable to extend temp segment by num in tablespace NAME** 这个错误意味着临时表空间不足以完成一个需要大量临时空间的操作。临时表空间主要用于排序和临时结果集。解决策略如下: 1. **检查表...

    oracle常见错误精集

    ##### ORA-01652: unable to extend temp segment by num in tablespace name **产生原因**: ORACLE临时段表空间不足。这是因为ORACLE总是尽量分配足够的临时空间给临时段使用,但在某些情况下,可能会导致临时段表...

    oracle常见错误代码的分析与解决.doc

    其次,错误代码ORA-01652表示"unable to extend temp segment by num in tablespace name",意味着Oracle在尝试扩展临时段时遇到了表空间不足的问题。临时段主要用于存储排序和临时结果集,当无法分配连续空间时会...

    ORACLE常见错误代码的分析与解决

    #### ORA-01652: unable to extend temp segment by num in tablespacename **问题描述:** 当Oracle数据库在执行排序操作或其他需要临时空间的操作时,如果临时表空间中没有足够的空间来扩展临时段,则会抛出ORA-...

    ORACLE修改表空间大小

    ORA-01652: unable to extend temp segment by num in tablespace name ``` 这里的`num`是指Oracle试图为临时段分配的空间大小(通常是字节数),`tablespace name`则指出了出现问题的具体表空间名称。 ##### 2. ...

    如何解决Oracle8i数据库临时表空间满的问题.pdf

    4. Oracle临时表空间满的问题:当临时表空间的磁盘空间被全部占用后,可能会出现错误消息,例如“ORA-1652: unable to extend temp segment by %s in tablespace %s”。这会导致用户无法完成如排序、并行查询等操作...

    ORACLE常见错误代码的分析与解决(一)

    二、ORA-01652: unable to extend temp segment by NUM in tablespace NAME 产生原因:该错误是由于ORACLE临时段表空间不足引起的,因为ORACLE总是尽量分配连续空间,一旦没有足够的可分配空间或者分配不连续就会...

    streamsets数据采集常见问题汇总1

    问题描述:遇到`ORA-01652: unable to extend temp segment by 128 in tablespace TEMP`错误,这表明Oracle数据库无法在临时表空间中扩展段。 解决方法:这可能是由于数据排序导致的。建议使用单表消费方式,通过...

Global site tag (gtag.js) - Google Analytics