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 [email?protected]_test; ? ? ? ?查詢到數據說明OK。
開始導數:
SQL>create table yoon.yoon as select * from [email?protected]_test;
6、編寫腳本,串行執行; 若有5個備端,可開5個窗口執行,原本7億數據量dump后,壓縮,還原需要N久,通過LINK方式大約100多分鐘即可搞定。
7、最后通過sqlserver自帶工具從oracle導數即可。
原文:http://www.cnblogs.com/hankyoon/p/5174579.html