root 유저 경로 환경 변수 설정
export ORACLE_BASE=/u01/app/oracle export GRID_HOME=$ORACLE_BASE/19c/grid export DB_HOME=$ORACLE_BASE/product/19c/db_1 export ORACLE_HOME=$GRID_HOME
[root@ol7 ~]# export ORACLE_BASE=/u01/app/oracle [root@ol7 ~]# export GRID_HOME=$ORACLE_BASE/19c/grid [root@ol7 ~]# export DB_HOME=$ORACLE_BASE/product/19c/db_1 [root@ol7 ~]# export ORACLE_HOME=$GRID_HOME
Grid opatch 버전 확인 및 업데이트
$GRID_HOME/OPatch/opatch version #mv $GRID_HOME/OPatch $GRID_HOME/OPatch.old #unzip <패치 다운로드 경로>/p6880880_122010_Linux-x86-64.zip -d $GRID_HOME #chown -R oracle:oinstall $GRID_HOME/OPatch #ll $GRID_HOME | grep OPatch #$GRID_HOME/OPatch/opatch version
[orcl:/home/oracle]> $GRID_HOME/OPatch/opatch version OPatch Version: 12.2.0.1.17 OPatch succeeded.
DB opatch 버전 확인 및 업데이트
$DB_HOME/OPatch/opatch version #mv $DB_HOME/OPatch $DB_HOME/OPatch.old #unzip <패치 다운로드 경로>/p6880880_122010_Linux-x86-64.zip -d $DB_HOME #chown -R oracle:oinstall $DB_HOME/OPatch #ll $DB_HOME | grep OPatch #$DB_HOME/OPatch/opatch version
[orcl:/home/oracle]> $GRID_HOME/OPatch/opatch version OPatch Version: 12.2.0.1.17 OPatch succeeded.
패치 압축 해제
mkdir ~oracle/patch unzip <패치번호>_190000_Linux-x86-64.zip -d ~oracle/patch
[orcl:/home/oracle]> mkdir ~oracle/patch [orcl:/home/oracle]> unzip p30116789_190000_Linux-x86-64.zip -d ~oracle/patch << 생략 >>
패치 현황 확인
$GRID_HOME/OPatch/opatch lspatches -oh $GRID_HOME $DB_HOME/OPatch/opatch lspatches -oh $DB_HOME
[orcl:/home/oracle]> $GRID_HOME/OPatch/opatch lspatches -oh $GRID_HOME 29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399) 29517247;ACFS RELEASE UPDATE 19.3.0.0.0 (29517247) 29517242;Database Release Update : 19.3.0.0.190416 (29517242) 29401763;TOMCAT RELEASE UPDATE 19.0.0.0.0 (29401763) OPatch succeeded. [orcl:/home/oracle]> $DB_HOME/OPatch/opatch lspatches -oh $DB_HOME 29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399) 29517242;Database Release Update : 19.3.0.0.190416 (29517242) OPatch succeeded.
Grid 패치의 소프트웨어 충돌 여부 확인
$GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -oh $GRID_HOME -phBaseDir ~oracle/patch/<패치번호>/<OCW Release Update> $GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -oh $GRID_HOME -phBaseDir ~oracle/patch/<패치번호>/<ACFS Release Update> $GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -oh $GRID_HOME -phBaseDir ~oracle/patch/<패치번호>/<Database Release Update> $GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -oh $GRID_HOME -phBaseDir ~oracle/patch/<패치번호>/<Tomcat Release Update>
[orcl:/home/oracle]> $GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -oh $GRID_HOME -phBaseDir ~oracle/patch/30116789/30122149 Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.17 Copyright (c) 2020, Oracle Corporation. All rights reserved. PREREQ session Oracle 홈: /u01/app/oracle/19c/grid 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/oracle/19c/grid/oraInst.loc OPatch 버전: 12.2.0.1.17 OUI 버전: 12.2.0.7.0 로그 파일 위치: /u01/app/oracle/19c/grid/cfgtoollogs/opatch/opatch2020-01-11_10-05-16오전_1.log Invoking prereq "checkconflictagainstohwithdetail" Prereq "checkConflictAgainstOHWithDetail" passed. OPatch succeeded. [orcl:/home/oracle]> $GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -oh $GRID_HOME -phBaseDir ~oracle/patch/30116789/30122167 Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.17 Copyright (c) 2020, Oracle Corporation. All rights reserved. PREREQ session Oracle 홈: /u01/app/oracle/19c/grid 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/oracle/19c/grid/oraInst.loc OPatch 버전: 12.2.0.1.17 OUI 버전: 12.2.0.7.0 로그 파일 위치: /u01/app/oracle/19c/grid/cfgtoollogs/opatch/opatch2020-01-11_10-05-26오전_1.log Invoking prereq "checkconflictagainstohwithdetail" Prereq "checkConflictAgainstOHWithDetail" passed. OPatch succeeded. [orcl:/home/oracle]> $GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -oh $GRID_HOME -phBaseDir ~oracle/patch/30116789/30125133 Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.17 Copyright (c) 2020, Oracle Corporation. All rights reserved. PREREQ session Oracle 홈: /u01/app/oracle/19c/grid 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/oracle/19c/grid/oraInst.loc OPatch 버전: 12.2.0.1.17 OUI 버전: 12.2.0.7.0 로그 파일 위치: /u01/app/oracle/19c/grid/cfgtoollogs/opatch/opatch2020-01-11_10-05-33오전_1.log Invoking prereq "checkconflictagainstohwithdetail" Prereq "checkConflictAgainstOHWithDetail" passed. OPatch succeeded. [orcl:/home/oracle]> $GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -oh $GRID_HOME -phBaseDir ~oracle/patch/30116789/29401763 Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.17 Copyright (c) 2020, Oracle Corporation. All rights reserved. PREREQ session Oracle 홈: /u01/app/oracle/19c/grid 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/oracle/19c/grid/oraInst.loc OPatch 버전: 12.2.0.1.17 OUI 버전: 12.2.0.7.0 로그 파일 위치: /u01/app/oracle/19c/grid/cfgtoollogs/opatch/opatch2020-01-11_10-05-41오전_1.log Invoking prereq "checkconflictagainstohwithdetail" Prereq "checkConflictAgainstOHWithDetail" passed. OPatch succeeded.
Grid 패치의 패치간 충돌 여부 확인
$GRID_HOME/OPatch/opatch prereq CheckConflictAmongPatches -oh $GRID_HOME -phBaseDir ~oracle/patch/<패치번호>/<OCW Release Update> $GRID_HOME/OPatch/opatch prereq CheckConflictAmongPatches -oh $GRID_HOME -phBaseDir ~oracle/patch/<패치번호>/<ACFS Release Update> $GRID_HOME/OPatch/opatch prereq CheckConflictAmongPatches -oh $GRID_HOME -phBaseDir ~oracle/patch/<패치번호>/<Database Release Update> $GRID_HOME/OPatch/opatch prereq CheckConflictAmongPatches -oh $GRID_HOME -phBaseDir ~oracle/patch/<패치번호>/<Tomcat Release Update>
[orcl:/home/oracle]> $GRID_HOME/OPatch/opatch prereq CheckConflictAmongPatches -oh $GRID_HOME -phBaseDir ~oracle/patch/30116789/30122149 Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.17 Copyright (c) 2020, Oracle Corporation. All rights reserved. PREREQ session Oracle 홈: /u01/app/oracle/19c/grid 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/oracle/19c/grid/oraInst.loc OPatch 버전: 12.2.0.1.17 OUI 버전: 12.2.0.7.0 로그 파일 위치: /u01/app/oracle/19c/grid/cfgtoollogs/opatch/opatch2020-01-11_10-06-24오전_1.log Invoking prereq "checkconflictamongpatches" Prereq "checkConflictAmongPatches" passed. OPatch succeeded. [orcl:/home/oracle]> $GRID_HOME/OPatch/opatch prereq CheckConflictAmongPatches -oh $GRID_HOME -phBaseDir ~oracle/patch/30116789/30122167 Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.17 Copyright (c) 2020, Oracle Corporation. All rights reserved. PREREQ session Oracle 홈: /u01/app/oracle/19c/grid 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/oracle/19c/grid/oraInst.loc OPatch 버전: 12.2.0.1.17 OUI 버전: 12.2.0.7.0 로그 파일 위치: /u01/app/oracle/19c/grid/cfgtoollogs/opatch/opatch2020-01-11_10-06-37오전_1.log Invoking prereq "checkconflictamongpatches" Prereq "checkConflictAmongPatches" passed. OPatch succeeded. [orcl:/home/oracle]> $GRID_HOME/OPatch/opatch prereq CheckConflictAmongPatches -oh $GRID_HOME -phBaseDir ~oracle/patch/30116789/30125133 Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.17 Copyright (c) 2020, Oracle Corporation. All rights reserved. PREREQ session Oracle 홈: /u01/app/oracle/19c/grid 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/oracle/19c/grid/oraInst.loc OPatch 버전: 12.2.0.1.17 OUI 버전: 12.2.0.7.0 로그 파일 위치: /u01/app/oracle/19c/grid/cfgtoollogs/opatch/opatch2020-01-11_10-06-47오전_1.log Invoking prereq "checkconflictamongpatches" Prereq "checkConflictAmongPatches" passed. OPatch succeeded. [orcl:/home/oracle]> $GRID_HOME/OPatch/opatch prereq CheckConflictAmongPatches -oh $GRID_HOME -phBaseDir ~oracle/patch/30116789/29401763 Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.17 Copyright (c) 2020, Oracle Corporation. All rights reserved. PREREQ session Oracle 홈: /u01/app/oracle/19c/grid 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/oracle/19c/grid/oraInst.loc OPatch 버전: 12.2.0.1.17 OUI 버전: 12.2.0.7.0 로그 파일 위치: /u01/app/oracle/19c/grid/cfgtoollogs/opatch/opatch2020-01-11_10-06-58오전_1.log Invoking prereq "checkconflictamongpatches" Prereq "checkConflictAmongPatches" passed. OPatch succeeded.
Grid 패치 필요 공간 확인
cat > /tmp/patch_list_gihome.txt /home/oracle/patch/<패치번호>/<OCW Release Update> /home/oracle/patch/<패치번호>/<ACFS Release Update> /home/oracle/patch/<패치번호>/<Database Release Update> /home/oracle/patch/<패치번호>/<Tomcat Release Update> <ctrl+c> cat /tmp/patch_list_gihome.txt $GRID_HOME/OPatch/opatch prereq CheckSystemSpace -oh $GRID_HOME -phBaseFile /tmp/patch_list_gihome.txt
[orcl:/home/oracle]> cat > /tmp/patch_list_gihome.txt /home/oracle/patch/30116789/30122149 /home/oracle/patch/30116789/30122167 /home/oracle/patch/30116789/30125133 /home/oracle/patch/30116789/29401763 ^C [orcl:/home/oracle]> cat /tmp/patch_list_gihome.txt /home/oracle/patch/30116789/30122149 /home/oracle/patch/30116789/30122167 /home/oracle/patch/30116789/30125133 /home/oracle/patch/30116789/29401763 [orcl:/home/oracle]> $GRID_HOME/OPatch/opatch prereq CheckSystemSpace -oh $GRID_HOME -phBaseFile /tmp/patch_list_gihome.txt Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.17 Copyright (c) 2020, Oracle Corporation. All rights reserved. PREREQ session Oracle 홈: /u01/app/oracle/19c/grid 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/oracle/19c/grid/oraInst.loc OPatch 버전: 12.2.0.1.17 OUI 버전: 12.2.0.7.0 로그 파일 위치: /u01/app/oracle/19c/grid/cfgtoollogs/opatch/opatch2020-01-11_10-10-29오전_1.log Invoking prereq "checksystemspace" Prereq "checkSystemSpace" passed. OPatch succeeded.
root 유저로 prepatch 수행
$GRID_HOME/crs/install/roothas.sh -prepatch
[root@ol7 ~]# $GRID_HOME/crs/install/roothas.sh -prepatch Using configuration parameter file: /u01/app/oracle/19c/grid/crs/install/crsconfig_params The log of current session can be found at: /u01/app/oracle/crsdata/ol7/crsconfig/hapatch_2020-01-11_11-39-45AM.log 2020/01/11 11:40:13 CLSRSC-347: Successfully unlock /u01/app/oracle/19c/grid 2020/01/11 11:40:13 CLSRSC-671: Pre-patch steps for patching GI home successfully completed.
Grid 패치 적용
$GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local ~oracle/patch/<패치번호>/<OCW Release Update> $GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local ~oracle/patch/<패치번호>/<ACFS Release Update> $GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local ~oracle/patch/<패치번호>/<Database Release Update> $GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local ~oracle/patch/<패치번호>/<Tomcat Release Update>
[orcl:/home/oracle]> $GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local ~oracle/patch/30116789/30122149 Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.17 Copyright (c) 2020, Oracle Corporation. All rights reserved. Oracle 홈: /u01/app/oracle/19c/grid 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/oracle/19c/grid/oraInst.loc OPatch 버전: 12.2.0.1.17 OUI 버전: 12.2.0.7.0 로그 파일 위치: /u01/app/oracle/19c/grid/cfgtoollogs/opatch/opatch2020-01-11_10-36-27오전_1.log Verifying environment and performing prerequisite checks... -------------------------------------------------------------------------------- Start OOP by Prereq process. Launch OOP... Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.17 Copyright (c) 2020, Oracle Corporation. All rights reserved. Oracle 홈: /u01/app/oracle/19c/grid 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/oracle/19c/grid/oraInst.loc OPatch 버전: 12.2.0.1.17 OUI 버전: 12.2.0.7.0 로그 파일 위치: /u01/app/oracle/19c/grid/cfgtoollogs/opatch/opatch2020-01-11_10-36-41오전_1.log Verifying environment and performing prerequisite checks... OPatch continues with these patches: 30122149 계속하겠습니까? [y|n] Y (auto-answered by -silent) User Responded with: Y All checks passed. 로컬 시스템의 이 ORACLE_HOME에서 실행 중인 Oracle 인스턴스를 종료하십시오. (Oracle 홈 = '/u01/app/oracle/19c/grid') 로컬 시스템이 패치할 준비가 되었습니까? [y|n] Y (auto-answered by -silent) User Responded with: Y Backing up files... OH '/u01/app/oracle/19c/grid'에 Interim 패치 '30122149'을(를) 적용하는 중 ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.has.db.cvu, 19.0.0.0.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms, 19.0.0.0.0 구성요소를 패치하는 중... oracle.has.crs.cvu, 19.0.0.0.0 구성요소를 패치하는 중... oracle.has.cvu, 19.0.0.0.0 구성요소를 패치하는 중... oracle.has.crs, 19.0.0.0.0 구성요소를 패치하는 중... oracle.rhp.common, 19.0.0.0.0 구성요소를 패치하는 중... oracle.has.db, 19.0.0.0.0 구성요소를 패치하는 중... oracle.has.rsf, 19.0.0.0.0 구성요소를 패치하는 중... oracle.rhp.db, 19.0.0.0.0 구성요소를 패치하는 중... oracle.xag, 19.0.0.0.0 구성요소를 패치하는 중... oracle.has.common, 19.0.0.0.0 구성요소를 패치하는 중... oracle.has.common.cvu, 19.0.0.0.0 구성요소를 패치하는 중... oracle.rhp.crs, 19.0.0.0.0 구성요소를 패치하는 중... Patch 30122149 successfully applied. Sub-set patch [29585399] has become inactive due to the application of a super-set patch [30122149]. Please refer to Doc ID 2161861.1 for any possible further required actions. Log file location: /u01/app/oracle/19c/grid/cfgtoollogs/opatch/opatch2020-01-11_10-36-41오전_1.log OPatch succeeded. [orcl:/home/oracle]> $GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local ~oracle/patch/30116789/30122167 Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.17 Copyright (c) 2020, Oracle Corporation. All rights reserved. Oracle 홈: /u01/app/oracle/19c/grid 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/oracle/19c/grid/oraInst.loc OPatch 버전: 12.2.0.1.17 OUI 버전: 12.2.0.7.0 로그 파일 위치: /u01/app/oracle/19c/grid/cfgtoollogs/opatch/opatch2020-01-11_10-38-42오전_1.log Verifying environment and performing prerequisite checks... OPatch continues with these patches: 30122167 계속하겠습니까? [y|n] y User Responded with: Y All checks passed. 로컬 시스템의 이 ORACLE_HOME에서 실행 중인 Oracle 인스턴스를 종료하십시오. (Oracle 홈 = '/u01/app/oracle/19c/grid') 로컬 시스템이 패치할 준비가 되었습니까? [y|n] y User Responded with: Y Backing up files... OH '/u01/app/oracle/19c/grid'에 Interim 패치 '30122167'을(를) 적용하는 중 oracle.usm, 19.0.0.0.0 구성요소를 패치하는 중... Patch 30122167 successfully applied. Sub-set patch [29517247] has become inactive due to the application of a super-set patch [30122167]. Please refer to Doc ID 2161861.1 for any possible further required actions. Log file location: /u01/app/oracle/19c/grid/cfgtoollogs/opatch/opatch2020-01-11_10-38-42오전_1.log OPatch succeeded. [orcl:/home/oracle]> $GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local ~oracle/patch/30116789/30125133 Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.17 Copyright (c) 2020, Oracle Corporation. All rights reserved. Oracle 홈: /u01/app/oracle/19c/grid 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/oracle/19c/grid/oraInst.loc OPatch 버전: 12.2.0.1.17 OUI 버전: 12.2.0.7.0 로그 파일 위치: /u01/app/oracle/19c/grid/cfgtoollogs/opatch/opatch2020-01-11_10-39-48오전_1.log Verifying environment and performing prerequisite checks... OPatch continues with these patches: 30125133 계속하겠습니까? [y|n] y User Responded with: Y All checks passed. 로컬 시스템의 이 ORACLE_HOME에서 실행 중인 Oracle 인스턴스를 종료하십시오. (Oracle 홈 = '/u01/app/oracle/19c/grid') 로컬 시스템이 패치할 준비가 되었습니까? [y|n] y User Responded with: Y Backing up files... OH '/u01/app/oracle/19c/grid'에 Interim 패치 '30125133'을(를) 적용하는 중 ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.ctx, 19.0.0.0.0 ] , [ oracle.network.gsm, 19.0.0.0.0 ] , [ oracle.rdbms.ic, 19.0.0.0.0 ] , [ oracle.sdo, 19.0.0.0.0 ] , [ oracle.network.cman, 19.0.0.0.0 ] , [ oracle.ctx.atg, 19.0.0.0.0 ] , [ oracle.rdbms.oci, 19.0.0.0.0 ] , [ oracle.net.cman, 19.0.0.0.0 ] , [ oracle.options.olap.awm, 19.0.0.0.0 ] , [ oracle.xdk, 19.0.0.0.0 ] , [ oracle.oraolap.mgmt, 19.0.0.0.0 ] , [ oracle.dbdev, 19.0.0.0.0 ] , [ oracle.rdbms.scheduler, 19.0.0.0.0 ] , [ oracle.rdbms.dv, 19.0.0.0.0 ] , [ oracle.assistants.usm, 19.0.0.0.0 ] , [ oracle.rdbms.install.seeddb, 19.0.0.0.0 ] , [ oracle.odbc, 19.0.0.0.0 ] , [ oracle.marvel, 19.0.0.0.0 ] , [ oracle.precomp.common, 19.0.0.0.0 ] , [ oracle.precomp.lang, 19.0.0.0.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms, 19.0.0.0.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 19.0.0.0.0 구성요소를 패치하는 중... oracle.assistants.acf, 19.0.0.0.0 구성요소를 패치하는 중... oracle.assistants.deconfig, 19.0.0.0.0 구성요소를 패치하는 중... oracle.assistants.server, 19.0.0.0.0 구성요소를 패치하는 중... oracle.buildtools.rsf, 19.0.0.0.0 구성요소를 패치하는 중... oracle.ldap.rsf, 19.0.0.0.0 구성요소를 패치하는 중... oracle.network.rsf, 19.0.0.0.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 19.0.0.0.0 구성요소를 패치하는 중... oracle.sqlplus, 19.0.0.0.0 구성요소를 패치하는 중... oracle.ldap.rsf.ic, 19.0.0.0.0 구성요소를 패치하는 중... oracle.rdbms.rman, 19.0.0.0.0 구성요소를 패치하는 중... oracle.rdbms.util, 19.0.0.0.0 구성요소를 패치하는 중... oracle.ovm, 19.0.0.0.0 구성요소를 패치하는 중... oracle.network.listener, 19.0.0.0.0 구성요소를 패치하는 중... oracle.rdbms.install.plugins, 19.0.0.0.0 구성요소를 패치하는 중... oracle.dbjava.jdbc, 19.0.0.0.0 구성요소를 패치하는 중... oracle.rdbms.deconfig, 19.0.0.0.0 구성요소를 패치하는 중... oracle.nlsrtl.rsf, 19.0.0.0.0 구성요소를 패치하는 중... oracle.oraolap.dbscripts, 19.0.0.0.0 구성요소를 패치하는 중... oracle.install.deinstalltool, 19.0.0.0.0 구성요소를 패치하는 중... oracle.dbjava.ic, 19.0.0.0.0 구성요소를 패치하는 중... oracle.sdo.locator, 19.0.0.0.0 구성요소를 패치하는 중... oracle.ons, 19.0.0.0.0 구성요소를 패치하는 중... oracle.ldap.security.osdt, 19.0.0.0.0 구성요소를 패치하는 중... oracle.ctx.rsf, 19.0.0.0.0 구성요소를 패치하는 중... oracle.duma, 19.0.0.0.0 구성요소를 패치하는 중... oracle.ldap.owm, 19.0.0.0.0 구성요소를 패치하는 중... oracle.oracore.rsf, 19.0.0.0.0 구성요소를 패치하는 중... oracle.assistants.asm, 19.0.0.0.0 구성요소를 패치하는 중... oracle.sdo.locator.jrf, 19.0.0.0.0 구성요소를 패치하는 중... oracle.network.client, 19.0.0.0.0 구성요소를 패치하는 중... oracle.tfa, 19.0.0.0.0 구성요소를 패치하는 중... oracle.sqlplus.ic, 19.0.0.0.0 구성요소를 패치하는 중... oracle.dbjava.ucp, 19.0.0.0.0 구성요소를 패치하는 중... oracle.xdk.rsf, 19.0.0.0.0 구성요소를 패치하는 중... oracle.xdk.parser.java, 19.0.0.0.0 구성요소를 패치하는 중... oracle.rdbms.rsf.ic, 19.0.0.0.0 구성요소를 패치하는 중... oracle.nlsrtl.rsf.core, 19.0.0.0.0 구성요소를 패치하는 중... Patch 30125133 successfully applied. Sub-set patch [29517242] has become inactive due to the application of a super-set patch [30125133]. Please refer to Doc ID 2161861.1 for any possible further required actions. Log file location: /u01/app/oracle/19c/grid/cfgtoollogs/opatch/opatch2020-01-11_10-39-48오전_1.log OPatch succeeded. [orcl:/home/oracle]> $GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local ~oracle/patch/30116789/29401763 Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.17 Copyright (c) 2020, Oracle Corporation. All rights reserved. Oracle 홈: /u01/app/oracle/19c/grid 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/oracle/19c/grid/oraInst.loc OPatch 버전: 12.2.0.1.17 OUI 버전: 12.2.0.7.0 로그 파일 위치: /u01/app/oracle/19c/grid/cfgtoollogs/opatch/opatch2020-01-11_10-42-19오전_1.log Verifying environment and performing prerequisite checks... The following patch(es) are duplicate patches with patches installed in the Oracle Home. [ 29401763] You have already installed same patch(es) with same UPI(s) or same version(s). These patch(es) will be skipped. OPatch Session이 경고와 함께 완료되었습니다. Log file location: /u01/app/oracle/19c/grid/cfgtoollogs/opatch/opatch2020-01-11_10-42-19오전_1.log OPatch completed with warnings.
DB 패치의 소프트웨어 충돌 여부 확인
$DB_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -oh $DB_HOME -phBaseDir ~oracle/patch/<패치번호>/<OCW Release Update> $DB_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -oh $DB_HOME -phBaseDir ~oracle/patch/<패치번호>/<Database Release Update>
[orcl:/home/oracle]> $DB_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -oh $DB_HOME -phBaseDir ~oracle/patch/30116789/30122149 Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.17 Copyright (c) 2020, Oracle Corporation. All rights reserved. PREREQ session Oracle 홈: /u01/app/oracle/product/19c/db_1 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/oracle/product/19c/db_1/oraInst.loc OPatch 버전: 12.2.0.1.17 OUI 버전: 12.2.0.7.0 로그 파일 위치: /u01/app/oracle/product/19c/db_1/cfgtoollogs/opatch/opatch2020-01-11_10-10-55오전_1.log Invoking prereq "checkconflictagainstohwithdetail" Prereq "checkConflictAgainstOHWithDetail" passed. OPatch succeeded. [orcl:/home/oracle]> $DB_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -oh $DB_HOME -phBaseDir ~oracle/patch/30116789/30125133 Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.17 Copyright (c) 2020, Oracle Corporation. All rights reserved. PREREQ session Oracle 홈: /u01/app/oracle/product/19c/db_1 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/oracle/product/19c/db_1/oraInst.loc OPatch 버전: 12.2.0.1.17 OUI 버전: 12.2.0.7.0 로그 파일 위치: /u01/app/oracle/product/19c/db_1/cfgtoollogs/opatch/opatch2020-01-11_10-11-03오전_1.log Invoking prereq "checkconflictagainstohwithdetail" Prereq "checkConflictAgainstOHWithDetail" passed. OPatch succeeded.
DB 패치의 패치간 충돌 여부 확인
$DB_HOME/OPatch/opatch prereq CheckConflictAmongPatches -oh $DB_HOME -phBaseDir ~oracle/patch/<패치번호>/<OCW Release Update> $DB_HOME/OPatch/opatch prereq CheckConflictAmongPatches -oh $DB_HOME -phBaseDir ~oracle/patch/<패치번호>/<Database Release Update>
[orcl:/home/oracle]> $DB_HOME/OPatch/opatch prereq CheckConflictAmongPatches -oh $DB_HOME -phBaseDir ~oracle/patch/30116789/30122149 Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.17 Copyright (c) 2020, Oracle Corporation. All rights reserved. PREREQ session Oracle 홈: /u01/app/oracle/product/19c/db_1 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/oracle/product/19c/db_1/oraInst.loc OPatch 버전: 12.2.0.1.17 OUI 버전: 12.2.0.7.0 로그 파일 위치: /u01/app/oracle/product/19c/db_1/cfgtoollogs/opatch/opatch2020-01-11_10-11-36오전_1.log Invoking prereq "checkconflictamongpatches" Prereq "checkConflictAmongPatches" passed. OPatch succeeded. [orcl:/home/oracle]> $DB_HOME/OPatch/opatch prereq CheckConflictAmongPatches -oh $DB_HOME -phBaseDir ~oracle/patch/30116789/30125133 Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.17 Copyright (c) 2020, Oracle Corporation. All rights reserved. PREREQ session Oracle 홈: /u01/app/oracle/product/19c/db_1 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/oracle/product/19c/db_1/oraInst.loc OPatch 버전: 12.2.0.1.17 OUI 버전: 12.2.0.7.0 로그 파일 위치: /u01/app/oracle/product/19c/db_1/cfgtoollogs/opatch/opatch2020-01-11_10-11-48오전_1.log Invoking prereq "checkconflictamongpatches" Prereq "checkConflictAmongPatches" passed. OPatch succeeded.
DB 패치 필요 공간 확인
cat > /tmp/patch_list_dbhome.txt /home/oracle/patch/<패치번호>/<OCW Release Update> /home/oracle/patch/<패치번호>/<Database Release Update> <ctrl + c> cat /tmp/patch_list_dbhome.txt $DB_HOME/OPatch/opatch prereq CheckSystemSpace -oh $DB_HOME -phBaseFile /tmp/patch_list_dbhome.txt
[orcl:/home/oracle]> cat > /tmp/patch_list_dbhome.txt /home/oracle/patch/30116789/30122149 /home/oracle/patch/30116789/30125133 ^C [orcl:/home/oracle]> cat /tmp/patch_list_dbhome.txt /home/oracle/patch/30116789/30122149 /home/oracle/patch/30116789/30125133 [orcl:/home/oracle]> $DB_HOME/OPatch/opatch prereq CheckSystemSpace -oh $DB_HOME -phBaseFile /tmp/patch_list_dbhome.txt Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.17 Copyright (c) 2020, Oracle Corporation. All rights reserved. PREREQ session Oracle 홈: /u01/app/oracle/product/19c/db_1 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/oracle/product/19c/db_1/oraInst.loc OPatch 버전: 12.2.0.1.17 OUI 버전: 12.2.0.7.0 로그 파일 위치: /u01/app/oracle/product/19c/db_1/cfgtoollogs/opatch/opatch2020-01-11_10-13-39오전_1.log Invoking prereq "checksystemspace" Prereq "checkSystemSpace" passed. OPatch succeeded.
DB 패치 적용
~oracle/patch/<패치번호>/<OCW Release Update>/custom/scripts/prepatch.sh -dbhome $DB_HOME $DB_HOME/OPatch/opatch apply -oh $DB_HOME -local ~oracle/patch/<패치번호>/<OCW Release Update> $DB_HOME/OPatch/opatch apply -oh $DB_HOME -local ~oracle/patch/<패치번호>/<Database Release Update> ~oracle/patch/<패치번호>/<OCW Release Update>/custom/scripts/postpatch.sh -dbhome $DB_HOME
[orcl:/home/oracle]> ~oracle/patch/30116789/30122149/custom/scripts/prepatch.sh -dbhome $DB_HOME /home/oracle/patch/30116789/30122149/custom/scripts/prepatch.sh completed successfully. [orcl:/home/oracle]> $DB_HOME/OPatch/opatch apply -oh $DB_HOME -local ~oracle/patch/30116789/30122149 Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.17 Copyright (c) 2020, Oracle Corporation. All rights reserved. Oracle 홈: /u01/app/oracle/product/19c/db_1 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/oracle/product/19c/db_1/oraInst.loc OPatch 버전: 12.2.0.1.17 OUI 버전: 12.2.0.7.0 로그 파일 위치: /u01/app/oracle/product/19c/db_1/cfgtoollogs/opatch/opatch2020-01-11_10-43-41오전_1.log Verifying environment and performing prerequisite checks... -------------------------------------------------------------------------------- Start OOP by Prereq process. Launch OOP... Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.17 Copyright (c) 2020, Oracle Corporation. All rights reserved. Oracle 홈: /u01/app/oracle/product/19c/db_1 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/oracle/product/19c/db_1/oraInst.loc OPatch 버전: 12.2.0.1.17 OUI 버전: 12.2.0.7.0 로그 파일 위치: /u01/app/oracle/product/19c/db_1/cfgtoollogs/opatch/opatch2020-01-11_10-43-55오전_1.log Verifying environment and performing prerequisite checks... OPatch continues with these patches: 30122149 계속하겠습니까? [y|n] Y (auto-answered by -silent) User Responded with: Y All checks passed. 로컬 시스템의 이 ORACLE_HOME에서 실행 중인 Oracle 인스턴스를 종료하십시오. (Oracle 홈 = '/u01/app/oracle/product/19c/db_1') 로컬 시스템이 패치할 준비가 되었습니까? [y|n] Y (auto-answered by -silent) User Responded with: Y Backing up files... OH '/u01/app/oracle/product/19c/db_1'에 Interim 패치 '30122149'을(를) 적용하는 중 ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.has.crs.cvu, 19.0.0.0.0 ] , [ oracle.has.cvu, 19.0.0.0.0 ] , [ oracle.has.crs, 19.0.0.0.0 ] , [ oracle.xag, 19.0.0.0.0 ] , [ oracle.rhp.crs, 19.0.0.0.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms, 19.0.0.0.0 구성요소를 패치하는 중... oracle.rhp.common, 19.0.0.0.0 구성요소를 패치하는 중... oracle.has.db, 19.0.0.0.0 구성요소를 패치하는 중... oracle.has.rsf, 19.0.0.0.0 구성요소를 패치하는 중... oracle.rhp.db, 19.0.0.0.0 구성요소를 패치하는 중... oracle.has.db.cvu, 19.0.0.0.0 구성요소를 패치하는 중... oracle.has.common, 19.0.0.0.0 구성요소를 패치하는 중... oracle.has.common.cvu, 19.0.0.0.0 구성요소를 패치하는 중... Patch 30122149 successfully applied. Sub-set patch [29585399] has become inactive due to the application of a super-set patch [30122149]. Please refer to Doc ID 2161861.1 for any possible further required actions. Log file location: /u01/app/oracle/product/19c/db_1/cfgtoollogs/opatch/opatch2020-01-11_10-43-55오전_1.log OPatch succeeded. [orcl:/home/oracle]> $DB_HOME/OPatch/opatch apply -oh $DB_HOME -local ~oracle/patch/30116789/30125133 Oracle Interim 패치 설치 프로그램 버전 12.2.0.1.17 Copyright (c) 2020, Oracle Corporation. All rights reserved. Oracle 홈: /u01/app/oracle/product/19c/db_1 중앙 인벤토리: /u01/app/oraInventory 출처: /u01/app/oracle/product/19c/db_1/oraInst.loc OPatch 버전: 12.2.0.1.17 OUI 버전: 12.2.0.7.0 로그 파일 위치: /u01/app/oracle/product/19c/db_1/cfgtoollogs/opatch/opatch2020-01-11_10-44-33오전_1.log Verifying environment and performing prerequisite checks... OPatch continues with these patches: 30125133 계속하겠습니까? [y|n] y User Responded with: Y All checks passed. 로컬 시스템의 이 ORACLE_HOME에서 실행 중인 Oracle 인스턴스를 종료하십시오. (Oracle 홈 = '/u01/app/oracle/product/19c/db_1') 로컬 시스템이 패치할 준비가 되었습니까? [y|n] y User Responded with: Y Backing up files... OH '/u01/app/oracle/product/19c/db_1'에 Interim 패치 '30125133'을(를) 적용하는 중 ApplySession: Oracle 홈에 선택적 구성요소 [ oracle.network.gsm, 19.0.0.0.0 ] , [ oracle.rdbms.ic, 19.0.0.0.0 ] , [ oracle.network.cman, 19.0.0.0.0 ] , [ oracle.net.cman, 19.0.0.0.0 ] , [ oracle.options.olap.awm, 19.0.0.0.0 ] , [ oracle.oraolap.mgmt, 19.0.0.0.0 ] , [ oracle.assistants.usm, 19.0.0.0.0 ] , [ oracle.assistants.asm, 19.0.0.0.0 ] , [ oracle.tfa, 19.0.0.0.0 ] 이(가) 없거나 상위 버전이 발견되었습니다. oracle.rdbms, 19.0.0.0.0 구성요소를 패치하는 중... oracle.rdbms.rsf, 19.0.0.0.0 구성요소를 패치하는 중... oracle.assistants.acf, 19.0.0.0.0 구성요소를 패치하는 중... oracle.assistants.deconfig, 19.0.0.0.0 구성요소를 패치하는 중... oracle.assistants.server, 19.0.0.0.0 구성요소를 패치하는 중... oracle.buildtools.rsf, 19.0.0.0.0 구성요소를 패치하는 중... oracle.ctx, 19.0.0.0.0 구성요소를 패치하는 중... oracle.ldap.rsf, 19.0.0.0.0 구성요소를 패치하는 중... oracle.network.rsf, 19.0.0.0.0 구성요소를 패치하는 중... oracle.rdbms.dbscripts, 19.0.0.0.0 구성요소를 패치하는 중... oracle.sdo, 19.0.0.0.0 구성요소를 패치하는 중... oracle.sqlplus, 19.0.0.0.0 구성요소를 패치하는 중... oracle.ldap.rsf.ic, 19.0.0.0.0 구성요소를 패치하는 중... oracle.rdbms.rman, 19.0.0.0.0 구성요소를 패치하는 중... oracle.ctx.atg, 19.0.0.0.0 구성요소를 패치하는 중... oracle.rdbms.oci, 19.0.0.0.0 구성요소를 패치하는 중... oracle.rdbms.util, 19.0.0.0.0 구성요소를 패치하는 중... oracle.xdk, 19.0.0.0.0 구성요소를 패치하는 중... oracle.ovm, 19.0.0.0.0 구성요소를 패치하는 중... oracle.network.listener, 19.0.0.0.0 구성요소를 패치하는 중... oracle.rdbms.install.plugins, 19.0.0.0.0 구성요소를 패치하는 중... oracle.dbjava.jdbc, 19.0.0.0.0 구성요소를 패치하는 중... oracle.dbdev, 19.0.0.0.0 구성요소를 패치하는 중... oracle.rdbms.deconfig, 19.0.0.0.0 구성요소를 패치하는 중... oracle.nlsrtl.rsf, 19.0.0.0.0 구성요소를 패치하는 중... oracle.oraolap.dbscripts, 19.0.0.0.0 구성요소를 패치하는 중... oracle.install.deinstalltool, 19.0.0.0.0 구성요소를 패치하는 중... oracle.dbjava.ic, 19.0.0.0.0 구성요소를 패치하는 중... oracle.sdo.locator, 19.0.0.0.0 구성요소를 패치하는 중... oracle.rdbms.scheduler, 19.0.0.0.0 구성요소를 패치하는 중... oracle.rdbms.dv, 19.0.0.0.0 구성요소를 패치하는 중... oracle.ons, 19.0.0.0.0 구성요소를 패치하는 중... oracle.ldap.security.osdt, 19.0.0.0.0 구성요소를 패치하는 중... oracle.ctx.rsf, 19.0.0.0.0 구성요소를 패치하는 중... oracle.duma, 19.0.0.0.0 구성요소를 패치하는 중... oracle.ldap.owm, 19.0.0.0.0 구성요소를 패치하는 중... oracle.oracore.rsf, 19.0.0.0.0 구성요소를 패치하는 중... oracle.rdbms.install.seeddb, 19.0.0.0.0 구성요소를 패치하는 중... oracle.odbc, 19.0.0.0.0 구성요소를 패치하는 중... oracle.sdo.locator.jrf, 19.0.0.0.0 구성요소를 패치하는 중... oracle.network.client, 19.0.0.0.0 구성요소를 패치하는 중... oracle.sqlplus.ic, 19.0.0.0.0 구성요소를 패치하는 중... oracle.dbjava.ucp, 19.0.0.0.0 구성요소를 패치하는 중... oracle.xdk.rsf, 19.0.0.0.0 구성요소를 패치하는 중... oracle.marvel, 19.0.0.0.0 구성요소를 패치하는 중... oracle.xdk.parser.java, 19.0.0.0.0 구성요소를 패치하는 중... oracle.rdbms.rsf.ic, 19.0.0.0.0 구성요소를 패치하는 중... oracle.nlsrtl.rsf.core, 19.0.0.0.0 구성요소를 패치하는 중... oracle.precomp.common, 19.0.0.0.0 구성요소를 패치하는 중... oracle.precomp.lang, 19.0.0.0.0 구성요소를 패치하는 중... Patch 30125133 successfully applied. Sub-set patch [29517242] has become inactive due to the application of a super-set patch [30125133]. Please refer to Doc ID 2161861.1 for any possible further required actions. Log file location: /u01/app/oracle/product/19c/db_1/cfgtoollogs/opatch/opatch2020-01-11_10-44-33오전_1.log OPatch succeeded. [orcl:/home/oracle]> ~oracle/patch/30116789/30122149/custom/scripts/postpatch.sh -dbhome $DB_HOME Reading /u01/app/oracle/product/19c/db_1/install/params.ora.. Reading /u01/app/oracle/product/19c/db_1/install/params.ora.. Found uninstantiated /u01/app/oracle/product/19c/db_1/crs/sbs/srvctl.sbs file, copying to /u01/app/oracle/product/19c/db_1/bin/srvctl Parsing file /u01/app/oracle/product/19c/db_1/bin/srvctl Parsing file /u01/app/oracle/product/19c/db_1/bin/srvconfig Parsing file /u01/app/oracle/product/19c/db_1/bin/cluvfy Parsing file /u01/app/oracle/product/19c/db_1/bin/kfod Verifying file /u01/app/oracle/product/19c/db_1/bin/srvctl Verifying file /u01/app/oracle/product/19c/db_1/bin/srvconfig Verifying file /u01/app/oracle/product/19c/db_1/bin/cluvfy Verifying file /u01/app/oracle/product/19c/db_1/bin/kfod Reapplying file permissions on /u01/app/oracle/product/19c/db_1/bin/srvctl Reapplying file permissions on /u01/app/oracle/product/19c/db_1/bin/srvconfig Reapplying file permissions on /u01/app/oracle/product/19c/db_1/bin/cluvfy Reapplying file permissions on /u01/app/oracle/product/19c/db_1/bin/kfod Reapplying file permissions on /u01/app/oracle/product/19c/db_1/bin/diskmon.bin Reapplying file permissions on /u01/app/oracle/product/19c/db_1/bin/lsnodes Reapplying file permissions on /u01/app/oracle/product/19c/db_1/bin/osdbagrp Reapplying file permissions on /u01/app/oracle/product/19c/db_1/bin/rawutl Reapplying file permissions on /u01/app/oracle/product/19c/db_1/srvm/admin/ractrans Reapplying file permissions on /u01/app/oracle/product/19c/db_1/srvm/admin/getcrshome Reapplying file permissions on /u01/app/oracle/product/19c/db_1/bin/crsdiag.pl Postpatch completed successfully
root 유저로 postpatch 수행
$GRID_HOME/rdbms/install/rootadd_rdbms.sh $GRID_HOME/crs/install/roothas.sh -postpatch
[root@ol7 ~]# $GRID_HOME/rdbms/install/rootadd_rdbms.sh [root@ol7 ~]# $GRID_HOME/crs/install/roothas.sh -postpatch Using configuration parameter file: /u01/app/oracle/19c/grid/crs/install/crsconfig_params The log of current session can be found at: /u01/app/oracle/crsdata/ol7/crsconfig/hapatch_2020-01-11_12-02-39AM.log 2020/01/11 12:02:42 CLSRSC-329: Replacing Clusterware entries in file 'oracle-ohasd.service' 2020/01/11 12:05:37 CLSRSC-672: Post-patch steps for patching GI home successfully completed.
패치 결과 확인
$GRID_HOME/OPatch/opatch lspatches -oh $GRID_HOME $DB_HOME/OPatch/opatch lspatches -oh $DB_HOME
[orcl:/home/oracle]> $GRID_HOME/OPatch/opatch lspatches -oh $GRID_HOME 30125133;Database Release Update : 19.5.0.0.191015 (30125133) 30122167;ACFS RELEASE UPDATE 19.5.0.0.0 (30122167) 30122149;OCW RELEASE UPDATE 19.5.0.0.0 (30122149) 29401763;TOMCAT RELEASE UPDATE 19.0.0.0.0 (29401763) OPatch succeeded. [orcl:/home/oracle]> $DB_HOME/OPatch/opatch lspatches -oh $DB_HOME 30125133;Database Release Update : 19.5.0.0.191015 (30125133) 30122149;OCW RELEASE UPDATE 19.5.0.0.0 (30122149) OPatch succeeded.
{}