无法为表空间xxx中的段创建初始范围,即使表空间有足够的可用空间

时间:2014-03-19 09:49:12

标签: database plsql oracle11g database-administration

我正在处理这个每日批处理程序,这在批处理的插入程序中一次又一次地抛出上述错误。 指定的表空间当前包含5个数据文件,只占用了40-50%。但有时在尝试运行插入查询时,我们得到了“无法创建初始范围...”#34;。目前,由于批量紧急情况,添加数据文件正在解决问题,因此几乎有一半的数据文件空间似乎被浪费了。

我没有足够的权限来运行SYS DBA查询,但我需要提出这种行为的所有可能原因。现在,我有以下信息

表空间是可自动扩展的。 数据文件数量:6(最近在批处理期间添加了一个) 每个数据文件大小:29.3 GB 街区:3,840,000 增量:100 MB 最大尺寸:29.3 GB

通过我的研究,这样的问题可能是由于表空间中的碎片[我到目前为止已经达到的最可靠的结论]。还有其他潜在的原因吗?

1 个答案:

答案 0 :(得分:0)

首先要知道的是,即使您在表空间中释放了一些空间,该空间也不会释放到系统中。有可能缩小表格并减少其中的碎片。以下是您应该检查的情况:

  1. 表格空间的大小有限;这个限制可以延长。

  2. 文件系统上没有更多空间

    • 检查db文件大小;例如在上执行df -g /my_db/path/
    • 请注意,在某些情况下,即使进程仍然锁定磁盘空间,上面也不会给出100%,并且必须将其杀死才能真正释放空间。