1. 程式人生 > >oracle索引:Oracle移動LOB型別的索引

oracle索引:Oracle移動LOB型別的索引

在Oracle中如果表上存在有LOB資料型別的欄位,而有時候需要將這些LOB欄位的索引移動到其他表空間,使用alter index index_name rebuild tablespace_name的方法是不行的,資料庫會報錯:ORA-02327: cannot create index on expression with datatype LOB。

移動LOB的索引就使用LOB的儲存的語法來移動LOB的物件,具體的語法如下:

ALTER TABLE table_name MOVE TABLESPACE new_tbsp STORAGE(new_storage) LOB (lob_column) STORE AS lobsegment (TABLESPACE new_tbsp STORAGE (new_storage));

例如,表TEST含有LOB欄位LOBTEST,儲存在USERS表空間,要移到TEST表空間,則語法如下:

SQL>ALTER TABLE TEST move tablespace TEST LOB (LOBTEST) STORE AS (TABLESPACE TEST);

Table altered.

LOB的索引已經被移動到TEST表空間了。