在应用19.9 RU后,由于HAIP网络改变,ASM无法启动,导致数据库节点故障,本文主要讲解补丁的应用步骤
、备份数据库和基础软件
为防止安装补丁时发生不可解决的意外,对数据库和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 |
、检测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目录即可
、上传补丁
向数据库服务器上传补丁Patch 32242453
、在数据库服务器解压补丁
|
1 |
unzip -d <PATCH_TOP_DIR> p32242453_198000OCWRU_Linux-x86-64 |
、检测补丁冲突
检测当前环境与p32242453补丁是否存在冲突
$ cd <PATCH_TOP_DIR>/32242453
$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./
、进行补丁应用
分别给每个节点进行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 |
、补丁应用验证
以grid用户执行以下命令
|
|
$opatch lsinventory -oh <GI_HOME>
以oracle用户执行以下命令
$opatch lsinventory -oh <ORACLE_HOME> |
、数据字典应用
检查数据字典中补丁信息
|
|
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
|