oracle迁移表的表空间

目的:将test表的表空间test迁移到cs表空间
1、先查看表的目前表空间
SQL> SELECT TABLE_NAME,TABLESPACE_NAME FROM USER_TABLES WHERE TABLE_NAME='TEST';
 
 
 TABLE_NAME    TABLESPACE_NAME
 ----------              ----------
 TEST                TEST
 
2、查看表的索引表空间
SQL> select index_name,table_name,tablespace_name from user_indexes WHERE TABLE_NAME='TEST';
 
3、修改表的表空间
SQL> SELECT 'alter table '||TABLE_NAME||' move tablespace CS;' FROM USER_TABLES WHERE TABLE_NAME='TEST';
SQL> alter table TEST move tablespace CS;
 
4、修改表索引表空间
SQL> SELECT 'alter index '|| INDEX_NAME ||' rebuild tablespace CS;' FROM user_indexes WHERE TABLE_NAME='TEST';
SQL> alter index INDEX1 rebuild tablespace CS;
 
5、再次确认表、索引的表空间
SQL> SELECT TABLE_NAME,TABLESPACE_NAME FROM USER_TABLES WHERE TABLE_NAME='TEST';
SQL> select index_name,table_name,tablespace_name from user_indexes WHERE TABLE_NAME='TEST';
 
6、需要注意TEST表里包含的CLOB字段,针对Clob、Blob字段需单独做修改处理 
SQL> ALTER TABLE TEST MOVE TABLESPACE USERS LOB(col_lob1,col_lob2) STORE AS(TABLESPACE CS);
 

posted @ 2022-02-10 11:20  苍茫宇宙  阅读(661)  评论(0编辑  收藏  举报