修改表的表空間

2021-05-24 00:24:59 字數 1274 閱讀 7294

表做表空間遷移

alter table tb_name move tablespace tbs_name;

索引表空間做遷移

alter index index_name rebuild tablespace tbs_name;

對於含有

lob欄位的表,在建立時,

oracle

會自動為

lob欄位建立兩個單獨的

segment,

乙個用來存放資料,另乙個用來存放索引,並且它們都會儲存在對應表指定的表空間中,上面語句只能移動非

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 owner='%***%' and table_name like '%***%'

lob字段

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

索引表空間

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

以上在oracle

的sql*plus worksheet

或pl/sql deverloper

中執行,將得出的執行結果再執行一次即可。

使用查詢的結果,這樣就可以批量處理!

修改表的空間

一 修改單個表空間的方法 alter table table name move tablespace tablespacename二 批量修改表空間的方法 1 查詢當前使用者所有的表,並拼接成修改表空間的sql語句 spool c move.sql select alter table table...

修改表空間大小

修改表空間大小有兩種方法 一是修改當前資料檔案大小 alter database tempfile data hybzdb tempfile temp.263.792523499 resize 3g 說明 data hybzdb tempfile temp.263.792523499是乙個資料檔案的...

修改oracle表空間

修改oracle表空間 檢視表空間的位置 select a.tablespace name,b.file name,a.block size,a.block size,b.bytes 1024 1024 sum mb from dba tablespaces a,dba data files b w...