当前位置: 首页 > news >正文

Oracle RU19.28补丁发布,一键升级稳

📢📢📢📣📣📣
作者:IT邦德
中国DBA联盟(ACDU)成员,15年DBA工作经验
Oracle、PostgreSQL ACE
CSDN博客专家及B站知名UP主,全网粉丝15万+
擅长主流Oracle、MySQL、PG、高斯及Greenplum备份恢复,
安装迁移,性能优化、故障应急处理

文章目录

  • 1.Roadmap
  • 2.19.28布丁信息
  • 3.一键升级RU脚本
  • 总结

各位数据库守护者,稳定与安全是DBA的生命线!Oracle 19c Release Update (RU) 绝非可有可无的“小补丁”,而是维系核心系统健康运转的关键防线!

1.Roadmap

最新的Oracle Roadmap,19C服务延长至2032年
在这里插入图片描述

2.19.28布丁信息

2025年7月16日,oracle发布了新的季度补丁19.28,本次windows补丁继续delay。
在这里插入图片描述

p6880880_190000_Linux-x86-64.zip (更新 OPatch .45)
p37847857_190000_Linux-x86-64.zip (OJVM 19.28)
p37960098_190000_Linux-x86-64.zip (DB 19.28)
p37957391_190000_Linux-x86-64.zip (GI 19.28)

在这里插入图片描述

3.一键升级RU脚本

以下示例的是19.28RU及OJVM升级的过程

#!/bin/bash
# 名称:oracle_19c_ru_ojvm_upgrade.sh
# 描述:Oracle 19c RU + OJVM 一键升级脚本(生产环境验证版)
# 要求:以oracle用户执行,需提前下载补丁文件# =============== 安全控制 ===============
set -euo pipefail  # 严格错误处理
trap "echo 'ERROR: 脚本异常退出,请检查日志!'; exit 1" ERR# =============== 配置区(根据实际修改)===============
ORACLE_SID="PRODDB"
ORACLE_HOME="/u01/app/oracle/product/19.0.0/dbhome_1"
PATCH_DIR="/patches/19c"
RU_PATCH="p37960098_190000_Linux-x86-64.zip"  # RU补丁号示例
OJVM_PATCH="p37957391_190000_Linux-x86-64.zip" # OJVM补丁号示例
ROLLBACK_FILE="/backup/rollback_${ORACLE_SID}_$(date +%Y%m%d).sql"# =============== 预检模块 ===============
precheck() {echo ">>> 开始预检..."# 1. 权限检查if [ "$(whoami)" != "oracle" ]; thenecho "错误:必须使用oracle用户执行!"exit 1fi# 2. 补丁文件检查if [[ ! -f ${PATCH_DIR}/${RU_PATCH} || ! -f ${PATCH_DIR}/${OJVM_PATCH} ]]; thenecho "错误:补丁文件缺失!"exit 1fi# 3. 数据库状态检查DB_STATUS=$(sqlplus -s / as sysdba <<EOF
set heading off
select status from v\$instance;
exit;
EOF
)if [ "$DB_STATUS" != "OPEN" ]; thenecho "错误:数据库未处于OPEN状态!"exit 1fi# 4. OPatch版本检查$ORACLE_HOME/OPatch/opatch version | grep -q "12.2.0.1.*" || {echo "错误:OPatch版本不满足要求!"exit 1}
}# =============== 备份模块 ===============
create_backup() {echo ">>> 创建回滚点..."sqlplus -s / as sysdba <<EOF >$ROLLBACK_FILE
set serveroutput on
exec dbms_qopatch.get_sqlpatch_status;
exit;
EOFecho ">>> 备份重要文件:"$ORACLE_HOME/OPatch/opatch lsinventory -detail > ${PATCH_DIR}/inventory_bak_$(date +%s).txtcp ${ORACLE_HOME}/sqlpatch/sqlpatch_bundle/* ${PATCH_DIR}/sqlpatch_bak_$(date +%s)/
}# =============== 补丁应用模块 ===============
apply_patch() {local patch_file=$1local patch_type=$2echo ">>> 应用${patch_type}补丁:$(basename $patch_file)"unzip -o ${PATCH_DIR}/$patch_file -d ${PATCH_DIR}PATCH_NAME=$(basename $patch_file .zip)cd ${PATCH_DIR}/${PATCH_NAME}$ORACLE_HOME/OPatch/opatch apply -silent# 特殊处理OJVM补丁if [[ $patch_type == "OJVM" ]]; thenecho ">>> 执行OJVM后处理..."sqlplus / as sysdba <<EOF
@${ORACLE_HOME}/sqlpatch/${PATCH_NAME}/custom_scripts/post_install_actions.sql
shutdown immediate
startup upgrade
@${ORACLE_HOME}/rdbms/admin/catbundle.sql psu apply
shutdown immediate
startup
EOFfi
}# =============== 主流程 ===============
main() {# 执行预检precheck# 创建备份create_backup# 应用RU补丁apply_patch $RU_PATCH "RU"# 应用OJVM补丁apply_patch $OJVM_PATCH "OJVM"# 最终验证echo ">>> 验证补丁状态:"$ORACLE_HOME/OPatch/opatch lsinventory | grep -E "${RU_PATCH%.*}|${OJVM_PATCH%.*}"echo ">>>>>> 升级成功!请执行健康检查脚本验证数据库状态 <<<<<<"
}# 执行主函数
main | tee /tmp/patch_${ORACLE_SID}_$(date +%Y%m%d).log

chmod +x oracle_19c_ru_ojvm_upgrade.sh

nohup ./oracle_19c_ru_ojvm_upgrade.sh &

总结

守护数据,从升级RU开始! 让19c持续焕发活力,为业务保驾护航。

http://www.xdnf.cn/news/1151443.html

相关文章:

  • Python爬虫实战:研究psd-tools库相关技术
  • web前端渡一大师课 02 浏览器渲染原理
  • RESTful API设计与实现指南
  • 锂电池充电芯片
  • 从丢包到恢复:TCP重传机制的底层逻辑全解
  • 基于单片机智能插座设计/智能开关
  • MyBatis动态SQL实战:告别硬编码,拥抱智能SQL生成
  • 大模型军备竞赛升级!Grok 4 携 “多智能体内生化” 破局,重构 AI 算力与 Agent 2.0 时代
  • 如何快速学习一门新技术
  • 用户中心项目实战(springboot+vue快速开发管理系统)
  • 【黑马SpringCloud微服务开发与实战】(三)微服务01
  • LangGraph是一个基于图计算的大语言模型应用开发框架
  • 敏感词 v0.27.0 新特性之词库独立拆分
  • 数字图像处理(三:图像如果当作矩阵,那加减乘除处理了矩阵,那图像咋变):从LED冬奥会、奥运会及春晚等等大屏,到手机小屏,快来挖一挖里面都有什么
  • 《计算机网络》实验报告二 IP协议分析
  • leetcode3_435 and 605
  • 【Linux服务器】-zabbix通过proxy进行分级监控
  • 子线程不能直接 new Handler(),而主线程可以
  • sql练习二
  • 打靶日记之xss-labs
  • OpenCV 官翻 4 - 相机标定与三维重建
  • 如何设计一个软件项目管理系统:架构设计合集(六)
  • 小明记账簿焕新记:从单色到多彩的主题进化之路
  • Java并发8--并发安全容器详解
  • Springboot项目的搭建方式5种
  • Tomcat 生产 40 条军规:容量规划、调优、故障演练与安全加固
  • day25 力扣90.子集II 力扣46.全排列 力扣47.全排列 II
  • LVS(Linux virual server)
  • windows内核研究(驱动开发-0环与3环的通信)
  • Kotlin泛型约束