它是最常用最簡單的方法,一般是基於應用的owner級做導出導入。
操作方法為:
優缺點:優點是可以跨平台使用;缺點是停機時間長,停機時間為從exp到網絡傳輸到新庫,再加上imp的時間。
二、Storage存儲遷移:
這種情況下,數據文件、控制文件、日志文件、spfile都在存儲上(一般情況下是裸設備),我們可以直接把存儲掛到新機器上,然后在新機器上啟動數據庫。
操作方法:將老庫的pfile(因為里面有指向裸設備的spfile鏈接),tnsnames.ora,listener.ora,密碼文件傳到新庫的對應位置。將存儲切至新機,或者用文件拷貝或dd的方式復制數據文件,啟動數據庫。
優缺點:優點是該遷移方式非常簡單,主要的工作是主機工程師的工作,dba只需配合即可,停機時間為停庫、切存儲、起庫的時間;缺點是要求新老庫都是同一平台,是相同的數據庫版本。
三、利用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_2、FAL_SERVER、FAL_CLIENT、standby_file_management參數。另外還要注意如果用rman做dg,注意手工添加tempfile。
優缺點:優點是停機時間短,停機時間為switch over的時間;缺點:主機必須雙份、存儲必須雙份。
四、用rman做遷移:
rman比較適合於跨文件系統的遷移,如同平台下的不同文件系統。
操作方法:
1.停第三方的歸檔備份,如legato或dp;
2.backup數據庫;
DB2DB 是目前經過測試速度最快、最穩定實現多種數據庫之間進行數據轉換的工具。支持 SQL Server、MySQL、SQLite、Access 等多種數據庫類型,通過該工具可以把原來的系統,方便快速地部署在不同的數據庫甚至是雲端數據庫下。在大數據情況下(千萬級別以上),處理速度比國內外同類軟件要高出300%以上。並針對雲端數據庫中使用最多的 MySQL 數據庫進行優化,使得從源數據庫復制到新數據庫時保留更多的數據表屬性設置。這樣大大減少程序員、DBA、實施人員將大型數據庫進行遷移時的等待、測試和調試時間,減少公司為了測試某系統轉換到新數據庫系統時的人力成本。
————————————————
項目需要對oracle數據遷移到MySQL中,搜集了一些方法和工具,現在做一個匯總和總結,較好的有以下幾種:
1、SQLyog(https://link.zhihu.com/?target=https%3A//www.webyog.com/product/sqlyog)
SQLyog是世界著名的Webyog公司出品的一款簡潔高效、功能強大的圖形化MySQL數據庫管理工具。使用SQLyog,可以快速直觀地讓我們從世界上任何角落通過網絡來維護遠端的MySQL數據庫。
2、 intelligent-converters 的 oracle-to-mysql (https://link.zhihu.com/?target=http%3A//www.convert-in.com/)
外國軟件,官網說法一般的i7可達2萬/秒。
3、DB2DB(https://link.zhihu.com/?target=http%3A//www.szmesoft.com/DB2DB)
國內深圳的軟件,官網介紹說在大數據情況下(千萬級別以上),處理速度比國內外同類軟件要高出300%以上。
4、MySQL Migration Toolkit免費
MySQL Migration Toolkit是一款很不錯的將其他數據源轉換成mysql的工具。這個 Mysql官方提供的工具。
5、Navicat Premium
這個不多做介紹,都知道的。
6、kettle等ETL工具
很多ETL工具帶有從一個數據庫讀取寫入另一個數據庫的功能。
7、自己編寫
利用JAVA、R、python等編寫程序進行數據轉移。
限制遷移的速度中除了工具性能外,估計在網絡速度方面也會有較大限制;按照每秒可以達到10M(萬條數據左右)的網絡傳輸速度,1T需要1024*1024/3600*10約30小時,實際估計還沒有這么快。具體的方法工具使用網上有比較多的教程。
————————————————