Oracle表、索引修改表空間語句

season0891發表於2011-03-30
表做空間遷移時,使用如下語句:

  例1:alter table tb_name move tablespace tbs_name;

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

  例2:alter index index_name rebuild tablespace tbs_name;

  對於含有lob欄位的表,在建立時,oracle會自動為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中執行,將得出的執行結果再執行一次即可。


come from :


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/90618/viewspace-691311/,如需轉載,請註明出處,否則將追究法律責任。

相關文章