在表空间有足够free space的情况下出现ORA-1652

简介:
版本10.2.0.5之前存在这样的问题,当打开recyclebin回收站功能的情况下, Tablespace 上有足够的Free Space空闲空间,但是因为这些Free Space属于回收站中的对象,在并行INSERT数据 或者并行CTAS的情况下 PARALLEL启用的情况下可能遇到ORA-1652错误:    
oracle@localhost:~$ oerr ora 1652
01652, 00000, "unable to extend temp segment by %s in tablespace %s"
// *Cause:  Failed to allocate an extent of the required number of blocks for
//          a temporary segment in the tablespace indicated.
// *Action: Use ALTER TABLESPACE ADD DATAFILE statement to add one or more
//          files to the tablespace indicated.

例如ORA-01652: unable to extend temp segment by 320 in tablespace MAC_TS

  这一般是由于BUG 6977045 - ORA-1652 LMT SPACE NOT REALLOCATED CORRECTLY AFTER DROP TABLE, 该BUG 确认在版本 11.2中修复。   该BUG的原理是当CTAS with nologging是使用直接路径加载direct path load,Oracle一开始在针对的永久表空间上创建一个临时段继以加载数据。一旦这些操作完成,则临时段会被重命名并成为表的一部分。 当在该永久表空间上drop一张表,当打开回收站的情况下 该表被置入回收站recyclebin中,该段之前分配的空间由于本BUG的原因造成CTAS + PARALLEL + NOLOGGING时不计算为free space。



本文转自maclean_007 51CTO博客,原文链接:http://blog.51cto.com/maclean/1278504

相关文章
|
开发工具
服务器磁盘扩展卷时遭遇“There is not enough space available on the disk(s) to complete this operation.”错误
在ESX VM的一台服务器由于磁盘空间告警,打算决定给E盘扩展空间,增加20G的空间,在操作过程遭遇了Expanding Disk Volume gives error “There is not enough space available on the disk(s) to complete this operation.”错误。
2468 0
|
Oracle 关系型数据库 数据库
|
Oracle 关系型数据库 Linux