加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

oracle怎样转移表的表空间

发布时间:2023-05-26 14:03:27 所属栏目:MySql教程 来源:
导读:本篇内容主要讲解“oracle如何转移表的表空间”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“oracle如何转移表的表空间”吧!

oracle中,可
本篇内容主要讲解“oracle如何转移表的表空间”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“oracle如何转移表的表空间”吧!
 
oracle中,可利用“alter table”语句转移表的表空间,该语句可修改表的数据,与“move tablespace”配合使用就可移动表的表空间,语法为“alter table  表名 move tablespace 新的表空间”。
 
本教程操作环境:Windows10系统、Oracle 11g版、Dell G3电脑。
 
转移表的表空间语法如下:
 
将表table_name 移动到新的new_tbsp表空间
 
alter table  table_name move tablespace new_tbsp;
 
oracle如何转移表的表空间
 
生成指定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'
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!