oracle中table迁移表空间

说明

oracle中调整表所归属的表空间。根据表中是否含有LOB、LONG类型字段,分成两种迁移方法。

步骤
  • 表中不含LOB、LONG类型字段

    1. 使用DBA权限用户登录数据库,执行如下sql(注意替换sql中参数)
      select 'alter table '||T.OWNER||'.' ||T.TABLE_NAME || ' move tablespace XXX;' FROM dba_tables t where T.OWNER='YYY' AND T.TABLESPACE_NAME='ZZZ';
    2. 执行生成的sql(注意替换sql中参数)
      alter table YYY.table_name move tablespace XXX;
    3. 重建索引
      alter index unm.index_name rebuild tablespace tablespace_name


  • 表中含LOB、LONG类型字段

    1. 使用exp工具导出表(注意替换命令中参数)
      exp unm/pwd@192.168.1.8:1521/orcl tables=umn.tablename file=d:\dmp\TABLE.dmp;
    2. 登录数据库,删除原表
      drop tableumn.tablename;
    3. 修改表空间
      使用文本工具打开导出的表备份d:\dmp\TABLE.dmp,搜索并替换TABLESPACE “ZZZ”为TABLESPACE “XXX”
    4. 使用imp工具,将修改后的备份文件导回数据库
      imp unm/pwd@192.168.1.8:1521/orcl fromuser=unmtouser=unmfile=d:\dmp\TABLE.dmp;
    5. 重建索引
      alter index unm.index_name rebuild tablespace tablespace_name
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值