目前我所知有兩種方法,第一種是直接通過DM數據遷移工具進行數據遷移,此方法適用場景爲達夢數據庫所在服務器與oracle所在服務器可以相互通信;第二種是在oracle數據庫所在服務器安裝達夢數據庫,將數據從oracle導入後再從達夢數據庫導出成dmp文件後,到要遷移到的達夢數據庫進行數據導入。
先看第一種:
首先打開DM數據遷移工具,在左側空白處右擊點擊新建工程,工程名稱可以隨便填寫,我這裏填寫的是o數據遷移,
填寫完後點擊確定
創建完成後上面會出現你所創建的工程名稱,點開後,右擊下面的遷移,然後出現新建遷移的頁面,遷移名稱可以隨便寫,我這裏寫的是oracle,之後點擊確定。
之後就跳到了如下頁面 ,然後點擊下一步
遷移方式選擇Oracle==》DM7
然後填寫oracle數據庫連接信息
然後是達夢數據庫連接信息
之後選擇你要遷移的數據庫、表、視圖、序列、存儲過程等
再點擊下一步選擇要遷移的各種對象
然後在下一步點擊完成
數據即可傳輸成功。
以上爲第一種數據遷移方式,
第二種方式前面都和第一種一樣,只不過在本地遷移到達夢數據庫後需要備份成dmp文件 ,
語法格式
BACKUP DATABASE <數據庫名> [FULL | INCREMENT] TO <備份名> [BAKFILE ‘<備份路徑>’] [BACKUPINFO ‘<備份描述>’] [MAXSIZE <限制大小>] [IDENTIFIED BY <密鑰>[WITH ENCRYPTION]] [COMPRESSED];
參數 1.數據庫名:需要備份的數據庫的名稱
2.FULL|INCREMENT:備份類型,FULL 是完全備份,INCREMENT 增量備份
3.備份名:備份的名稱,在DMDBMS 中以此標識不同的備份
4.備份路徑:備份文件存放的完整路徑
5.備份描述:備份的描述信息
6.限制大小:最大備份文件大小,最小值爲 16M,最大值無限制
7.密鑰:備份加密通過使用 IDENTIFIED BY 來指定密碼
8.加密類型:WITH ENCRPYTION 用來指定加密類型
9.備份壓縮:使用 COMPRESSED 字句來指定是否壓縮。如果使用,則表示壓縮,否則表 示不壓縮
按照正常需求來說其實很簡單:
例 假設存在數據庫 BOOKSHOP,對其進行完全備份,備份名爲 BOOKSHOP_BAK1並存放到D盤下
BACKUP DATABASE BOOKSHOP FULL TO D:/BOOKSHOP_BAK1;
再移動到要遷移數據的達夢數據庫服務器上,然後再還原數據庫
語法說明
RESTORE DATABASE <數據庫名> <FULL | INCREMENT> FROM ['<文件路徑>' | BACKUP <備份 名>][UNTIL TIME <時間點>][DBFILE <恢復文件> {, <恢復文件>}] [SET ARCHIVEDIR TO '<歸檔路徑>'{, '<歸檔路徑>'}] [[ARCHIVELOG | NOARCHIVELOG] [ARCHIVEDIR '<歸檔路徑>']] [BACKUPDIR '<備份文件路徑>'] [IDENTIFIED BY <密鑰>] <恢復文件>::=SET <文件 ID> TO '<文件路徑>'
參數 1.數據庫名:需要進行恢復的數據庫。
2.FULL|INCREMENT:指名本次恢復使用完全恢復還是增量恢復。
3.文件路徑:指明進行還原使用的備份文件的完整路徑。
4.備份名:指明進行還原使用的備份的備份名。
5. 文件 ID:備份中文件的編號,其對應的文件路徑可以通過調用存儲過程 sp_bak_get_db_file_list(pathname varchar(256))獲得。
6.文件路徑:爲備份中對應編號的文件指定的恢復文件路徑。
7.歸檔路徑:利用歸檔日誌進行恢復時,歸檔日誌的路徑。
8.ARCHIVELOG | NOARCHIVELOG:是否啓用歸檔日誌。
9.歸檔路徑:歸檔日誌的存放路徑。
10.備份文件路徑:備份文件的存放路徑。
11.時間點:通過 UNTIL TIME 來指定恢復的時間點
12.密鑰:備份加密通過使用 IDENTIFIED BY 來指定密碼
按照通常來說也沒有上面那麼複雜
例 對數據庫 BOOKSHOP 使用備份 BOOKSHOP_BAK1 進行還原 通過系統存儲函數 SF_GET_BAK_BY_NAME 可以得知該備份的備份文件路徑,假設爲: C:\DMDBMS\data\BOOKSHOP_BAK1.bak。則通過下面語句可執行還原操作
RESTORE DATABASE BOOKSHOP FULL FROM ' C:\DMDBMS\data\BOOKSHOP_BAK1.bak';
這個操作還可以不用查看該備份文件的路徑,而是直接使用備份名進行還原,如下:
RESTORE DATABASE BOOKSHOP FULL FROM BACKUP BOOKSHOP_BAK1;
至此 兩個方法均完成了數據遷移。