温馨提示×

ubuntu oracle怎么迁移

小樊
43
2026-10-28 21:22:06
栏目: 云计算

在 Ubuntu 上迁移 Oracle 数据库,常见有几种场景。下面按最常用、最稳妥的方式给你讲,先确认你是哪种迁移:


一、先确认迁移类型

  1. 同版本迁移(如 19c → 19c)
  2. 跨版本迁移(如 11g → 19c)
  3. 同机换目录 / 换盘
  4. 跨服务器迁移(最常见)

二、最推荐的迁移方式(跨服务器)

✅ 方式 1:RMAN 备份恢复(生产最稳妥)

适合:

  • 数据量大
  • 要求一致性
  • 可停机或短暂停机

源库(旧 Ubuntu)

rman target /
BACKUP DATABASE PLUS ARCHIVELOG;

把备份文件拷贝到新服务器:

scp -r /u01/backup/* oracle@new_server:/u01/backup/

目标库(新 Ubuntu)

rman target /
RESTORE DATABASE;
RECOVER DATABASE;
ALTER DATABASE OPEN RESETLOGS;

✅ 优点:最安全
❌ 缺点:步骤稍复杂


✅ 方式 2:Data Pump 导出导入(最常用)

适合:

  • 中小型库
  • 可停机
  • 跨版本(如 11g → 19c)

源库导出

expdp system/password \
DIRECTORY=dp_dir \
DUMPFILE=orcl.dmp \
LOG=exp.log \
FULL=Y

目标库导入

impdp system/password \
DIRECTORY=dp_dir \
DUMPFILE=orcl.dmp \
LOG=imp.log \
FULL=Y

✅ 简单直观
❌ 大库慢


✅ 方式 3:物理拷贝数据文件(同版本)

适合:

  • 同 Oracle 版本
  • 同操作系统

步骤:

  1. 停库
  2. 拷贝:$ORACLE_HOME、oradata、init*.ora
  3. 启库

⚠️ 风险高,不推荐新手


三、Ubuntu 特有注意点

  • Oracle 官方不支持 Ubuntu,通常用 Oracle Linux / RHEL
  • Ubuntu 上一般是:
    • 手动安装
    • 或 Docker(如 container-registry.oracle.com)
  • 迁移前确认:
    sqlplus / as sysdba
    SELECT * FROM v$version;
    

四、推荐方案总结

场景 推荐方式
生产环境 RMAN
开发/测试 Data Pump
同版本同机 物理拷贝
Docker 挂载卷 + Data Pump

如果你愿意,可以告诉我:

  • Oracle 版本(11g / 12c / 19c)
  • 是否跨服务器
  • 数据量大小
  • 能否停机

我可以直接给你一步一步的具体命令。

0 踩