暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 创建非唯一全局分区索引的ORA-01659

askTom 2018-05-22
567

问题描述

亲爱的汤姆,

我有一个表格,用这个层存储气候数据: idcell,day,field1,....

此表按日的范围本地分区,并且具有本地PK索引: idcell,日。

我想在它上面创建一个不唯一的全局分区索引,大约23000个分区,每个单元格一个。

为此,我创建了这个表空间来存储全局索引:

CREATE TABLESPACE TEST_GLOIDX DATAFILE 
  '/oradata2/test01.dbf' SIZE 1M AUTOEXTEND ON NEXT 1M MAXSIZE 32767M
LOGGING
DEFAULT 
  NO INMEMORY
ONLINE
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO
FLASHBACK ON;
复制


理论上,当我尝试创建索引时,Oracle引擎应该创建23000个1MB段,但几分钟后,我永远收到消息: ORA-01659无法在表空间中分配超出n的最小范围。

你能建议我一个变通办法吗?

谢谢,

托尼

专家解答

文档对ORA-01659有这样的说法:

Cause: Failed to find sufficient contiguous space to allocate MINEXTENTS for the segment being created.

Action: Use ALTER TABLESPACE ADD DATAFILE to add additional space to the tablespace or retry with smaller value for MINEXTENTS, NEXT or PCTINCREASE


https://docs.oracle.com/en/database/oracle/oracle-database/18/errmg/ORA-01500.html#GUID-65B2B9E5-7075-4D53-91B8-FCAECA0AEE0E

因此,请检查: 表空间的数据文件中是否有〜23Gb的可用空间?
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论