Oracle 19c- 19.8应用32242453补丁

来源:这里教程网 时间:2026-03-03 16:57:16 作者:

  在应用19.9 RU后,由于HAIP网络改变,ASM无法启动,导致数据库节点故障,本文主要讲解补丁的应用步骤 一、补丁应用 1 、备份数据库和基础软件 为防止安装补丁时发生不可解决的意外,对数据库和u01基础软件目录进行备份 (1)备份数据库 对数据库执行rman备份。 (2)对基础软件进行备份 在每个节点分别执行以下操作

export GRID_HOME=/u01/app/19c/grid
$GRID_HOME/bin/crsctl stop crs -f
tar -cvf /oracle/backup_soft/`date +\%Y\%m\%d`_GIDB.tar    /u01

2 、检测OPATCH版本

$GRID_HOME/OPatch/opatch version
$GRID_HOME/OPatch/opatch lspatches
$ORACLE_HOME/OPatch/opatch version
$ORACLE_HOME/OPatch/opatch lspatches

OPatch 是Oracle安装补丁的工具。不同的补丁对OPatch版本要求不同。要安装p32242453_198000OCWRU,需要下载OPatch版本12.2.0.1.13及以上版本。 解压后直接替换ORACLE_HOME中的OPatch目录即可 3 、上传补丁 向数据库服务器上传补丁Patch 32242453 4 、在数据库服务器解压补丁

unzip -d <PATCH_TOP_DIR> p32242453_198000OCWRU_Linux-x86-64

5 、检测补丁冲突 检测当前环境与p32242453补丁是否存在冲突  $ cd <PATCH_TOP_DIR>/32242453  $ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./ 6 、进行补丁应用 分别给每个节点进行GI和DB的补丁应用 (1)给GI应用补丁 以root用户执行以下命名

$GRID_HOME/OPatch/opatchauto apply $UNZIPPED_PATCH_LOCATION/32242453 -oh $GI_HOME -analyze
$GRID_HOME/OPatch/opatchauto apply $UNZIPPED_PATCH_LOCATION/32242453 -oh $GI_HOME

(2)给DB应用补丁 以root用户执行以下命名

$ORACLE_HOME/OPatch/opatchauto apply $UNZIPPED_PATCH_LOCATION/32242453 -oh $ORACLE_HOME -analyze
$ORACLE_HOME/OPatch/opatchauto apply $UNZIPPED_PATCH_LOCATION/32242453 -oh $ORACLE_HOME

7 、补丁应用验证 以grid用户执行以下命令

$opatch lsinventory -oh <GI_HOME>
以oracle用户执行以下命令
$opatch lsinventory -oh <ORACLE_HOME>

8 、数据字典应用 检查数据字典中补丁信息

set lines 500 pages 500 
col description for a75
col action_time for a35
col action for a10
col comments for a50
col VERSION for a25
col NAMESPACE for a20
col BUNDLE_SERIES for a20
select * from registry$history;
select patch_id,version,action,status,action_time,description from dba_registry_sqlpatch;
 
cd $ORACLE_HOME/OPatch
./datapatch -verbose  过程见下面
sqlplus / as sysdba
SQL> shutdown immediate;
检查数据字典中补丁信息
set lines 500 pages 500 
col description for a75
col action_time for a35
col action for a10
col comments for a50
col VERSION for a25
col NAMESPACE for a20
col BUNDLE_SERIES for a20
select * from registry$history;
select patch_id,version,action,status,action_time,description from dba_registry_sqlpatch;
9、检测失效对象
set lin 300 pages 5000
col object_name for a40
col owner for a20
select count(*) from dba_objects where status='INVALID';
select count(*) from dba_objects where status='INVALID' and owner='SYS';
select owner,object_name,object_type,status from dba_objects where status='INVALID'
如有失效对象,对失效对象进行修复
cd $ORACLE_HOME/rdbms/admin
sqlplus / as sysdba
SQL> @utlrp.sql

  二、回退步骤 第一方案

1、以root用户执行以下命名
$GRID_HOME/OPatch/opatchauto rollback <UNZIPPED_PATCH_LOCATION>/32242453 -analyze
$GRID_HOME/OPatch rollback <UNZIPPED_PATCH_LOCATION>/32242453 -oh <path to GI home>  
2、补丁应用验证
以grid用户执行以下命令
$GRID_HOME/OPatch/opatch lsinventory -oh $GRID_HOME
以oracle用户执行以下命令
$GRID_HOME/OPatch/opatch lsinventory -oh $ORACLE_HOME
第二方案
在每个节点分别解压$GRID_HOME和$ORACLE_HOME
tar xvf /oracle/backup_soft/`date +\%Y\%m\%d`_GIDB.tar /u01
在每个节点启动crs
$GRID_HOME/bin/crsctl start crs
启动数据库
$ORACLE_HOME/bin/srvctl start instance -d <db_unique_name> -n <node_name>

   -the end-                        

相关推荐