ORACLE表批量迁移表空间

第一步:将表迁移到目标表空间

 1)使用如下语句,可以将需要移动的表空间语句在pl/sql中列出来,

select 'alter table ' ||table_name || ' move tablespace 目标表空间名称;' from user_all_tables where tablespace_name='源表空间名称'

2)将上面语句的结果拷贝到sql文件1.sql中

第二步:重新生成索引:

1)使用如下语句,生成重新编译索引语句:

select 'alter index ' ||index_name || ' rebuild  tablespace RISENET;' from user_indexes
where index_type='NORMAL'  and TABLE_OWNER='RISENET' AND DROPPED='NO'

注意:

index_type包括两种类型'NORMAL'为普通表,'LOB'为blob或者clob字段生成的索引,在这里要排除掉

 DROPPED包括YES和NO两种类型,为YES时是废弃的索引

2)将上面语句的结果拷贝到sql文件2.sql中

第三步:批量执行操作:

1)在pl/sql中Tools-->Import tables-->SQL Inserts分别选中1.sql,2.sql执行操作

 

 

备注:

本来想用rebuild index来重新生成索引,但一直执行,不能中断,注意:重新生成索引时,需要将临时表空间扩大,一般为原索引的2倍,否则会出错,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值