Upgrade Oracle Database 12c Release 2(12.2) RAC on RHEL7.3 with RU

时间:2021-10-13 19:54:26

Upgrade Oracle Database 12c Release 2(12.2) RAC on RHEL7.3

-- [ RU: 26610291 (GRID INFRASTRUCTURE RELEASE UPDATE 12.2.0.1.170814) ]

1. 解压补丁包

unzip p26610291_122010_Linux-x86-64.zip -d /ups/soft/

  

2. 更新opatch工具包

su - root
mv /ups/oracle/12.2/grid/OPatch /ups/oracle/12.2/grid/OPatch_20171010

cd /ups/soft
unzip p6880880_122010_Linux-x86-64.zip -d /ups/oracle/12.2/grid
chown -R grid:oinstall /ups/oracle/12.2/grid/OPatch
chmod -R +x /ups/oracle/12.2/grid/OPatch

su - oracle
cd /ups/soft
mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch_$(date +%Y%m%d)
unzip p6880880_122010_Linux-x86-64.zip -d /ups/oracle/database/product/12.2/db_1/

  

3. Run OPatch Conflict Check

For Grid Infrastructure Home, as home user:
su - grid

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /ups/soft/26610291/26609817
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /ups/soft/26610291/26609966
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /ups/soft/26610291/25586399

For Database home, as home user:

su - oracle
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /ups/soft/26610291/26609817
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /ups/soft/26610291/26609966

  

4. Run OPatch SystemSpace Check

For Grid Infrastructure Home, as home user:
su - grid
cat >> /tmp/patch_list_gihome.txt << EOF
/ups/soft/26610291/25586399
/ups/soft/26610291/26609966
/ups/soft/26610291/26609817
EOF

$ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_gihome.txt

For Database home, as home user:
su - oracle
cat >> /tmp/patch_list_dbhome.txt << EOF
/ups/soft/26610291/26609966
/ups/soft/26610291/26609817
EOF

$ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_dbhome.txt

5. 检查系统软件包是否缺失

su - grid
$ORACLE_HOME/OPatch/opatch prereq CheckSystemCommandAvailable -phBaseDir /ups/soft/26610291/26609817

[grid@orc2 ~]$ $ORACLE_HOME/OPatch/opatch prereq CheckSystemCommandAvailable -phBaseDir /ups/soft/26610291/26609817
Oracle Interim Patch Installer version 12.2.0.1.9
Copyright (c) 2017, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /ups/oracle/12.2/grid
Central Inventory : /ups/oracle/oraInventory
   from           : /ups/oracle/12.2/grid/oraInst.loc
OPatch version    : 12.2.0.1.9
OUI version       : 12.2.0.1.4
Log file location : /ups/oracle/12.2/grid/cfgtoollogs/opatch/opatch2017-10-10_21-41-19PM_1.log

Invoking prereq "checksystemcommandavailable"

Prereq "checkSystemCommandAvailable" for patch 26609817 failed.

The details are:
Missing command :fuser

#如上缺少fuser命令,则安装该软件包再进行升级
# 检查命令软件包名称
yum provides "fuser"
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
rhel-Packages/filelists_db                                                                                                                                            | 3.3 MB  00:00:00
psmisc-22.20-11.el7.x86_64 : Utilities for managing processes on your system
Repo        : rhel-Packages
Matched from:
Filename    : /usr/sbin/fuser

# 发现缺少psmisc软件包
yum -y install psmisc

  

6. opatchauto安装RU补丁包

opatchauto
su - root
2.6.1 Add the directory containing the opatchauto to the $PATH environment variable. For example:
export PATH=$PATH:/ups/oracle/12.2/grid/OPatch
2.6.2 To patch the GI home and all Oracle RAC database homes of the same version:
/ups/oracle/12.2/grid/OPatch/opatchauto apply /ups/soft/26610291
2.6.3 To patch only the GI home:
opatchauto apply <UNZIPPED_PATCH_LOCATION>/26610291 -oh <GI_HOME>
2.6.4 To patch one or more Oracle RAC database homes:
opatchauto apply <UNZIPPED_PATCH_LOCATION>/26610291 -oh <oracle_home1_path>,<oracle_home2_path>
2.6.5 To roll back the patch from the GI home and each Oracle RAC database home:
# opatchauto rollback <UNZIPPED_PATCH_LOCATION>/26610291
2.6.6 To roll back the patch from the GI home:
# opatchauto rollback <UNZIPPED_PATCH_LOCATION>/26610291 -oh <path to GI home>
2.6.7 To roll back the patch from the Oracle RAC database home:
# opatchauto rollback <UNZIPPED_PATCH_LOCATION>/26610291 -oh <oracle_home1_path>,<oracle_home2_path>

  

7. 结果检查

sqlplus "/ as sysdba"
set lines 168 pages 999
col DESCRIPTION for a40
col status for a10
col version for a10
select patch_id,PATCH_UID,STATUS,VERSION,BUNDLE_ID,to_char(ACTION_TIME,'yyyy-mm-dd hh24:mi:ss') ACTION_TIME,DESCRIPTION from dba_registry_sqlpatch;
  PATCH_ID  PATCH_UID STATUS     VERSION       BUNDLE_ID ACTION_TIME         DESCRIPTION
---------- ---------- ---------- ------------ ---------- ------------------- ----------------------------------------
  26609817   21483023 SUCCESS    12.2.0.1         170814 2017-10-11 09:37:18 DATABASE RELEASE UPDATE 12.2.0.1.170814

SQL>