ITPub博客

首页 > 数据库 > Oracle > ora -03232 问题解决

ora -03232 问题解决

原创 Oracle 作者:myhuaer 时间:2005-09-22 15:09:26 0 删除 编辑
今天在执行一个大SQL 时,系统报
ORA-03232: unable to allocate an extent of blocks from tablespace 3 错误
select * from v$tablespace where ts#=3
结果是temp tablespace 不能扩展。
检查alterlog 没有任何错误信息--- 这点没有想通 :(
一般解决方法有两种:
1: 增加Temp 表空间 ---此法不行
我的 temp 表空间 2G 现在只使用 280M,显然不是Temp tablespace 小的缘故
2: 修改 hash_multiblock_io_count=1
(oracle default =1)
经检查我的 hash_multiblock_io_count =8 .
HASH_MULTIBLOCK_IO_COUNT = integer
specifies the number of data blocks to read and write during a hash join operation. The value
multiplied by the DB_BLOCK_SIZE initialization parameter should not exceed 64 K. The default value for this parameter is 1. If the multi-threaded server is used, the value is always 1, and any value specified here is ignored.
如果使用多线程Server, 根据上面的解释除过 1 的任何值都是忽略的,所以我们设置的8 也没有什么意义。故知需要修改为 1。问题就解决了。
[@more@]

03232, 00000, "unable to allocate an extent of %s blocks from tablespace %s"
// *Cause: An attempt was made to specify a HASH_MULTIBLOCK_IO_COUNT value
// that is greater than the tablespace's NEXT value
// *Action: Increase the value of NEXT for the tablespace using
// ALTER TABLESPACE DEFAULT STORAGE or decrease the value of
// HASH_MULTIBLOCK_IO_COUNT.

两种解决方法:

1:减少 HASH_MULTIBLOCK_IO_COUNT

2: 增加temp tablespace 的next values

ALTER TABLESPACE "TEMP" DEFAULT STORAGE ( NEXT XXXK )

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

请登录后发表评论 登录
全部评论

注册时间:2016-09-11

  • 博文量
    211
  • 访问量
    630258