本篇内容主要讲解“oracle如何转移表的表空间”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“oracle如何转移表的表空间”吧!

oracle中,可利用“alter table”语句转移表的表空间,该语句可修改表的数据,与“move tablespace”配合使用就可移动表的表空间,语法为“alter table 表名 move tablespace 新的表空间”。

本教程操作环境:Windows10系统、Oracle 11g版、Dell G3电脑。

oracle怎么转移表的表空间

转移表的表空间语法如下:

将表table_name 移动到新的new_tbsp表空间

altertabletable_namemovetablespacenew_tbsp;

生成指定tbsp_name表空间下的【所有表】生成移动new_tbsp表空间SQL语句

select'altertable'||table_name||'movetablespacenew_tbsp;'fromuser_tableswheretablespace_name='tbsp_name'

扩展:转移不同的表空间

移动【索引】所在表空间:

如将索引index_name 移动到新的new_tbsp表空间(LOB数据类型的字段需按如下第3类处理)

alterindexindex_namerebuildtablespacenew_tbsp;

--生成指定user_name用户下的【所有索引】生成移动new_tbsp表空间SQL语句

select'alterindex'||index_name||'rebuildtablespacenew_tbsp;'fromuser_indexeswheretable_owner='user_name'

移动【二进制流字段】数据存储表空间,如将表table_name中的二进制流字段col_name移动到new_tbsp表空间

altertabletable_namemovetablespacenew_tbsplob(col_name)storeas(tablespacenew_tbsp);

--生成指定表table_name中为CLOB类型的字段的移动到new_tbsp 表空间SQL语句

select'altertable'||table_name||'movetablespacenew_tbsplob('||column_name||')storeas(tablespacenew_tbsp);'fromuser_tab_columnswheredata_type='CLOB'andtable_name='table_name'

到此,相信大家对“oracle如何转移表的表空间”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!