數據庫遷移的幾種方式

數據遷移(Data migration)是指在存儲類型、格式和計算機系統之間的數據轉換。數據遷移當一個機構決定使用新的計算系統或與當前的系統不兼容的數據管理系統時是必須的。數據遷移一般有計劃的執行來完成一個自動的遷移,從單調的任務中解放 人力資源。當機構或我的改變計算機系統或升級到新的系統時須要它。
1、exp/imp邏輯備份與恢復:
2、Storage存儲遷移:
將數據文件、控制文件、日誌文件、spfile掛到新機器上,而後在新機器上啓動數據庫。
3、利用data guard遷移:
4、用rman作遷移:
 
咱們經常須要對數據進行遷移,遷移到更性能配置更高級的主機OS上、遷移到遠程的機房、遷移到不一樣的平臺下,如下介紹ORACLE的幾種數據庫遷移方案:
 
  1、exp/imp邏輯備份與恢復:
 
  它是最經常使用最簡單的方法,通常是基於應用的owner級作導出導入。
 
  操做方法爲:
  在新庫創建好owner和表空間,停老庫的應用,在老庫執行:
$ exp user/pwd owner=XXX file=exp_xxx.dmp log=exp_xxx.log buffer=6000000,
  導入dmp文件到新庫,在新庫執行以下命令:
$ imp user/pwd fromuser=XXX touser=XXX file=exp_xxx.dmp log=imp_xxx.log ignore=y.
 
  優缺點:優勢是能夠跨平臺使用;缺點是停機時間長,停機時間爲從exp到網絡傳輸到新庫,再加上imp的時間。
 
  2、Storage存儲遷移:
 
  這種狀況下,數據文件、控制文件、日誌文件、spfile都在存儲上(通常狀況下是裸設備),咱們能夠直接把存儲掛到新機器上,而後在新機器上啓動數據庫。
 
  操做方法:將老庫的pfile(由於裏面有指向裸設備的spfile連接),tnsnames.ora,listener.ora,密碼文件傳到新庫的對應位置。將存儲切至新機,或者用文件拷貝或dd的方式複製數據文件,啓動數據庫。
 
  優缺點:優勢是該遷移方式很是簡單,主要的工做是主機工程師的工做,dba只需配合便可,停機時間爲停庫、切存儲、起庫的時間;缺點是要求新老庫都是同一平臺,是相同的數據庫版本。
 
  3、利用data guard遷移:
 
  用dg咱們不只能夠用來作容災,物理的dg咱們還能夠做爲遷移的方式。
 
  操做方法:可見 http://www.oracleblog.cn/study-note/dg-created-by-rman/或者
http://www.oracleblog.cn/study-note/create-dg-by-rman-one-datafile-by-one-datafile/或者其餘相關網文。注意switch over以後,能夠將dg拆掉,去掉log_archive_dest_二、FAL_SERVER、FAL_CLIENT、standby_file_management參數。另外還要注意若是用rman作dg,注意手工添加tempfile。
 
  優缺點:優勢是停機時間短,停機時間爲switch over的時間;缺點:主機必須雙份、存儲必須雙份。
 
  4、用rman作遷移:
 
  rman比較適合於跨文件系統的遷移,如同平臺下的不一樣文件系統。
 
  操做方法:
 
  1.停第三方的歸檔備份,如legato或dp;
 
  2.backup數據庫;

DB2DB 是目前通過測試速度最快、最穩定實現多種數據庫之間進行數據轉換的工具。支持 SQL Server、MySQL、SQLite、Access 等多種數據庫類型,經過該工具能夠把原來的系統,方便快速地部署在不一樣的數據庫甚至是雲端數據庫下。在大數據狀況下(千萬級別以上),處理速度比國內外同類軟件要高出300%以上。並針對雲端數據庫中使用最多的 MySQL 數據庫進行優化,使得從源數據庫複製到新數據庫時保留更多的數據表屬性設置。這樣大大減小程序員、DBA、實施人員將大型數據庫進行遷移時的等待、測試和調試時間,減小公司爲了測試某系統轉換到新數據庫系統時的人力成本。
————————————————

python

項目須要對oracle數據遷移到MySQL中,蒐集了一些方法和工具,如今作一個彙總和總結,較好的有如下幾種:mysql

一、SQLyog(https://link.zhihu.com/?target=https%3A//www.webyog.com/product/sqlyog)程序員

SQLyog是世界著名的Webyog公司出品的一款簡潔高效、功能強大的圖形化MySQL數據庫管理工具。使用SQLyog,能夠快速直觀地讓咱們從世界上任何角落經過網絡來維護遠端的MySQL數據庫。web

二、 intelligent-converters 的 oracle-to-mysql (https://link.zhihu.com/?target=http%3A//www.convert-in.com/)sql

外國軟件,官網說法通常的i7可達2萬/秒。數據庫

三、DB2DB(https://link.zhihu.com/?target=http%3A//www.szmesoft.com/DB2DB)網絡

國內深圳的軟件,官網介紹說在大數據狀況下(千萬級別以上),處理速度比國內外同類軟件要高出300%以上。oracle

四、MySQL Migration Toolkit免費工具

MySQL Migration Toolkit是一款很不錯的將其餘數據源轉換成mysql的工具。這個 Mysql官方提供的工具。性能

五、Navicat Premium

這個很少作介紹,都知道的。

六、kettle等ETL工具

不少ETL工具帶有從一個數據庫讀取寫入另外一個數據庫的功能。

七、本身編寫

利用JAVA、R、python等編寫程序進行數據轉移。

 

限制遷移的速度中除了工具性能外,估計在網絡速度方面也會有較大限制;按照每秒能夠達到10M(萬條數據左右)的網絡傳輸速度,1T須要1024*1024/3600*10約30小時,實際估計尚未這麼快。具體的方法工具使用網上有比較多的教程。————————————————

相關文章
相關標籤/搜索