目前我所知有两种方法,第一种是直接通过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 <数据库名>
参数 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;
至此 两个方法均完成了数据迁移。