温馨提示×

ubuntu oracle如何升级版本

小樊
49
2026-10-04 19:27:54
栏目: 云计算

在 Ubuntu 上升级 Oracle(这里通常指 Oracle Database)要分情况,下面我按常见场景给你说清楚。


一、先确认你现在的 Oracle 版本

sqlplus / as sysdba
SQL> select * from v$version;

或

lsnrctl status

二、常见升级方式(重点)

✅ 方式 1:同大版本内升级(如 19.3 → 19.21)

这是最常见、最安全的方式

1. 下载 Oracle Patch / RU(Release Update)

  • 从 Oracle Support 下载
  • 例如:p34765931_190000_Linux-x86-64.zip

2. 解压并安装 OPatch

unzip p6880880_190000_Linux-x86-64.zip -d $ORACLE_HOME

3. 停止数据库和监听

sqlplus / as sysdba
shutdown immediate

lsnrctl stop

4. 应用补丁

cd $ORACLE_HOME/OPatch
./opatch apply

5. 启动并升级数据字典

lsnrctl start
sqlplus / as sysdba
startup
@?/rdbms/admin/catbundle.sql apply

✅ 方式 2:跨大版本升级(如 11g → 19c / 12c → 19c)

不推荐直接覆盖,推荐“新装 + 数据迁移”

推荐流程

  1. 安装新版本 Oracle(如 19c)
  2. 使用以下工具之一:
    • Data Pump(expdp / impdp)
    • RMAN DUPLICATE
    • DBUA(Database Upgrade Assistant)

使用 DBUA(官方升级工具)

$ORACLE_HOME/bin/dbua

⚠️ 要求:

  • 原库必须是 受支持版本
  • 备份必须做!

✅ 方式 3:Docker 方式(最简单)

如果你使用的是 Oracle Docker 镜像:

docker pull container-registry.oracle.com/database/enterprise:19.21.0.0

然后导出旧数据,导入新容器。


三、Ubuntu 特别注意事项

Oracle 官方不支持 Ubuntu,常见做法:

  • 使用 Oracle Linux / RHEL / CentOS
  • 或在 Ubuntu 上:
    • 安装依赖
    • 伪装系统版本
    • 仅用于测试环境

示例依赖:

sudo apt install build-essential libaio1 bc

四、升级前必做(非常重要)

✅ 全库备份
✅ 记录参数文件(spfile/pfile)
✅ 检查无效对象
✅ 检查兼容性参数

show parameter compatible

五、我可以更具体地帮你

你可以告诉我:

  1. 当前 Oracle 版本(如 11.2 / 12.2 / 19.3)
  2. Ubuntu 版本(20.04 / 22.04)
  3. 是否生产环境
  4. 是否使用 Docker

我可以给你 一步一步的命令级方案。

0 踩