问题描述
如何更改默认initial_extent 和next_extent 的每日范围分区lob 索引? lob 索引的索引子分区的默认初始大小远大于所需。所以新的分区出现了,单个初始盘区很大,占用了存储空间,没有用。
示例
CREATE TABLE EVENT
(
ID VARCHAR2(100) NOT NULL,STAMP timestamp default systimestamp not null,EVENT blob,SUBPART NUMBER(4) NOT NULL
)TABLESPACE tbs1 STORAGE(INITIAL 1k NEXT 1k)
LOB (event) STORE AS
( TABLESPACE tbs1 STORAGE(INITIAL 1k NEXT 1k))
PARTITION BY RANGE (STAMP)
INTERVAL(NUMTODSINTERVAL(1,'day'))
SUBPARTITION BY LIST (SUBPART)
SUBPARTITION TEMPLATE
(
SUBPARTITION EVENTS_0 VALUES (0),SUBPARTITION EVENTS_1 VALUES (1))
( PARTITION p0 VALUES LESS THAN (TO_DATE('01-01-2021','dd-mm-yyyy')))
;
INSERT INTO EVENT (ID,SUBPART,event) VALUES ('111111','0','aaaaaa');
INSERT INTO EVENT (ID,event) VALUES ('111112','1','dddddd');
commit;
select user_lobs.table_name,column_name,segment_name,index_name,partitioned from user_lobs;
TABLE_NAME COLUMN_NAME SEGMENT_NAME INDEX_NAME PARTITIONED
EVENT EVENT SYS_LOB0555878337C00003$$ SYS_IL0555878337C00003$$ YES
select index_name,partition_name,subpartition_name,high_value,initial_extent,next_extent from user_ind_subpartitions where index_name='SYS_IL0555878337C00003$$';
INDEX_NAME PARTITION_NAME SUBPARTITION_NAME HIGH_VALUE INITIAL_EXTENT NEXT_EXTENT
SYS_IL0555878337C00003$$ SYS_IL_P340391852 SYS_IL_SUBP340391850 0 65536 8192
SYS_IL0555878337C00003$$ SYS_IL_P340391852 SYS_IL_SUBP340391851 1 65536 8192
SYS_IL0555878337C00003$$ SYS_IL_P340391861 SYS_IL_SUBP340391859 0 65536 1048576
SYS_IL0555878337C00003$$ SYS_IL_P340391861 SYS_IL_SUBP340391860 1 65536 1048576
alter index SYS_IL0555878337C00003$$ MODIFY DEFAULT ATTRIBUTES storage (initial 1 next 1);
...
ORA-22864: cannot ALTER or DROP LOB indexes
*Cause: An attempt was made to ALTER or DROP a LOB index.
*Action: Do not operate directly on the system-defined LOB index. Perform operations on the corresponding LOB column.
好的。
alter table event MODIFY DEFAULT ATTRIBUTES lob (event) ( storage ( initial 1 next 1) index (storage (initial 1 next 1)));
ORA-02203: INITIAL storage options not allowed
*Cause: The user attempted to alter the INITIAL
storage option of a table,cluster,index,or rollback segment.
These options may only be specified when the object is created.
*Action: Remove these options and retry the statement.
它适用于 lob 本身:
alter table event MODIFY DEFAULT ATTRIBUTES lob (event) ( storage ( initial 1 next 1) );
Table EVENT altered.
但是如何更改分区 lob 索引的默认初始和下一个范围? 表存在且巨大。所以娱乐是一个糟糕的选择。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)