一、同类型数据库数据迁移很简单,直接使用expdp和impdp进行全库备份和导入即可,速度快,简单,具体操作可百度。
二、不同类型数据库之间进行数据迁移就会存在一些问题:如表结构会变化,语法不一样需要中间翻译一下等等,所以不能简单地使用dump方法。那么可以选择如下几个方法:
1.bcp+load data的方式(以从sybase数据库迁移数据到mysql数据库为例子)
首先将sybase数据库中所有表结构在mysql数据库中新建一份(这一步可对比两者建表语句语法特点,写脚本进行建表语句批量书写);
然后新生成一个sybase数据库里面所有表名的配置文件tablename.txt,以及分别连接sybase数据库以及mysql数据库的配置文件
sybase.ini和mysql.ini(便于后面的脚本能读取配置文件里面对应的用户名,密码等等信息);
然后批量对sybase的表进行如下操作:
连上并登入sybase数据库中,处理完日期的null值后,将表数据导入到temp_表名,这张临时表里
通过bcp方式将temp_表名的数据转换为txt格式的中间介质,并进行由gbk编码转换为utf8编码的过程
最后删除临时表 temp_表名,并使用load data方式,连接mysql数据库,导入数据。
该种方法比较普通,速度为:500G的数据按小时级别完成迁移。