1、因审计需求,需要将MySQL、Oracle数据库中需要的表数据导入到SqlSERVER进行审计。

2、之前的方法:
   A. oracle组将表dump下来,进行压缩,传送到oracle导数服务器(中转服务器),再进行还原,然后修改表结构,通过sqlserver自带工具从oracle库中迁移数据。
   B. MySQL是将表结构和数据文件dump下来,通过BCP方式导入到sqlserver数据库中。

3、现在通过测试发现,oracle通过DB_LINK方式将线上数据传输到中转服务器比把表dump下来后,再压缩再还原快狠多狠多。(切记是在ORACLE DG端进行哟)

4、若备端IP为:192.168.7.119 
    创建用户名yoon,密码yoon能够访问oracle备端需要表的schema

5、中转oracle服务器IP为:192.168.7.120
    创建database link:
    SQL>grant create database link to yoon; 
    SQL>CREATE DATABASE LINK cts_test  CONNECT TO yoon  IDENTIFIED BY yoon  USING 'YOONDG' ;         YOONDG为备端tnsnames.ora服务名  
    创建完进行测试是否可以连接访问:
     SQL>select count(*) from yoon.yoon_data@cts_test;        查询到数据说明OK。
    开始导数:
    SQL>create table yoon.yoon as select * from yoon@cts_test;

6、编写脚本,串行执行; 若有5个备端,可开5个窗口执行,原本7亿数据量dump后,压缩,还原需要N久,通过LINK方式大约100多分钟即可搞定。

7、最后通过sqlserver自带工具从oracle导数即可。

05-11 15:26