버전 비교

  • 이 줄이 추가되었습니다.
  • 이 줄이 삭제되었습니다.
  • 서식이 변경되었습니다.

패치 사전 준비

환경 변수 설정

{}

코드 블럭
languagebash
titleroot 유저 경로 환경 변수 설정
linenumberstrue
export ORACLE_BASE=/u01/app/oracle
export GRID_HOME=/u01/app/19c/grid
export DB_HOME=$ORACLE_BASE/product/19c/db_1
export ORACLE_HOME=$GRID_HOME


OPatch 업데이트

코드 블럭
languagebash
titleGrid opatch 버전 확인 및 업데이트
linenumberstrue
$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



mkdir ~oracle/patch unzip p30116789_190000_Linux-x86-64.zip -d ~oracle/patch
코드 블럭
languagebash
titleDB opatch 버전 확인 및 업데이트
linenumberstrue
$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
코드 블럭
languagebash
title패치 압축 해제
linenumberstrue


패치 현황 조사

코드 블럭
languagebash
title패치 현황 확인
linenumberstrue
$GRID_HOME/OPatch/opatch lspatches -oh $GRID_HOME
$DB_HOME/OPatch/opatch lspatches -oh $DB_HOME


패치 압축 해제

코드 블럭
languagebash
title패치 압축 해제
linenumberstrue
mkdir ~oracle/patch
unzip p30116789_190000_Linux-x86-64.zip -d ~oracle/patch


Grid 패치 충돌 여부 검증

코드 블럭
languagebash
titleGrid 패치의 소프트웨어 충돌 여부 확인
linenumberstrue
$GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -oh $GRID_HOME -phBaseDir ~oracle/patch/30116789/30122149
$GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -oh $GRID_HOME -phBaseDir ~oracle/patch/30116789/30122167
$GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -oh $GRID_HOME -phBaseDir ~oracle/patch/30116789/30125133
$GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -oh $GRID_HOME -phBaseDir ~oracle/patch/30116789/29401763



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 <ctrl+c> $GRID_HOME/OPatch/opatch prereq CheckSystemSpace -oh $GRID_HOME -phBaseFile /tmp/patch_list_gihome.txt
코드 블럭
languagebash
titleGrid 패치의 패치간 충돌 여부 확인
linenumberstrue
$GRID_HOME/OPatch/opatch prereq CheckConflictAmongPatches -oh $GRID_HOME -phBaseDir ~oracle/patch/30116789/30122149
$GRID_HOME/OPatch/opatch prereq CheckConflictAmongPatches -oh $GRID_HOME -phBaseDir ~oracle/patch/30116789/30122167
$GRID_HOME/OPatch/opatch prereq CheckConflictAmongPatches -oh $GRID_HOME -phBaseDir ~oracle/patch/30116789/30125133
$GRID_HOME/OPatch/opatch prereq CheckConflictAmongPatches -oh $GRID_HOME -phBaseDir ~oracle/patch/30116789/29401763
코드 블럭
languagebash
titleGrid 패치 필요 공간 확인
linenumberstrue


DB 패치 충돌 여부 검증

코드 블럭
languagebash
titleDB 패치의 소프트웨어 충돌 여부 확인
linenumberstrue
$DB_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -oh $DB_HOME -phBaseDir ~oracle/patch/30116789/30122149
$DB_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -oh $DB_HOME -phBaseDir ~oracle/patch/30116789/30125133



코드 블럭
languagebash
titleDB 패치의 패치간 충돌 여부 확인
linenumberstrue
$DB_HOME/OPatch/opatch prereq CheckConflictAmongPatches -oh $DB_HOME -phBaseDir ~oracle/patch/30116789/30122149
$DB_HOME/OPatch/opatch prereq CheckConflictAmongPatches -oh $DB_HOME -phBaseDir ~oracle/patch/30116789/30125133


1번 노드 패치

Grid 패치를 위한 공간 확인

코드 블럭
languagebash
titleDB 1번 노드 Grid 패치 필요 공간 확인
linenumberstrue
cat > /tmp/patch_list_dbhomegihome.txt
/home/oracle/patch/30116789/30122149
/home/oracle/patch/30116789/30122167
/home/oracle/patch/30116789/30125133
/home/oracle/patch/30116789/29401763
<ctrl + c>
$DB$GRID_HOME/OPatch/opatch prereq CheckSystemSpace -oh $DB$GRID_HOME -phBaseFile /tmp/patch_list_dbhomegihome.txt


Prepatch 수행

코드 블럭
languagebash
title1번 노드 root 유저로 prepatch 수행
linenumberstrue
$GRID_HOME/crs/install/rootcrs.sh -prepatch


Grid 패치

코드 블럭
languagebash
title1번 노드 Grid 패치 적용
linenumberstrue
$GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local ~oracle/patch/30116789/30122149
$GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local ~oracle/patch/30116789/30122167
$GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local ~oracle/patch/30116789/30125133
$GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local ~oracle/patch/30116789/29401763


DB 패치를 위한 공간 확인

코드 블럭
languagebash
title1번 노드 DB 패치 필요 공간 확인
linenumberstrue
cat > /tmp/patch_list_dbhome.txt
/home/oracle/patch/30116789/30122149
/home/oracle/patch/30116789/30125133
<ctrl + c>
$DB_HOME/OPatch/opatch prereq CheckSystemSpace -oh $DB_HOME -phBaseFile /tmp/patch_list_dbhome.txt


DB 패치

코드 블럭
languagebash
title1번 노드 DB 패치 적용
linenumberstrue
~oracle/patch/30116789/30122149/custom/scripts/prepatch.sh -dbhome $DB_HOME
$DB_HOME/OPatch/opatch apply -oh $DB_HOME -local ~oracle/patch/30116789/30122149
$DB_HOME/OPatch/opatch apply -oh $DB_HOME -local ~oracle/patch/30116789/30125133
~oracle/patch/30116789/30122149/custom/scripts/postpatch.sh -dbhome $DB_HOME


Postpatch 수행

코드 블럭
languagebash
title1번 노드 root 유저로 postpatch 수행
linenumberstrue
$GRID_HOME/rdbms/install/rootadd_rdbms.sh
$GRID_HOME/crs/install/rootcrs.sh -postpatch


패치 결과 확인

코드 블럭
languagebash
title1번 노드 패치 결과 확인
linenumberstrue
$GRID_HOME/OPatch/opatch lspatches -oh $GRID_HOME
$DB_HOME/OPatch/opatch lspatches -oh $DB_HOME


2번 노드 패치

Grid 패치를 위한 공간 확인

코드 블럭
languagebash
title2번 노드 Grid 패치 필요 공간 확인
linenumberstrue
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
<ctrl+c>
$GRID_HOME/OPatch/opatch prereq CheckSystemSpace -oh $GRID_HOME -phBaseFile /tmp/patch_list_gihome.txt


Prepatch 수행

코드 블럭
languagebash
title2번 노드 root 유저로 prepatch 수행
linenumberstrue
$GRID_HOME/crs/install/rootcrs.sh -prepatch


Grid 패치

코드 블럭
languagebash
title2번 노드 Grid 패치 적용
linenumberstrue
$GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local ~oracle/patch/30116789/30122149
$GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local ~oracle/patch/30116789/30122167
$GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local ~oracle/patch/30116789/30125133
$GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local ~oracle/patch/30116789/29401763


DB 패치를 위한 공간 확인

코드 블럭
languagebash
title2번 노드 DB 패치 필요 공간 확인
linenumberstrue
cat > /tmp/patch_list_dbhome.txt
/home/oracle/patch/30116789/30122149
/home/oracle/patch/30116789/30125133
<ctrl + c>
$DB_HOME/OPatch/opatch prereq CheckSystemSpace -oh $DB_HOME -phBaseFile /tmp/patch_list_dbhome.txt


DB 패치

코드 블럭
languagebash
title2번 노드 DB 패치 적용
linenumberstrue
~oracle/patch/30116789/30122149/custom/scripts/prepatch.sh -dbhome $DB_HOME
$DB_HOME/OPatch/opatch apply -oh $DB_HOME -local ~oracle/patch/30116789/30122149
$DB_HOME/OPatch/opatch apply -oh $DB_HOME -local ~oracle/patch/30116789/30125133
~oracle/patch/30116789/30122149/custom/scripts/postpatch.sh -dbhome $DB_HOME


Postpatch 수행

코드 블럭
languagebash
title2번 노드 root 유저로 postpatch 수행
linenumberstrue
$GRID_HOME/rdbms/install/rootadd_rdbms.sh
$GRID_HOME/crs/install/rootcrs.sh -postpatch


패치 결과 확인

코드 블럭
languagebash
title2번 노드 패치 결과 확인
linenumberstrue
$GRID_HOME/OPatch/opatch lspatches -oh $GRID_HOME
$DB_HOME/OPatch/opatch lspatches -oh $DB_HOME