Oracle数据迁移

Oracle数据迁移(详细)

使用场景

将一个用户某些表数据迁移到另一个用户中,可以个性化表数据

使用技术

  1. sql语句
  2. 存数过程
  3. database links

流程图

Created with Raphaël 2.2.0 开始 创建临时库 创建帐号 导入数据 数据处理 导出数据 结束

操作步骤

1. 导出数据源数据

将数据迁移的数据源的数据导出,导出方式为

  1. 导出 sql语句
  2. 导出 csv文件
  3. 导出 dmp 文件
  4. database links 连接导入导出

根据实际的需求,来选择导出方式

2. 创建临时库

所有的数据,都是在临时库中操作,防止误操作,将原有的数据损坏

  1. 创建数据源用户:old_user
  2. 创建数据处理用户:new_user
  3. 将第一步导出的数据,导入到old_user 用户中,该数据是数据迁移的数据源
  4. 在new_user用户,创建表,表结构跟你最后导出的表结构相同即可
  5. 在new_user用户, 创建 database links 名称为 old_link

3.编写存储过程

create or replace procedure pro_t_users is  --异常可以自己写
cursor old_users
   is
    select 
     name,sex,age
      from t_old_users@old_link;
    
   row_old_users old_users%rowtype;
   uid number; --声明uid作为变量 为id 赋值 
begin
    delete t_users;  --删除历史数据,每一次执行存数过程先删除历史数据
    commit;
    uid:=0;
    open old_users;
    loop
    fetch old_users into row_old_users;
    exit when old_users%notfound;
    uid:=uid+1;        --每一次添加增加1
   insert into t_users(id,username,sex,age,crttime)
   values(uid,row_old_users.name ,row_old_users.sex,  row_old_users.age, sysdate);
   commit;       --可以判断id 来进行,每 100或 1000 或者10000等等 进行提交                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
    END LOOP;
    CLOSE DOC_TYPE;
end;

4. 处理后的数据导出到迁移库中

导出数据方式参考第一步中的方法
##结束语
感谢大家观看我的博客,第一次写博客,排版,组织语言等等还是一个新手,请大神们多多关照

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值