oracle中,可利用“alter table”語句轉移表的表空間,該語句可修改表的數據,與“move tablespace”配合使用就可移動表的表空間,語法為“alter table? 表名 move tablespace 新的表空間”。
本教程操作環境:Windows10系統、Oracle 11g版、Dell G3電腦。
oracle怎么轉移表的表空間
轉移表的表空間語法如下:
將表table_name 移動到新的new_tbsp表空間?
alter?table??table_name?move?tablespace?new_tbsp;
生成指定tbsp_name表空間下的【所有表】生成移動new_tbsp表空間sql語句
select?'alter?table?'||?table_name||?'?move?tablespace?new_tbsp;'?from?user_tables?where?tablespace_name?=?'tbsp_name'
擴展:轉移不同的表空間
移動【索引】所在表空間:
如將索引index_name 移動到新的new_tbsp表空間(LOB數據類型的字段需按如下第3類處理)
alter?index?index_name?rebuild?tablespace?new_tbsp;
–生成指定user_name用戶下的【所有索引】生成移動new_tbsp表空間SQL語句
select?'alter?index?'||index_name||'?rebuild?tablespace?new_tbsp;'?from?user_indexes?where?table_owner?=?'user_name'
移動【二進制流字段】數據存儲表空間,如將表table_name中的二進制流字段col_name移動到new_tbsp表空間
alter?table?table_name?move?tablespace?new_tbsp??lob?(col_name)?store?as??(tablespace?new_tbsp);
–生成指定表table_name中為CLOB類型的字段的移動到new_tbsp 表空間SQL語句
select?'alter?table?'||?table_name||'?move?tablespace?new_tbsp?lob?('||?column_name||'?)?store?as??(tablespace?new_tbsp);'??from?user_tab_columns? where??data_type='CLOB'?and?table_name='table_name'
推薦教程:《Oracle視頻教程》
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦