前言说明:本文采用的方式是利用OCI接口迁移数据;oracle 11.2版本,64位系统。未下载OCI接口文档直接进行数据迁移时会报错:Cannot load OCI DLL
1、首先需要根据oracle的版本以及电脑位数下载OCI接口文档。在plsql中执行命令select * from v$version
查看oracle的版本。
点击现在OCI;
下载版本相同或相近的OCI文档,如一个不生效可多下载几个试试。
2、navicat中配置OCI环境
将上一步安装的oci配置到navicat,配置好后需要重启navicat
注:网上有说还需要配置sqlPlus,我这里没有配置但可以正常使用,如不可以正常使用,可添加上sqlPlus的配置再实现
配置完成,可以进行数据的迁移了。
问题汇总:
在进行数据迁移时,主要遇到了两个问题
1.Got a packet bigger than max_allowed_packet bytes :参数设置过小
2.MySQL server has gone away :mysql服务断开
这两个问题均是在迁移含Blob字段的表时出现的错误,都是由于max_allowed_packet参数设置过小导致的。直接执行set global max_allowed_packet = 1048576*200 ;
将参数设置为200M,关闭数据库重新连接生效。
验证方式:执行 show VARIABLES like '%max_allowed_packet%';