1. 程式人生 > 其它 >oracle索引對應的表空間,oracle修改表和索引的表空間

oracle索引對應的表空間,oracle修改表和索引的表空間

表做空間遷移時,使用如下語句:

例1:alter table tb_name move tablespace tbs_name;

索引表空間做遷移,使用如下語句:

例2:alter index index_name rebuild tablespace tbs_name;

對於含有lob欄位的表,在建立時,會自動為lob欄位建立兩個單獨的segment,一個用來存放資料,另一個用來存放索引,並且它們都會在對應表指定的表空間中,而例1:只能移動非lob欄位以外的資料,所以在對含有lob欄位的表進行空間遷移,需要使用如下語句:

例3:alter table tb_name move tablespace tbs_name lob (col_lob1,col_lob2) store as(tablesapce tbs_name);

專案例項:

表空間遷移

select 'alter table' ||table_name|| 'move tablespace tbs_name;' table_name from dba_tables where wner='%***%' and table_name like '%***%'

帶lob欄位

select 'alter table' ||table_name|| 'move lob('||index_name||') store as (tablespace tbs_name);' from dba_indexes where wner='%***%' and index_name like '%***%'

索引表空間

select 'alter index' ||index_name|| 'rebuild tablespace tbs_name;' index_name from dba_indexes where wner='%***%' and table_name like '%***%'

以上在oracle 的SQL*Plus Worksheet中執行,將得出的執行結果再執行一次即可。

 

 轉自:https://blog.csdn.net/weixin_32466193/article/details/116387953