Windows平台下的Oracle 19c补丁升级

本文详细指导了在Windows平台上对Oracle19c数据库进行从19.3到19.22版本的补丁升级过程,包括安装前备份、检查数据库版本、升级opatch、安装补丁、执行SQL文件、补丁回滚及故障解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Windows平台下的Oracle 19c补丁升级

第一章 概述

本文档用于Windows.X64系统的Oracle单实例19.3补丁升级至19.22版本的验证。

第二章 安装前备份

2.1 软件目录备份

补丁应用前操作

tar -czvf D:\app\oracle\product\19.3.0\db_home.tar.gz D:\app\oracle\product\19.3.0\db_home

在这里插入图片描述

2.2 权限备份

–补丁应用前操作

icacls D:\app\oracle\product\19.3.0\db_home /save D:\app\oracle\product\19.3.0\dir_backup.txt /T

在这里插入图片描述

2.3 备份数据库

(测试环境中此步骤可跳过)
–应用补丁前操作
周四晚上进行全量备份,实施当天22:00开始进行增量备份

第三章 安装前检查

3.1 查看数据库版本

select banner_full from v$version;
select version,version_full from v$instance;
select * from product_component_version;

3.2 升级opatch版本

–备份ORACLE_HOME/OPatch
将ORACLE_HOME/OPatch目录中的文件全部复制到ORACLE_HOME/OPatch_bak中

--解压opatch到ORACLE_HOME目录后
--查看opatch版本
opatch version

在这里插入图片描述

–补丁冲突检测
–将补丁包解压到ORACLE_HOME目录下后执行

cd 35962832
opatch prereq CheckConflictAgainstOHWithDetail -ph ./

在这里插入图片描述

第四章 安装补丁

4.1 设置环境变量

set ORACLE_HOME=D:\app\oracle\product\19.3.0\db_home
set PATH=%ORACLE_HOME%\perl\bin;%PATH%
set PERL5LIB=

4.2 关闭oracle相关服务

4.2.1 关闭数据库和监听

shu immediate
lsnrctl stop

在这里插入图片描述

4.2.2 关闭服务中与oracle相关的服务
在这里插入图片描述

4.2.3 关闭显式停止分布式事务处理协调器服务

net stop msdtc

在这里插入图片描述

4.3 安装补丁

cd 35962832
opatch apply

在这里插入图片描述

–查看补丁安装结果

opatch lsinventory

在这里插入图片描述

4.4 执行修改后的sql文件

4.4.1 打开Oracle服务
在这里插入图片描述

4.4.2 将修改后的 SQL 文件加载到数据库中

cd %oracle_home%/opatch
datapatch -verbose

在这里插入图片描述

4.4.3 编译无效对象

cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @utlrp.sql

在这里插入图片描述

第五章 补丁回滚

– 关闭services.msc中oracle的服务后执行

opatch rollback -id 35962832
opatch lsinventory

在这里插入图片描述

第六章 故障描述&解决方法

6.1 故障描述

在进行补丁回滚时报错:
在这里插入图片描述

6.2 解决方法

查看日志文件是因为正在运行的文件或可执行文件阻止了 opatch 的正常执行,检查后发现回滚前没有关闭oracle相关的服务。

在这里插入图片描述

关闭services.msc中的服务后再执行opatch rollback -id 35962832此时回滚成功。

在这里插入图片描述

### 在 Windows 系统上为 Oracle 19C 数据库安装补丁升级 为了在 Windows 上成功为 Oracle 19C 数据库应用补丁,需遵循一系列特定的操作流程来确保过程顺利进行。 #### 备份现有环境 备份当前的数据库环境至关重要。这可以通过创建整个 `db_home` 文件夹的压缩文件实现: ```bash tar -czvf D:\app\oracle\product\19.3.0\db_home_backup.tar.gz D:\app\oracle\product\19.3.0\db_home ``` 此命令会将指定路径下的所有内容打包成一个新的 `.tar.gz` 压缩文件[^3]。 #### 获取所需补丁集 访问 Oracle 官方网站下载适用于版本 19C 的最新补丁集合。确认所选补丁兼容于现有的操作系统和数据库版本。 #### 应用补丁前准备工作 关闭所有正在运行的服务实例以及监听器,防止更新过程中发生冲突或数据损坏的风险。可以利用 SQL*Plus 工具连接至目标数据库执行必要的停机指令: ```sql SQL> SHUTDOWN IMMEDIATE; ``` #### 执行OPatch工具 解压已获取到的补丁包,并通过 OPatch 实用程序来进行实际打补丁工作。假设补丁位于 `D:\patches` 路径下,则可以在命令提示符窗口输入如下命令启动该进程: ```cmd cd %ORACLE_HOME%\OPatch opatch apply "D:\patches" ``` 这里 `%ORACLE_HOME%` 是指代 Oracle 安装目录的一个环境变量,在大多数情况下对应于 `D:\app\oracle\product\19.3.0\db_home` 这样的位置。 #### 验证补丁状态 完成上述步骤后重新启动数据库服务并通过再次登录验证一切正常运作: ```sql sqlplus / as sysdba SQL> STARTUP; SQL> SELECT PATCH_ID, ACTION FROM DBA_REGISTRY_HISTORY WHERE ACTION='APPLY'; ``` 以上查询语句可以帮助确认最近一次的应用动作确实反映了最新的安全修复情况[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值