最近需要配合某厂商开展12C 的补丁升级工作,升级过程中由于操作人员的误操作导致了节点宕机。特在此进行记录。
主机名 |
IP地址 |
DB&GI版本 |
OS版本 |
补丁集 |
Oracle |
192.168.56.101 |
12.2.0.1.0 |
Oracle Linux 7.3 |
27674384 |
Hadoop1 |
192.168.56.102 |
12.2.0.1.0 |
Oracle Linux 7.3 |
27674384 |
Hadoop2 |
192.168.56.103 |
12.2.0.1.0 |
Oracle Linux 7.3 |
27674384 |
首先我们看下我们的节点按照官方的补丁安装文档,按照后的情况:
12C的补丁升级很简单,主要步骤如下:
1、下载补丁,需要metalink账号
2、使用grid用户解压缩补丁,解压完以后权限如下,这里千万注意解压后文件夹的权限,要注意解压的文件夹属主必须是grid。
[grid@hadoop1 patch]$ ls -l
total 1288616
drwxr-x---. 8 grid oinstall 4096 Apr 9 03:25 27468969
drwxrwxrwx. 8 grid oinstall 4096 Apr 9 03:25 27468969_bak
-rw-r--r--. 1 grid oinstall 1222109132 Jun 5 01:51 p27468969_122010_Linux-x86-64.zip
-rw-r--r--. 1 grid oinstall 97422646 Jun 5 02:59 p6880880_122010_Linux-x86-64.zip
3、检查是否存在冲突
---grid用户下
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/27468969/27674384
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/27468969/27464465
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/27468969/27458609
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/27468969/26839277
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/27468969/27144050
---oracle 用户下
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/27468969/27674384
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/patch/27468969/27464465
以上全部PASS后可以进行补丁更新
4、使用root在线更新补丁
[root@hadoop1 patch]# echo $ORACLE_HOME
/oracle/app/grid/grid_home
[root@hadoop1 patch]# opatchauto apply /u01/patch/27468969
bash: opatchauto: command not found...
[root@hadoop1 patch]# $ORACLE_HOME/OPatch/opatchauto apply /u01/patch/27468969
OPatchauto session is initiated at Wed Jun 13 00:25:51 2018
System initialization log file is /oracle/app/grid/grid_home/cfgtoollogs/opatchautodb/systemconfig2018-06-13_12-25-55AM.log.
Session log file is /oracle/app/grid/grid_home/cfgtoollogs/opatchauto/opatchauto2018-06-13_12-26-34AM.log
The id for this session is GLQ4
Executing OPatch prereq operations to verify patch applicability on home /oracle/app/grid/grid_home
Executing OPatch prereq operations to verify patch applicability on home /oracle/app/oracle/oracle_home
Patch applicability verified successfully on home /oracle/app/grid/grid_home
Patch applicability verified successfully on home /oracle/app/oracle/oracle_home
Verifying SQL patch applicability on home /oracle/app/oracle/oracle_home
"/bin/sh -c 'cd /oracle/app/oracle/oracle_home; ORACLE_HOME=/oracle/app/oracle/oracle_home ORACLE_SID=greatdata1 /oracle/app/oracle/oracle_home/OPatch/datapatch -prereq -verbose'" command failed with errors. Please refer to logs for more details. SQL changes, if any, can be analyzed by manually retrying the same command.
SQL patch applicability verified successfully on home /oracle/app/oracle/oracle_home
Preparing to bring down database service o