Oracle数据迁移

来源:互联网 发布:竞价账户怎么优化 编辑:程序博客网 时间:2024/06/03 17:47

Oracle数据迁移

使用场景

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

使用技术

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

流程图

Created with Raphaël 2.1.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. 处理后的数据导出到迁移库中

导出数据方式参考第一步中的方法

结束语

感谢大家观看我的博客,第一次写博客,排版,组织语言等等还是一个新手,请大神们多多关照

原创粉丝点击