12c打补丁前置检查
备份文件,可以不做,因为文件可能很大,如果可以备份整个安装文件。
1.check
grid:
% /u01/app/12.1.0/grid/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /home/software/27010872/26910974
% /u01/app/12.1.0/grid/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /home/software/27010872/26925218
% /u01/app/12.1.0/grid/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /home/software/27010872/26925311
% /u01/app/12.1.0/grid/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /home/software/27010872/26983807
oracle:
% /u01/app/oracle/product/12.1.0/db_1/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /home/software/27010872/26925311
% /u01/app/oracle/product/12.1.0/db_1/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /home/software/27010872/26925218
\3. os space check
grid:
3.1. Create file /tmp/patch_list_gihome.txt with the following content:
% vi /tmp/patch_list_gihome.txt
/home/software/27010872/26910974
/home/software/27010872/26925218
/home/software/27010872/26925311
/home/software/27010872/26983807
3.2.
% /u01/app/12.1.0/grid/OPatch/opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_gihome.txt
oracle:
3.3. Create file /tmp/patch_list_dbhome.txt with the following content:
% vi /tmp/patch_list_dbhome.txt
/home/software/27010872/26925311
/home/software/27010872/26925218
3.4.
% /u01/app/oracle/product/12.1.0/db_1/OPatch/opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_dbhome.txt
\4. backup 相关文件,最好整个安装目录
打补丁步骤如下:
oracle
/u01/app/oracle/product/12.1.0/db_1/bin/srvctl stop home -o /u01/app/oracle/product/12.1.0/db_1 -s /home/oracle/patch20180123 -n hn-lbs-5885-01
root
/u01/app/12.1.0/grid/crs/install/rootcrs.pl -prepatch
如果出现crs报错rollback mode问题(滚动升级,二节点)
/u01/app/12.1.0/grid/crs/install/roothas.sh -unlock
grid
$ /u01/app/12.1.0/grid/OPatch/opatch apply -oh /u01/app/12.1.0/grid -local /home/software/27010872/26925218
$ /u01/app/12.1.0/grid/OPatch/opatch apply -oh /u01/app/12.1.0/grid -local /home/software/27010872/26910974
$ /u01/app/12.1.0/grid/OPatch/opatch apply -oh /u01/app/12.1.0/grid -local /home/software/27010872/26983807
$ /u01/app/12.1.0/grid/OPatch/opatch apply -oh /u01/app/12.1.0/grid -local /home/software/27010872/26925311
oracle
$ /home/software/27010872/26925218/custom/scripts/prepatch.sh -dbhome /u01/app/oracle/product/12.1.0/db_1
$ /u01/app/oracle/product/12.1.0/db_1/OPatch/opatch apply -oh /u01/app/oracle/product/12.1.0/db_1 -local /home/software/27010872/26925218
$ /u01/app/oracle/product/12.1.0/db_1/OPatch/opatch apply -oh /u01/app/oracle/product/12.1.0/db_1 -local /home/software/27010872/26925311
$ /home/software/27010872/26925218/custom/scripts/postpatch.sh -dbhome /u01/app/oracle/product/12.1.0/db_1
root
/u01/app/12.1.0/grid/rdbms/install/rootadd_rdbms.sh
root
两个节点都打完再执行下面步骤
/u01/app/12.1.0/grid/crs/install/rootcrs.pl -postpatch
打完补丁后(二节点滚动升级)
/u01/app/12.1.0/grid/crs/install/rootcrs.sh -patch
oracle
/u01/app/oracle/product/12.1.0/db_1/bin/srvctl start home -o /u01/app/oracle/product/12.1.0/db_1 -s /home/oracle/patch20180123 -n hn-lbs-5885-01
su - oracle
srvctl start database -d lbs1
srvctl start database -d lbs2
srvctl start database -d lbs3
srvctl start database -d lbs4
srvctl start database -d test
12c特有步骤如下:
SQL> alter pluggable database all open;
cd $ORACLE_HOME/OPatch
./datapatch -verbose
select patch_id,action,status from dba_registry_sqlpatch;
回滚(如果打补丁失败,进行回滚操作)
root
/u01/app/12.1.0/grid/OPatch/OPatch/opatchauto rollback /home/software/27010872
手动
oracle
$ /u01/app/12.1.0/grid/bin/srvctl stop home -o /u01/app/12.1.0/grid -s /home/oracle/patch20180123 -n hn-lbs-5885-01
root
\# /u01/app/12.1.0/grid/crs/install/rootcrs.sh -prepatch -rollback
grid
/u01/app/12.1.0/grid/OPatch/opatch nrollback -local -id 26925218,26910974,26983807,26925311 -oh /u01/app/12.1.0/grid
oracle
$ home/software/27010872/26925218/custom/scripts/prepatch.sh -dbhome /u01/app/oracle/product/12.1.0/db_1
$ /u01/app/oracle/product/12.1.0/db_1/OPatch/opatch nrollback -local -id 26925218,26925311 -oh /u01/app/oracle/product/12.1.0/db_1
$ home/software/27010872/26925218/custom/scripts/postpatch.sh -dbhome /u01/app/oracle/product/12.1.0/db_1
root
/u01/app/12.1.0/grid/rdbms/install/rootadd_rdbms.sh
\# /u01/app/12.1.0/grid/crs/install/rootcrs.sh -postpatch -rollback
oracle
$ /u01/app/oracle/product/12.1.0/db_1/bin/srvctl start home -o /u01/app/oracle/product/12.1.0/db_1 -s /home/oracle/patch20180123 -n hn-lbs-5885-01
注意:
如果出现crs报错rollback mode问题(同11g不同之处)
/u01/app/12.1.0/grid/crs/install/roothas.sh -unlock
打完补丁后(同11g不同之处)
/u01/app/12.1.0/grid/crs/install/rootcrs.sh -patch