環境准備
對於oracle數據庫遷移達夢,需要對數據庫的一些初始化參數先進行修改,可避免在遷移過程中的一些錯誤,推薦的參數設置如下:
1、頁大小page_size,在達夢中,頁大小默認是8k,如果數據庫中表存在較多大字段,建議設置成16k或者32k,否則導入數據時會報錯。
2、BLANK_PAD_MODE空格填充模式,默認是0,建議設置成1。
3、dm.ini中COMPATIBLE_MODE參數設置是否兼容其他數據庫模式。
0:不兼容,1:兼容 SQL92標准,2:兼容 ORACLE,3:兼容 MS SQL SERVER,4:兼容 MYSQL
也可登錄disql修改,如下所示設置為sqlserver兼容模式
SP_SET_PARA_VALUE(2,'COMPATIBLE_MODE',3);
4 同時在遷移前需要在達夢中創建對應的用戶,否則會將數據遷移到SYSDBA用戶下。表空間也需要提前創建,否則會默認遷移到MAIN表空間下。
對於dts機器的內存推薦至少要大於4g,否則會出現”java heap space”之類內存不足的報錯。
遷移計划
遷移順序:先遷移序列、再遷移表、然后遷移視圖,最后遷移PLSQL對象,
數據量大的表單獨進行遷移
對於分區表如果數據量沒有超過 1 億建議遷移成普通表,在分區列上創建索引
對於大字段較多的表,需要修改批量的行數,以免造成遷移工具內存溢出。
oracle遷移測試(其他數據庫操作類似)
1 首先在達夢數據庫新建TEST用戶和模式。
修改dm.ini參數為oracle兼容模式
SP_SET_PARA_VALUE(2,'COMPATIBLE_MODE',3);
2 打開dm數據遷移工具,新建工程和新建遷移
選擇遷移方式,先選擇oracle到達夢測試
3 登錄源數據orcle信息 ,
選擇角色,用戶名和密碼,如下所示保保錯,提示沒有權限,登錄oracle授權sysdba給scott用戶即可正常登錄。
SQL> sqlplus / as sysdba
SQL> grant sysdba to scott;
如忘記用戶密碼或賬號鎖住,登錄sysdba改密和解鎖
修改用戶密碼
alter user system identified by manger;
解鎖用戶
alter user system account unlock;
4 輸入目標數據達夢信息
5 選擇指定對象復制。目的模式選擇dm對應的模式下,不然默認為oracle的模式
提示沒有權限 用sysdba登錄達夢數據庫 ,給用戶授權
grant INSERT ANY TABLE to "TEST";
授權之后執行ok
6 登錄dm數據庫檢查數據已經遷移成功