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导数即可。