Oracle修改表及分區表的表空間


一、oracle 移動分區表到指定表空間,及修改表的默認表空間

1、修改分區表的默認表空間:
select 'alter table '||table_name||' modify default attributes tablespace TSDAT01' from dba_tables where table_name in ('T');


查詢出的語句直接執行
2、移動現有分區到其他表空間
begin
for x in(select TABLE_OWNER,table_name,partition_name from dba_tab_partitions where table_name in ('T'))
loop
execute immediate 'alter table '||x.table_owner||'.'||x.table_name||' move partition ' || x.partition_name || ' tablespace users';
end loop;
end;
/

 

二、Oracle修改表Table所屬表空間及Clob、Blob字段的處理
SELECT TABLE_NAME,TABLESPACE_NAME FROM USER_TABLES -- WHERE TABLE_NAME='test' --可以加上條件
SELECT 'alter table '||TABLE_NAME||' move tablespace TEST_TS;' FROM USER_TABLES WHERE TABLESPACE_NAME = 'USERS';
SELECT 'alter index '|| INDEX_NAME ||' rebuild tablespace TEST_TS;' FROM user_indexes;
ALTER TABLE TEST2 MOVE TABLESPACE USERS LOB(col_lob1,col_lob2) STORE AS(TABLESPACE TEST_TS);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM