怎麼把達夢資料庫例項從Windows遷移到Linux系統

yanhengdoudou發表於2019-10-28

現象描述

怎麼把達夢資料庫例項從Windows 遷移到Linux 系統,有時候我們有這種切實的需求,特別是當資料量比較大的時候,通過在linux 上新建一個資料庫,再通過遷移工具,或者是邏輯備份恢復(dexp dimp )的方式遷移的話,有兩個弱點:

1.        過程比較複雜,所有表、資料、觸發器、非表物件、統計資訊等,要考慮很多東西

2.        而且這個過程,涉及到在目的資料庫B 樹重構等過程,效率不高。

 

這裡我們介紹一種直接衝Windows 作業系統上,拷貝資料檔案的方式,把達夢資料庫例項遷移到Linux 上的方式,這個對於表空間使用率較高的例項,可以說是最高效的一種方式,而且過程簡答,不用考慮例項內物件遷移的完整程度。

處理方法

Windows 軟體安裝目錄:E:\OneDrive - business\DM_DBMS\DBMS_20190604\bin

Windows 例項資料目錄:E:\test1\DAMENG\dm.ini

Linux 軟體安裝目錄:/opt/dmdbms/bin

 

1.        Windows 上,正常停止資料庫服務。

2.        Cmd 進到資料庫軟體安裝目錄

E:

Cd e:\dmdbms\bin

3.        備份資料庫

PS E:\OneDrive - business\DM_DBMS\DBMS_20190604\bin> .\dmbackup.exe ini_path=E:\test1\DAMENG\dm.ini bakfile_path=e:\back\back.bak name=test01

backup fun end time used: 1144.562(ms)

backup successfully!

backup time used: 7555.626(ms)

PS E:\OneDrive - business\DM_DBMS\DBMS_20190604\bin>

 

 

備註:ini_path 注意不要用單引號,如果要用也要注意用雙引號。

 

4.        然後,登陸linux ,把備份檔案拷貝到linux 伺服器上:(如 放到了/opt/dmdbms/bak 下)

備註:確保相關目錄,包含上傳的bak 檔案,都是dmdba 使用者,都有許可權

 

5.        linux 上新初始化一個例項(linux 上已經安裝了資料庫軟體,在/opt/dmdbms/ 下面)

[dmdba@localhost ~]$ cd /opt/dmdbms/bin

[dmdba@localhost bin]$ ./dminit path=/opt/dmdbms/data

 

6.        把備份恢復到那個例項所在位置

[dmdba@localhost bin]$ ./dmrestore  ini_path=/opt/dmdbms/data/DAMENG/dm.ini file=/opt/dmdbms/bak/back.bak

Continue?[Y/N]: y

Warning: Backup file may has been modified !

 

Continue?[Y/N]: y

restore bak_file: /opt/dmdbms/bak/back.bak ...

Apply archive log LSN from 40113 to 40112, time used:0.000s.

restore finished, code = 0!

 

restore successfully!

restore time used: 2965.309(ms)

[dmdba@localhost bin]$

 

7.        然後就可以正常啟動資料庫了,完成了例項遷移。

 

備註1 如果例項比較大的時候,備份檔案目錄下生成的檔案格式會不止一個,名字規則是:back.bak back_1.bak back_2.bak 等等

這個時候,命令裡面,依然只要寫 back.bak 這個檔名字就可以了。

但是:

1.        需要保證拷貝的時候,相關檔案都拷貝走。

2.        恢復的時候,需要保證帶小尾巴(_1 _2 )這些後續檔案,都保持在同一個目錄下。

就可以正常恢復。

 

備註2 linux 下和Windows 下,請使用相近的dmserver 版本,不然可能碰到類似報錯哦:

Server version mismatch, version of data is 0x70106a5, server version is 0x7010660.

Please use the correct version of server or set the CHECK_SVR_VERSION=0 in dm.ini

這裡不講解決辦法(解決辦法也在報錯提示中了),建議使用相同或者相近的版本。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69949798/viewspace-2661596/,如需轉載,請註明出處,否則將追究法律責任。

相關文章