Oracle 重新创建索引占用更多空间(无法扩展表空间)
每年,我们的应用程序都会获得大约80GB的新表空间来存储一些大型表和相应的索引。表存储在一个表空间中,索引存储在另一个表空间中。我们想删除并重新创建一个表的索引 删除工作正常,但当我们重新创建相同的索引时,它给了我们一个错误:“ORA-01658:无法为表空间TEIDX2006中的段创建初始扩展数据块”。此错误适用于2006年的表空间Oracle 重新创建索引占用更多空间(无法扩展表空间),oracle,indexing,oracle10g,Oracle,Indexing,Oracle10g,每年,我们的应用程序都会获得大约80GB的新表空间来存储一些大型表和相应的索引。表存储在一个表空间中,索引存储在另一个表空间中。我们想删除并重新创建一个表的索引 删除工作正常,但当我们重新创建相同的索引时,它给了我们一个错误:“ORA-01658:无法为表空间TEIDX2006中的段创建初始扩展数据块”。此错误适用于2006年的表空间 CREATE BITMAP INDEX TE_USER.ACTUAL_VOLS_INDEX_NAME_IDX ON TE_USER.ACTUAL_VOLS (I
CREATE BITMAP INDEX TE_USER.ACTUAL_VOLS_INDEX_NAME_IDX ON TE_USER.ACTUAL_VOLS
(INDEX_NAME)
TABLESPACE TEIDX2013
PCTFREE 0
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 2M
NEXT 2M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
)
LOCAL (
PARTITION Q1
LOGGING
TABLESPACE TEIDX2014
PCTFREE 0
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 16K
NEXT 2M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
),
LOCAL (
PARTITION Q4
LOGGING
TABLESPACE TEIDX2013
PCTFREE 0
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 16K
NEXT 2M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
),
LOCAL (
PARTITION Q3
LOGGING
TABLESPACE TEIDX2013
PCTFREE 0
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 16K
NEXT 2M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
),
有人能解释为什么会发生这种情况吗
问候,,
Snigdha您是否正在尝试在
TEDIX2006
表空间中创建索引?如果是,你的意图是什么?表空间是否确实有足够的可用空间来创建您所要求的初始
范围?表跨越多个表空间,此索引也跨越多个表空间。因此,当我们重新创建索引时,它必须在所有历史表空间中创建。是的,这就是要求。这个表空间中有大约10gb的可用空间,我不明白。如果表跨越多个表空间,则表示它已分区。如果表是分区的,那么为新的一年添加一个新分区不需要触及其他分区或这些其他分区上的索引。你正在执行的命令到底是什么?我读了这篇文章只是为了添加代码片段。没错,该表有一个季度日期范围分区。我们现在并没有创建新的分区,Q1分区已经创建了。只是我们想重新创建索引,这导致了这个错误。代码片段只是整个脚本的一小部分。持续至一九九九年第四季。Ad错误omes for 2006 tablePae。索引以前在同一个表空间中。没有额外的数据进入那个表空间,我怎么能抛出这样的错误呢?请帮忙。