加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle中table迁移表空间

发布时间:2020-12-12 15:20:35 所属栏目:百科 来源:网络整理
导读:说明 oracle中调整表所归属的表空间。根据表中是否含有LOB、LONG类型字段,分成两种迁移方法。 步骤 表中不含LOB、LONG类型字段 使用DBA权限用户登录数据库,执行如下sql(注意替换sql中参数) select 'alter table '||T.OWNER||'.' ||T.TABLE_NAME || ' mov

说明

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:dmpTABLE.dmp;
    2. 登录数据库,删除原表
      drop tableumn.tablename;
    3. 修改表空间
      使用文本工具打开导出的表备份d:dmpTABLE.dmp,搜索并替换TABLESPACE “ZZZ”为TABLESPACE “XXX”
    4. 使用imp工具,将修改后的备份文件导回数据库
      imp unm/pwd@192.168.1.8:1521/orcl fromuser=unmtouser=unmfile=d:dmpTABLE.dmp;
    5. 重建索引
      alter index unm.index_name rebuild tablespace tablespace_name

(编辑:李大同)

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

    推荐文章
      热点阅读