0. Patch 충돌 여부 체크
- For Grid Infrastructure Home, as home user:
% $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/%BUGNO%/%OCW TRACKING BUG%
% $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/%BUGNO%/%ACFS TRACKING BUG%
% $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/%BUGNO%/%DB WLM TRACKING BUG%
% $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/%BUGNO%/%DB RU TRACKING BUG%
% $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/%BUGNO%/%TOMCAT RU TRACKING BUG%
- For Database home, as home user:
% $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/%BUGNO%/%OCW TRACKING BUG%
% $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/%BUGNO%/%DB RU TRACKING BUG%
1. Stop the CRS managed resources running from DB homes.
- GI HOME 환경이면, DB HOME 계정으로 아래 수행 한다. (ORACLE)
$ <ORACLE_HOME>/bin/srvctl stop home -o <ORACLE_HOME> -s <status file location> -n <node name>
- Oracle Restart Home 환경이면, DB HOME 계정으로 아래 수행 한다. (ORACLE)
$ <ORACLE_HOME>/bin/srvctl stop home -o <ORACLE_HOME> -s <status file location>
2. Run the pre root script.
- GI HOME 환경이면, DB HOME 계정으로 아래 수행 한다. (root)
# <GI_HOME>/crs/install/rootcrs.sh -prepatch
- Oracle Restart Home 환경이면, DB HOME 계정으로 아래 수행 한다. (root)
# <GI_HOME>/crs/install/roothas.sh -prepatch
3. Patch GI home.
- GI HOME OWNER 로 수행 한다 (grid)
$ <GI_HOME>/OPatch/opatch apply -oh <GI_HOME> -local <UNZIPPED_PATCH_LOCATION>/%BUGNO%/%OCW TRACKING BUG%
$ <GI_HOME>/OPatch/opatch apply -oh <GI_HOME> -local <UNZIPPED_PATCH_LOCATION>/%BUGNO%/%ACFS TRACKING BUG%
$ <GI_HOME>/OPatch/opatch apply -oh <GI_HOME> -local <UNZIPPED_PATCH_LOCATION>/%BUGNO%/%DB WLM TRACKING BUG%
$ <GI_HOME>/OPatch/opatch apply -oh <GI_HOME> -local <UNZIPPED_PATCH_LOCATION>/%BUGNO%/%DB RU TRACKING BUG%
$ <GI_HOME>/OPatch/opatch apply -oh <GI_HOME> -local <UNZIPPED_PATCH_LOCATION>/%BUGNO%/%TOMCAT RU TRACKING BUG%
4. Patch DB home.
- DB HOME OWNER 로 수행 한다 (oracle)
$ <UNZIPPED_PATCH_LOCATION>/%BUGNO%/%OCW TRACKING BUG%/custom/scripts/prepatch.sh -dbhome <ORACLE_HOME>
$ <ORACLE_HOME>/OPatch/opatch apply -oh <ORACLE_HOME> -local <UNZIPPED_PATCH_LOCATION>/%BUGNO%/%OCW TRACKING BUG%
$ <ORACLE_HOME>/OPatch/opatch apply -oh <ORACLE_HOME> -local <UNZIPPED_PATCH_LOCATION>/%BUGNO%/%DB RU TRACKING BUG%
$ <UNZIPPED_PATCH_LOCATION>/%BUGNO%/%OCW TRACKING BUG%/custom/scripts/postpatch.sh -dbhome <ORACLE_HOME>
5. Run the post script.
- root 계정으로 수행한다.
# <GI_HOME>/rdbms/install/rootadd_rdbms.sh
- GI HOME 환경이면, DB HOME 계정으로 아래 수행 한다. (root)
# <GI_HOME>/crs/install/rootcrs.sh -postpatch
- Oracle Restart Home 환경이면, DB HOME 계정으로 아래 수행 한다. (root)
# <GI_HOME>/crs/install/roothas.sh -postpatch
6. If the message, A system reboot is recommended before using ACFS is shown, then a reboot must be issued before continuing. Failure to do so will result in running with an unpatched ACFS\ADVM\OKS driver.
7. Start the CRS managed resources that were earlier running from DB homes.
- GI HOME 환경이면, DB HOME 계정으로 아래 수행 한다. (ORACLE)
$ <ORACLE_HOME>/bin/srvctl start home -o <ORACLE_HOME> -s <status file location> -n <node name>
- Oracle Restart Home 환경이면, DB HOME 계정으로 아래 수행 한다. (ORACLE)
$ <ORACLE_HOME>/bin/srvctl start home -o <ORACLE_HOME> -s <status file location>
8. For each database instance running on the Oracle home being patched, run the datapatch utility as described in next table.
Steps |
Single Tenant (non-CDB/PDB) |
Steps |
Multitenant (CDB/PDB) |
1 |
% sqlplus /nolog |
1 |
% sqlplus /nolog |
2 |
SQL> Connect / as sysdba |
2 |
SQL> Connect / as sysdba |
3 |
SQL> startup |
3 |
SQL> startup |
4 |
SQL> quit |
4 |
SQL> alter pluggable database all open; |
5 |
% cd $ORACLE_HOME/OPatch |
5 |
SQL> quit |
6 |
% ./datapatch -verbose |
6 |
% cd $ORACLE_HOME/OPatch |
|
|
7 |
% ./datapatch -verbose |