Linux下Oracle数据迁移常用工具及方法如下:
一、Data Pump(expdp/impdp)
适用场景:逻辑迁移(表结构+数据)。
步骤:
- 源服务器:
- 创建目录对象:
sqlplus / as sysdba→create or replace directory tmpDir as '/path';。 - 导出数据:
expdp username/password@ip:port/service schemas=库名 directory=tmpDir dumpfile=export.dmp logfile=export.log;。
- 创建目录对象:
- 传输文件:
scp -P 端口 /path/export.dmp 目标服务器:/path;。 - 目标服务器:
- 创建目录对象(同源服务器)。
- 导入数据:
impdp username/password@ip:port/service schemas=库名 directory=tmpDir dumpfile=export.dmp job_name=job1;。
二、RMAN(Recovery Manager)
适用场景:物理迁移(全量备份恢复)。
步骤:
- 源服务器:
- 备份数据库:
rman target /→backup database plus archivelog;。 - 记录备份文件路径,准备目标服务器目录结构。
- 备份数据库:
- 目标服务器:
- 恢复控制文件、数据文件:
rman target /→restore controlfile from '/path';→restore database;。 - 修改初始化参数(如路径转换):
ALTER SYSTEM SET DB_FILE_NAME_CONVERT='/old/path,/new/path' SCOPE=SPFILE;。 - 启动数据库至NOMOUNT状态并完成恢复。
- 恢复控制文件、数据文件:
三、Oracle GoldenGate
适用场景:实时数据同步/异构数据库迁移。
步骤:
- 安装OGG工具,配置源库和目标库的
extract和replicat进程。 - 启动数据抽取和同步任务,验证数据一致性。
注意事项
- 兼容性检查:确保源库与目标库的字符集、版本兼容。
- 备份数据:迁移前对源库进行全量备份,避免数据丢失。
- 权限配置:确保用户具备
CREATE DIRECTORY、EXP_FULL_DATABASE等权限。 - 性能优化:大表迁移可分批处理,或使用并行参数(如
PARALLEL=4)。
工具选择建议:
- 逻辑迁移选Data Pump,简单灵活;
- 物理迁移选RMAN,适合跨服务器全量复制;
- 实时同步选GoldenGate,适合生产环境零停机迁移。
参考来源: