重建LOB字段上的Index
發布時間:2022-01-17
使用alter index XXX rebuild;語句來重建大對象的索引時,會出現報錯:
ERROR at line 1:
ORA-02327: cannot create index on expression with datatype LOB
可見建在LOB類型字段上的Index不能通過這種方式重建。
在含有Lob字段的表都會自動創建類似SYS_IL。。。的索引,而這些索引都是Oracle自己來維護,并且跟表放在同一個表空間,通常不需要自己去維護它們。
需要進行大對象索引的重建時,一般使用
ALTER TABLE test MOVE
TABLESPACE users
LOB (TXT) STORE AS lobsegment
(TABLESPACE users );
如果包含lob的表同時需要更改表屬性和lob屬性,請使用以下語法:
ALTER TABLE test MOVE TABLESPACE new_tb STORAGE(new_storage) LOB (TXT) STORE AS lobsegment (TABLESPACE new_tb STORAGE (new_storage));
ERROR at line 1:
ORA-02327: cannot create index on expression with datatype LOB
可見建在LOB類型字段上的Index不能通過這種方式重建。
在含有Lob字段的表都會自動創建類似SYS_IL。。。的索引,而這些索引都是Oracle自己來維護,并且跟表放在同一個表空間,通常不需要自己去維護它們。
需要進行大對象索引的重建時,一般使用
ALTER TABLE test MOVE
TABLESPACE users
LOB (TXT) STORE AS lobsegment
(TABLESPACE users );
如果包含lob的表同時需要更改表屬性和lob屬性,請使用以下語法:
ALTER TABLE test MOVE TABLESPACE new_tb STORAGE(new_storage) LOB (TXT) STORE AS lobsegment (TABLESPACE new_tb STORAGE (new_storage));