温馨提示×

ubuntu如何迁移oracle

小樊
41
2026-09-17 00:10:27
栏目: 云计算

在 Ubuntu 上“迁移 Oracle”通常有以下几种常见场景,我先按最常见情况给你说明,再给出具体操作思路。你可以对照自己的情况选择。


一、常见迁移场景

  1. 同版本 Oracle,换服务器(Ubuntu → Ubuntu)
  2. Oracle 版本升级迁移
  3. Oracle → Oracle(不同主机,数据迁移)
  4. 其他系统(如 CentOS / Windows)→ Ubuntu
  5. 物理文件迁移(数据文件、控制文件)
  6. 逻辑迁移(导出导入)

二、推荐迁移方式(最稳妥)

✅ 方式一:逻辑迁移(expdp / impdp)【最推荐】

适合:

  • 跨版本
  • 跨平台
  • 数据量不是特别巨大

1. 源库导出

expdp system/password \
  DIRECTORY=dp_dir \
  DUMPFILE=orcl_full.dmp \
  LOGFILE=exp.log \
  FULL=Y

2. 拷贝到目标 Ubuntu

scp orcl_full.dmp ubuntu@目标IP:/u01/dump/

3. 目标库导入

impdp system/password \
  DIRECTORY=dp_dir \
  DUMPFILE=orcl_full.dmp \
  LOGFILE=imp.log \
  FULL=Y

✅ 方式二:RMAN 备份恢复(同版本推荐)

适合:

  • 同 Oracle 版本
  • 同平台或兼容平台

源库

rman target /
BACKUP DATABASE PLUS ARCHIVELOG;

目标 Ubuntu

  • 安装相同版本 Oracle
  • 恢复控制文件 + 数据库
rman target /
RESTORE CONTROLFILE FROM '/backup/control.bak';
RECOVER DATABASE;
ALTER DATABASE OPEN RESETLOGS;

三、Ubuntu 上安装 Oracle 注意事项

1. 官方支持情况

  • ✅ Oracle 19c(推荐)
  • ✅ Oracle 21c
  • ❌ 11g 不官方支持 Ubuntu(可强行装,不推荐)

2. 安装方式

  • Oracle 官方 RPM(CentOS)
  • Ubuntu 可用:
    • 源码安装(复杂)
    • Docker(最省事)

Docker 方式(强烈推荐)

docker run -d \
  --name oracle19c \
  -p 1521:1521 \
  -e ORACLE_PWD=yourpass \
  container-registry.oracle.com/database/enterprise:19.3.0.0

四、迁移前检查清单

  • [ ] Oracle 版本一致或可兼容
  • [ ] 字符集一致(如 AL32UTF8)
  • [ ] 表空间、用户已创建
  • [ ] 归档模式确认
  • [ ] 备份已完成

五、如果你能补充这些信息,我可以给你精确命令

请告诉我:

  1. Oracle 版本(如 11g / 19c)
  2. 源系统(CentOS / Windows / Ubuntu)
  3. 数据量(GB)
  4. 是否允许停机
  5. 是否使用 Docker

我可以直接给你一步一步可执行方案。

0 踩