MYSQL數據庫遷移到ORACLE數據庫(補充)


 

一、環境和需求 1、環境

Mysql數據庫服務器:

OS version:linux 5.3 for 64 bit

Mysql Server version: 5.0.45

Oracle數據庫服務器:

OS version:linux 5.3 for 64 bit

Oracle version:oracle 11g r2

2、需求

       把mysql數據庫的數據轉移到oracle數據庫。目前mysql數據庫的備份文件為.sql文件,每個表一個.sql文件,把這些文件的數據導入到oracle數據庫。

二、mysql數據恢復

       采用先把mysql數據庫備份文件恢復到一個mysql測試庫中,然后使用oracle sql developer把mysql測試庫中的數據轉移到oracle數據庫。

       mysql備份恢復到myql測試庫:

       因為本次試驗采用的mysql備份為.sql文件,所以采用批量source處理。批量執行.sql文件,實現在mysql測試庫重新建立表並恢復數據。

       如果備份文件采用的是其他方式,則需要用對應的恢復辦法進行恢復。

       恢復操作:

[root@localhost ~]# mysql -u root -p

Enter password: ---輸入root用戶的密碼。

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 90

Server version: 5.0.45 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use test;

Database changed

mysql> source actors.sql;

mysql> source act_tactics.sql;

mysql> ………………

一次把所有的.sql文件貼在mysql的命令窗口,批量執行即可。

       注:因為mysql庫是生產庫,不能直接做實驗,所以才把備份恢復到一個測試庫中,進行測試,實際中如果可以直接連mysql數據庫,則這一步可以省略。

三、通過oracel sql developer轉換數據庫

       Mysql轉到oracle數據庫,要根據不同情況選擇不同的方法:

1、  從現有的mysql庫直接轉到oracle數據庫

這是不用恢復mysql數據庫,直接可以用sql developer轉到oracle里,這時要現在oracle數據庫中建好用戶(用戶名為mysql數據庫名,密碼也是mysql數據庫名,兩者必須一致不然導入不成功,而且視圖好像無法導入,無奈本人最后只能通過手工執行),選好默認表空間,mysql數據就會導入到該用戶下。

2、  mysql數據庫導出的sql文件導入到oracle數據庫

如果是只有mysql的導出文件,則需要先把該文件恢復到一個mysql數據庫中,然后再把恢復后的mysql數據庫轉換到oracle數據庫中。

這種情況要注意oracle數據庫的用戶名。因為sql developermysql轉換到oracle數據庫中時,會把mysql的數據存放到一個用戶下,這個用戶名一定會和mysql的數據庫名相同。如果oracle中已有這個用戶,則數據直接導入到該用戶下;如果沒有這個用戶,則sql developer會直接創建這樣的用戶,並把數據導入到該用戶下。需要注意的是,sql developer默認創建的oracle數據庫用戶的默認表空間是user,如果不注意,很有可能會導致user表空間爆滿!!!所以這種情況最好先建一個和mysql數據庫名一樣的oracle用戶,以防止user表空間爆滿影響數據導入。

轉 : http://www.itpub.net/thread-1586924-1-1.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM