温馨提示×

ubuntu oracle怎样迁移

小樊
35
2026-09-23 02:18:11
栏目: 云计算

在 Ubuntu 上迁移 Oracle 数据库,常见场景有几种,下面按最常用、最稳妥的方式给你说明,你可以对照自己的情况选择。


一、常见迁移场景

  1. 同版本 Oracle,换服务器(Ubuntu → Ubuntu)
  2. 跨版本升级迁移
  3. 物理迁移(数据文件)
  4. 逻辑迁移(EXPDP / IMPDP)
  5. 使用 RMAN 迁移

二、推荐方式(最常用):Data Pump(EXPDP / IMPDP)

✅ 适合:

  • 跨服务器
  • 跨小版本
  • 最安全、最简单

1️⃣ 源库导出

expdp system/password \
schemas=你的用户 \
directory=DATA_PUMP_DIR \
dumpfile=orcl_exp.dmp \
logfile=exp.log

查看目录位置:

SELECT * FROM dba_directories;

2️⃣ 拷贝文件到目标服务器

scp orcl_exp.dmp ubuntu@目标IP:/u01/app/oracle/dp/

3️⃣ 目标库导入

impdp system/password \
schemas=你的用户 \
directory=DATA_PUMP_DIR \
dumpfile=orcl_exp.dmp \
logfile=imp.log

三、RMAN 迁移(适合大库、同版本)

✅ 适合:

  • 数据库很大
  • 同版本
  • 要求停机时间短

步骤简述

  1. 源库备份
rman target /
BACKUP DATABASE PLUS ARCHIVELOG;
  1. 拷贝备份到目标机
  2. 目标机恢复
RESTORE DATABASE;
RECOVER DATABASE;

⚠️ 需要:

  • 相同 Oracle 版本
  • 相同 SID(或改参数文件)

四、物理文件直接迁移(不推荐新手)

适合:

  • 完全相同环境
  • 不换版本

步骤:

  1. 停库
  2. 拷贝:
    • controlfile
    • datafile
    • redo log
  3. 目标机启动

❌ 风险高,容易版本/路径问题


五、Ubuntu 特别注意点

✅ Oracle 在 Ubuntu 的情况

  • Oracle 官方不支持 Ubuntu
  • 通常使用:
    • Oracle 19c / 21c
    • 手动安装或 Docker

✅ Docker 方式(强烈推荐)

docker run -d \
  --name oracle \
  -p 1521:1521 \
  container-registry.oracle.com/database/enterprise:19.3.0

迁移只需:

  • 导出 dmp
  • 新容器导入

六、迁移前检查清单

✅ 字符集一致
✅ 版本兼容
✅ 表空间足够
✅ 用户权限一致
✅ 监听器正常


七、你可以告诉我

为了给你精确步骤,可以补充:

  1. Oracle 版本(如 19c)
  2. Ubuntu 版本
  3. 是否同版本
  4. 数据量大小
  5. 是否允许停机

我可以直接给你一步一步命令版。

0 踩