温馨提示×

Ubuntu Oracle数据库迁移方法

小樊
50
2025-08-05 18:39:15
栏目: 云计算

在Ubuntu上进行Oracle数据库迁移,常用方法及步骤如下:

一、使用Data Pump工具(推荐)

1. 源服务器操作

  • 创建目录对象
    su - oracle  
    sqlplus / as sysdba  
    SQL> CREATE OR REPLACE DIRECTORY tmpDir AS '/path/to/dump';  
    
  • 导出数据
    expdp username/password@源IP:端口/服务名 schemas=源用户 directory=tmpDir dumpfile=export.dmp logfile=export.log  
    
  • 传输文件
    scp -P 端口 /path/to/dump/export.dmp 目标服务器:/path/to/dump/  
    

2. 目标服务器操作

  • 创建目录对象
    su - oracle  
    sqlplus / as sysdba  
    SQL> CREATE OR REPLACE DIRECTORY tmpDir AS '/path/to/dump';  
    
  • 导入数据
    impdp username/password@目标IP:端口/服务名 schemas=源用户 directory=tmpDir dumpfile=export.dmp job_name=import_job  
    
    参数说明
    • remap_schema:若需修改用户,可添加 remap_schema=源用户:目标用户

二、使用传统exp/imp工具

1. 源服务器操作

  • 导出数据
    exp username/password@源IP:端口/服务名 file=/path/to/dump/export.dmp log=export.log  
    
  • 传输文件:同Data Pump的scp命令。

2. 目标服务器操作

  • 导入数据
    imp username/password@目标IP:端口/服务名 file=/path/to/dump/export.dmp log=import.log fromuser=源用户 touser=目标用户  
    

三、使用Navicat等图形化工具

  1. 安装Navicat for Oracle,配置SSH端口转发连接源库和目标库。
  2. 迁移步骤
    • 选择“数据传输”功能,指定源库和目标库的表、视图等对象。
    • 支持全量或增量迁移,自动处理数据类型转换。

四、注意事项

  • 权限与备份:确保源库有导出权限,目标库有导入权限,迁移前备份源库。
  • 字符集与参数:目标库需与源库字符集一致,可通过NLS_LANG参数设置。
  • 性能优化:大表迁移可分批次或使用并行参数(如PARALLEL)。
  • 工具选择:Data Pump适合大规模数据迁移,Navicat适合中小规模或简单结构迁移。

参考来源

0