oracle索引:Oracle移動LOB型別的索引
阿新 • • 發佈:2019-01-24
在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表空間了。
移動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表空間了。