• 技术文章 >数据库 >mysql教程

    oracle怎么转移表的表空间

    长期闲置长期闲置2022-05-26 10:09:44原创69

    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;

    01.png

    生成指定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'

    02.png

    03.png

    推荐教程:《Oracle视频教程

    以上就是oracle怎么转移表的表空间的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:oracle
    上一篇:什么是oracle序列 下一篇:oracle怎么关闭触发器
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• oracle怎么取消dba权限• oracle怎么判断数据是否为日期• 怎么删除oracle被锁的表• oracle怎么删除schema• oracle怎么修改db name
    1/1

    PHP中文网