■ [2024-11-17][OL7.9] 19c 2 Node RAC RU Patch 작업 (19.24 -> 19.25)
<테스트
개요>
사전 준비: OPatch 최신 버전(12.2.0.1.44) 및 19c RU 패치(19.25) 파일을 다운로드/업로드 후 각 노드(Grid, Oracle Home)에 OPatch 교체.
패치 적용: rootcrs.sh -prepatch 실행 → Grid Home과 Oracle Home 각각 충돌/용량 체크 후 순차적으로 RU 패치 적용 및 sqlpatch/datapatch 수행.
검증 및 마무리: CRS 재기동 확인, chad 리소스 재기동, DBA_REGISTRY_SQLPATCH 및 crsctl query로 패치 정상 반영 여부 검증.
1. Opatch download
https://updates.oracle.com/download/6880880.html 로 접속
OPatch 12.2.0.1.44 for DB 19.0.0.0.0 (Oct 2024)
Select a Release : OPatch for DB 19.0.0.0.0
Platform or Language : Linux x86-64
Download 버튼
p6880880_190000_Linux-x86-64.zip 파일을 다운로드
2. 19c RU 최신 패치 다운로드 (여기서는 19.25로 테스트)
Assistant: Download Reference for Oracle Database/GI Update, Revision, PSU, SPU(CPU), Bundle Patches, Patchsets and Base Releases (Doc ID 2118136.2)
Oracle Database Release Updates (RUs) 선택
19.0.0.0 선택
JAN2022 (12.2.0.1.220118) : GI Update 36916690 선택
Linux x86-64 선택
p36916690_190000_Linux-x86-64.zip 파일을 다운로드 하게됨
3. 패치 파일 업로드
[root@trdb1][/root]$ mkdir -pv /tmp/patch
[root@trdb2][/root]$ mkdir -pv /tmp/patch
--> 해당 위치에 모든 패치 파일을 업로드 시킴
3-1. 1번 노드 업로드 확인
[root@trdb1][/tmp/patch]$ ls -al
-rw-r--r--. 1 root root
3369893688 Nov 17 15:17 p36916690_190000_Linux-x86-64.zip
drwxrwxrwx. 3
root root 4096 Nov 17 15:17
.
-rw-r--r--. 1 root root 134583311 Nov 17 15:17
p6880880_190000_Linux-x86-64.zip
[root@trdb1][/root]$ chmod -R 777 /tmp/patch
3-2. 2번 노드 업로드 확인
[root@trdb2][/tmp/patch]$ ls -al
-rw-r--r--. 1 root root
3369893688 Nov 17 15:17 p36916690_190000_Linux-x86-64.zip
drwxrwxrwx. 3
root root 4096 Nov 17 15:17
.
-rw-r--r--. 1 root root 134583311 Nov 17 15:17
p6880880_190000_Linux-x86-64.zip
[root@trdb2][/tmp/patch]$ chmod -R 777 /tmp/patch
4. Opatch 설치
4-1. 1번 노드 Opatch 설치
--> grid Opatch 백업
[root@trdb1][/tmp/patch]$ cd
$GRID_HOME
[root@trdb1][/u01/app/19c/grid]$ mv OPatch
OPatch.bak_2
[root@trdb1][/u01/app/19c/grid]$ unzip /tmp/patch/p6880880_190000_Linux-x86-64.zip -d $GRID_HOME
[root@trdb1][/u01/app/19c/grid]$ chown grid:oinstall -R $GRID_HOME/OPatch
[+ASM1:grid@trdb1][/home/grid]$ which
opatch
/u01/app/19c/grid/OPatch/opatch
[+ASM1:grid@trdb1][/home/grid]$ opatch
version
OPatch Version: 12.2.0.1.44
OPatch succeeded.
--> oracle Opatch 백업
[root@trdb1][/root]$ cd $DB_HOME
[root@trdb1][/u01/app/oracle/product/19c/db_1]$ mv OPatch
OPatch.bak_2
[root@trdb1][/u01/app/oracle/product/19c/db_1]$ unzip
/tmp/patch/p6880880_190000_Linux-x86-64.zip -d $DB_HOME
[root@trdb1][/u01/app/oracle/product/19c/db_1]$ chown oracle:oinstall -R $DB_HOME/OPatch
[PRDB1:oracle@trdb1][/home/oracle]$ which
opatch
/u01/app/oracle/product/19c/db_1/OPatch/opatch
[PRDB1:oracle@trdb1][/home/oracle]$
opatch version
OPatch Version: 12.2.0.1.44
OPatch succeeded.
4-2.
trdb2 Node
--> grid Opatch 백업
[root@trdb2][/root]$ cd $GRID_HOME
[root@trdb2][/u01/app/19c/grid]$ mv
OPatch OPatch.bak_2
[root@trdb2][/u01/app/19c/grid]$ unzip
/tmp/patch/p6880880_190000_Linux-x86-64.zip -d $GRID_HOME
[root@trdb2][/u01/app/19c/grid]$ chown grid:oinstall -R $GRID_HOME/OPatch
[+ASM2:grid@trdb2][/u01/app/19c/grid]$ which
opatch
/u01/app/19c/grid/OPatch/opatch
[+ASM2:grid@trdb2][/u01/app/19c/grid]$ opatch
version
OPatch Version: 12.2.0.1.44
OPatch succeeded.
--> oracle Opatch 백업
[root@trdb2][/root]$ cd
$DB_HOME
[root@trdb2][/u01/app/oracle/product/19c/db_1]$ mv OPatch
OPatch.bak_2
[root@trdb2][/u01/app/oracle/product/19c/db_1]$ unzip /tmp/patch/p6880880_190000_Linux-x86-64.zip -d $DB_HOME
[root@trdb2][/u01/app/oracle/product/19c/db_1]$ chown oracle:oinstall -R $DB_HOME/OPatch
[PRDB2:oracle@trdb2][/home/oracle]$ which
opatch
/u01/app/oracle/product/19c/db_1/OPatch/opatch
[PRDB2:oracle@trdb2][/home/oracle]$ opatch version
OPatch Version: 12.2.0.1.44
OPatch succeeded.
5. RU 패치 파일 압축 해제
5-1. 1번 노드
[root@trdb1][/root]$ cd /tmp/patch
[root@trdb1][/tmp/patch]$ unzip
p36916690_190000_Linux-x86-64.zip
[root@trdb1][/tmp/patch]$ chmod 777 -R
/tmp/patch/36916690
5-2. 2번 노드
[root@trdb2][/root]$ cd /tmp/patch
[root@trdb2][/tmp/patch]$ unzip
p36916690_190000_Linux-x86-64.zip
[root@trdb2][/tmp/patch]$ chmod 777 -R
/tmp/patch/36916690
6. mgmtlsnr 및 mgmtdb 가 ON 상태인지 확인
[+ASM1:grid@trdb1][/home/grid]$ srvctl status
mgmtlsnr
[+ASM1:grid@trdb1][/home/grid]$ srvctl status
mgmtdb
[+ASM1:grid@trdb1][/home/grid]$ srvctl config
mgmtlsnr
[+ASM1:grid@trdb1][/home/grid]$ srvctl config
mgmtdb
[+ASM1:grid@trdb1][/home/grid]$ crsctl status resource ora.mgmtdb
-t
[+ASM1:grid@trdb1][/home/grid]$ crsctl
status resource ora.MGMTLSNR
--> 만약 off상태라면 (grid os user) --> 여기서 trdb2는 mgmtdb, mgmtlsnr이 떠 있는 인스턴스명임
srvctl enable mgmtlsnr -node trdb2
srvctl start mgmtlsnr -node
trdb2
srvctl enable mgmtdb -node trdb2
srvctl start mgmtdb -node trdb2
7. chad 가 중지되어 있는지 확인
[+ASM1:grid@trdb1][/home/grid]$
crsctl status resource ora.chad -t
--------------------------------------------------------------------------------
Name
Target State
Server
State
details
--------------------------------------------------------------------------------
Local
Resources
--------------------------------------------------------------------------------
ora.chad
ONLINE ONLINE
trdb1
STABLE
ONLINE ONLINE
trdb2
STABLE
--------------------------------------------------------------------------------
[+ASM1:grid@trdb1][/home/grid]$ srvctl stop cha
[+ASM1:grid@trdb1][/home/grid]$ crsctl status resource ora.chad -t
--------------------------------------------------------------------------------
Name
Target State
Server
State
details
--------------------------------------------------------------------------------
Local
Resources
--------------------------------------------------------------------------------
ora.chad
OFFLINE OFFLINE
trdb1
STABLE
OFFLINE OFFLINE
trdb2
STABLE
--------------------------------------------------------------------------------
8. RU 패치 작업
패치 작업 전 grid 및 oracle 엔진 백업
모든 노드에 대해 엔진 백업 작업을 해야함
GRID_HOME 백업)
root user로 접속
cd $GRID_HOME
cd ../
tar cvpzf grid.tar grid
ORACLE_HOME 백업
oracle user로 접속
cd $ORACLE_HOME
cd ../
tar cvpzf db_1.tar db_1
8-1. 1번 노드
--> 패치 충돌 검사 및 디스크 용량 확인 (grid os user)
[+ASM1:grid@trdb1][/home/grid]$ $GRID_HOME/OPatch/opatch prereq
CheckConflictAgainstOHWithDetail -phBaseDir
/tmp/patch/36916690/36912597
[+ASM1:grid@trdb1][/home/grid]$
$GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir
/tmp/patch/36916690/36917416
[+ASM1:grid@trdb1][/home/grid]$
$GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir
/tmp/patch/36916690/36917397
[+ASM1:grid@trdb1][/home/grid]$
$GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir
/tmp/patch/36916690/36940756
[+ASM1:grid@trdb1][/home/grid]$ $GRID_HOME/OPatch/opatch
prereq CheckConflictAgainstOHWithDetail -phBaseDir
/tmp/patch/36916690/36758186
[+ASM1:grid@trdb1][/home/grid]$ vi patch_list_grid_home.txt
[+ASM1:grid@trdb1][/home/grid]$ cat
patch_list_grid_home.txt
/tmp/patch/36916690/36912597
/tmp/patch/36916690/36917416
/tmp/patch/36916690/36917397
/tmp/patch/36916690/36940756
/tmp/patch/36916690/36758186
[+ASM1:grid@trdb1][/home/grid]$ $GRID_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /home/grid/patch_list_grid_home.txt
--> 패치 충돌 검사 및 디스크 용량 확인 (oracle os user)
[PRDB1:oracle@trdb1][/home/oracle]$ $ORACLE_HOME/OPatch/opatch prereq
CheckConflictAgainstOHWithDetail -phBaseDir /tmp/patch/36916690/36912597
[PRDB1:oracle@trdb1][/home/oracle]$
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir
/tmp/patch/36916690/36917416
[PRDB1:oracle@trdb1][/home/oracle]$ vi
patch_list_oracle_home.txt
[PRDB1:oracle@trdb1][/home/oracle]$ cat
patch_list_oracle_home.txt
/tmp/patch/36916690/36912597
/tmp/patch/36916690/36917416
[PRDB1:oracle@trdb1][/home/oracle]$ $ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /home/oracle/patch_list_oracle_home.txt
[root@trdb1][/root]$ $GRID_HOME/crs/install/rootcrs.sh -prepatch
--grid 패치 적용 (grid os user)
/tmp/patch/36916690/36912597
/tmp/patch/36916690/36917416
/tmp/patch/36916690/36917397
/tmp/patch/36916690/36940756
/tmp/patch/36916690/36758186
[+ASM1:grid@trdb1][/home/grid]$ $GRID_HOME/OPatch/opatch apply -oh $GRID_HOME
-local /tmp/patch/36916690/36912597
[+ASM1:grid@trdb1][/home/grid]$
$GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local
/tmp/patch/36916690/36917416
[+ASM1:grid@trdb1][/home/grid]$ $GRID_HOME/OPatch/opatch
apply -oh $GRID_HOME -local /tmp/patch/36916690/36917397
[+ASM1:grid@trdb1][/home/grid]$ $GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local /tmp/patch/36916690/36940756
[+ASM1:grid@trdb1][/home/grid]$
$GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local
/tmp/patch/36916690/36758186
[Nov 17, 2024 4:31:09 PM] [WARNING]
OUI-67652:
The following patch(es) are duplicate patches with patches installed in the
Oracle
Home.
[
36758186]
You have already installed same patch(es) with same UPI(s) or same
version(s).
These patch(es) will be skipped.
--> 해당 패치가 이미 적용되어 있음을 확인 (이건 이미 적용돼있다고 스킵한 것임)
--oracle 패치 적용 (oracle os user)
/tmp/patch/36916690/36912597
/tmp/patch/36916690/36917416
[PRDB1:oracle@trdb1][/home/oracle]$ cd
/tmp/patch/36916690/36912597/custom/scripts
[PRDB1:oracle@trdb1][/tmp/patch/36916690/36912597/custom/scripts]$
./init
[PRDB1:oracle@trdb1][/tmp/patch/36916690/36912597/custom/scripts]$
./prepatch.sh
[PRDB1:oracle@trdb1][/tmp/patch/36916690/36912597/custom/scripts]$
$ORACLE_HOME/OPatch/opatch apply -oh $ORACLE_HOME -local
/tmp/patch/36916690/36912597
[PRDB1:oracle@trdb1][/home/oracle]$ cd
/tmp/patch/36916690/36917416/custom/scripts
[PRDB1:oracle@trdb1][/tmp/patch/36916690/36917416/custom/scripts]$
./prepatch.sh
[PRDB1:oracle@trdb1][/tmp/patch/36916690/36917416/custom/scripts]$ $ORACLE_HOME/OPatch/opatch apply -oh $ORACLE_HOME -local /tmp/patch/36916690/36917416
[PRDB1:oracle@trdb1][/tmp/patch/36916690/36917416/custom/scripts]$
./postpatch.sh
[root@trdb1][/root]$ chown root
$DB_HOME/bin/extjob
[root@trdb1][/root]$ chmod 4750
$DB_HOME/bin/extjob
[root@trdb1][/root]$
$GRID_HOME/rdbms/install/rootadd_rdbms.sh
[root@trdb1][/root]$ $GRID_HOME/crs/install/rootcrs.sh
-postpatch
[root@trdb1][/root]$ mkdir -p
/u01/app/oracle/cfgtoollogs/sqlpatch
[root@trdb1][/root]$
chmod 775 /u01/app/oracle/cfgtoollogs/sqlpatch
[PRDB1:oracle@trdb1][/home/oracle]$
sqlplus "/as sysdba"
SQL>
@$ORACLE_HOME/rdbms/admin/utlrp.sql
--> 실패 시 아래의 조치를 함
grant execute on DBMS_RANDOM to PUBLIC;
grant execute on UTL_FILE to
PUBLIC;
grant execute on UTL_HTTP to PUBLIC;
grant execute on DBMS_SQL to
PUBLIC;
grant execute on UTL_TCP to PUBLIC;
grant execute on DBMS_LOB to PUBLIC;
@?/rdbms/admin/utlrp.sql
[PRDB1:oracle@trdb1][/home/oracle]$ cd
$ORACLE_HOME/OPatch
[PRDB1:oracle@trdb1][/u01/app/oracle/product/12c/db_1/OPatch]$
./datapatch -verbose
8-2. 2번 노드
--> 패치 충돌 검사 및 디스크 용량 확인 (grid os user)
[+ASM2:grid@trdb2][/home/grid]$ $GRID_HOME/OPatch/opatch prereq
CheckConflictAgainstOHWithDetail -phBaseDir
/tmp/patch/36916690/36912597
[+ASM2:grid@trdb2][/home/grid]$
$GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir
/tmp/patch/36916690/36917416
[+ASM2:grid@trdb2][/home/grid]$
$GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir
/tmp/patch/36916690/36917397
[+ASM2:grid@trdb2][/home/grid]$
$GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir
/tmp/patch/36916690/36940756
[+ASM2:grid@trdb2][/home/grid]$ $GRID_HOME/OPatch/opatch
prereq CheckConflictAgainstOHWithDetail -phBaseDir
/tmp/patch/36916690/36758186
[+ASM2:grid@trdb2][/home/grid]$ vi patch_list_grid_home.txt
[+ASM2:grid@trdb2][/home/grid]$ cat
patch_list_grid_home.txt
/tmp/patch/36916690/36912597
/tmp/patch/36916690/36917416
/tmp/patch/36916690/36917397
/tmp/patch/36916690/36940756
/tmp/patch/36916690/36758186
[+ASM2:grid@trdb2][/home/grid]$
$GRID_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile
/home/grid/patch_list_grid_home.txt
--> 패치 충돌 검사 및 디스크 용량 확인 (oracle os user)
[PRDB2:oracle@trdb2][/home/oracle]$ $ORACLE_HOME/OPatch/opatch prereq
CheckConflictAgainstOHWithDetail -phBaseDir /tmp/patch/36916690/36912597
[PRDB2:oracle@trdb2][/home/oracle]$
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir
/tmp/patch/36916690/36917416
[PRDB2:oracle@trdb2][/home/oracle]$ vi
patch_list_oracle_home.txt
[PRDB2:oracle@trdb2][/home/oracle]$ cat
patch_list_oracle_home.txt
/tmp/patch/36916690/36912597
/tmp/patch/36916690/36917416
[PRDB2:oracle@trdb2][/home/oracle]$ $ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /home/oracle/patch_list_oracle_home.txt
[root@trdb2][/root]$ $GRID_HOME/crs/install/rootcrs.sh -prepatch
--grid 패치 적용 (grid os user)
/tmp/patch/36916690/36912597
/tmp/patch/36916690/36917416
/tmp/patch/36916690/36917397
/tmp/patch/36916690/36940756
/tmp/patch/36916690/36758186
[+ASM2:grid@trdb2][/home/grid]$ $GRID_HOME/OPatch/opatch apply -oh $GRID_HOME
-local /tmp/patch/36916690/36912597
[+ASM2:grid@trdb2][/home/grid]$
$GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local
/tmp/patch/36916690/36917416
[+ASM2:grid@trdb2][/home/grid]$ $GRID_HOME/OPatch/opatch
apply -oh $GRID_HOME -local /tmp/patch/36916690/36917397
[+ASM2:grid@trdb2][/home/grid]$ $GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local /tmp/patch/36916690/36940756
[+ASM2:grid@trdb2][/home/grid]$
$GRID_HOME/OPatch/opatch apply -oh $GRID_HOME -local
/tmp/patch/36916690/36758186
[Nov 17, 2024 4:31:09 PM] [WARNING]
OUI-67652:
The following patch(es) are duplicate patches with patches installed in the
Oracle
Home.
[
36758186]
You have already installed same patch(es) with same UPI(s) or same
version(s).
These patch(es) will be skipped.
--> 해당 패치가 이미 적용되어 있음을 확인
--> 2번째 노드의 oracle 패치를 적용전 아래의 체크 사항을 확인할것
--> grid os user
chmod 770 /u01/app/oraInventory/ContentsXML
chmod 660
/u01/app/oraInventory/ContentsXML/comps.xml
chmod 660
/u01/app/oraInventory/ContentsXML/inventory.xml
chmod 660
/u01/app/oraInventory/ContentsXML/libs.xml
--->
이거 특히 주의할것
chmod 660
/u01/app/oraInventory/ContentsXML/oui-patch.xml
--> oracle user# 시작하기전 아래의 명령으로 해당 파일의 읽기 및 쓰기 권한이
확인
ls -l
/u01/app/oraInventory/ContentsXML/oui-patch.xml
cat
/u01/app/oraInventory/ContentsXML/oui-patch.xml
--oracle 패치 적용 (oracle os user)
/tmp/patch/36916690/36912597
/tmp/patch/36916690/36917416
[PRDB2:oracle@trdb2][/home/oracle]$ cd
/tmp/patch/36916690/36912597/custom/scripts
[PRDB2:oracle@trdb2][/tmp/patch/36916690/36912597/custom/scripts]$
./init
[PRDB2:oracle@trdb2][/tmp/patch/36916690/36912597/custom/scripts]$
./prepatch.sh
[PRDB2:oracle@trdb2][/tmp/patch/36916690/36912597/custom/scripts]$
$ORACLE_HOME/OPatch/opatch apply -oh $ORACLE_HOME -local
/tmp/patch/36916690/36912597
[PRDB2:oracle@trdb2][/home/oracle]$ cd
/tmp/patch/36916690/36917416/custom/scripts
[PRDB2:oracle@trdb2][/tmp/patch/36916690/36917416/custom/scripts]$
./prepatch.sh
[PRDB2:oracle@trdb2][/tmp/patch/36916690/36917416/custom/scripts]$ $ORACLE_HOME/OPatch/opatch apply -oh $ORACLE_HOME -local /tmp/patch/36916690/36917416
[PRDB2:oracle@trdb2][/tmp/patch/36916690/36917416/custom/scripts]$
./postpatch.sh
[root@trdb2][/root]$ chown root $DB_HOME/bin/extjob
[root@trdb2][/root]$
chmod 4750 $DB_HOME/bin/extjob
[root@trdb2][/root]$
$GRID_HOME/rdbms/install/rootadd_rdbms.sh
[root@trdb2][/root]$
$GRID_HOME/crs/install/rootcrs.sh -postpatch
CRS-4406: Oracle High Availability Services synchronous start
failed.
CRS-41053: checking
Oracle Grid Infrastructure for file permission issues
--> 여기서 CRS 안올라옴
[root@trdb2][/root]$ chown grid:oinstall /u01/app/oracle/diag
[root@trdb2][/u01/app/oracle/diag]$ chown grid:oinstall *
[root@trdb2][/u01/app]$ chown grid:oinstall oracle
[root@trdb2][/u01/app/oracle]$ chown grid:oinstall /u01/app/oracle/admin
GIPCD startup issue | CRS-2672 CRS-2883 CRS-4406 CRS-41053 (Doc ID 2981728.1)
[root@trdb2][/u01/app/oracle/crsdata/trdb2]$ chown -R grid:oinstall shm
[root@trdb2][/root]$ $GRID_HOME/crs/install/rootcrs.sh -postpatch
[root@trdb2][/root]$ mkdir -p
/u01/app/oracle/cfgtoollogs/sqlpatch
[root@trdb2][/root]$
chmod 775 /u01/app/oracle/cfgtoollogs/sqlpatch
[PRDB1:oracle@trdb2][/home/oracle]$
sqlplus "/as sysdba"
SQL>
@$ORACLE_HOME/rdbms/admin/utlrp.sql
--> 실패 시 아래의 조치를 함
grant execute on DBMS_RANDOM to PUBLIC;
grant execute on UTL_FILE to
PUBLIC;
grant execute on UTL_HTTP to PUBLIC;
grant execute on DBMS_SQL to
PUBLIC;
grant execute on UTL_TCP to PUBLIC;
grant execute on DBMS_LOB to
PUBLIC;
@?/rdbms/admin/utlrp.sql
[PRDB2:oracle@trdb2][/home/oracle]$ cd
$ORACLE_HOME/OPatch
[PRDB2:oracle@trdb2][/u01/app/oracle/product/19c/db_1/OPatch]$
./datapatch -verbose
9. 패치 후 확인
[PRDB1:oracle@trdb1][/home/oracle]$
crsctl query crs releasepatch
Oracle Clusterware release patch level is [760403972] and the complete
list of patches [36758186 36912597 36917397 36917416 36940756 ] have been
applied on the local node. The release patch string is
[19.25.0.0.0].
[PRDB1:oracle@trdb1][/home/oracle]$
crsctl query crs softwarepatch
Oracle Clusterware patch level on node trdb2 is
[760403972].
[PRDB2:oracle@trdb2][/home/oracle]$
crsctl query crs releasepatch
Oracle Clusterware release patch level is [760403972] and the complete
list of patches [36758186 36912597 36917397 36917416 36940756 ] have been
applied on the local node. The release patch string is
[19.25.0.0.0].
[PRDB2:oracle@trdb2][/home/oracle]$
crsctl query crs softwarepatch
Oracle Clusterware patch level on node trdb1 is
[760403972].
--> 패치 정상 등록 확인
SELECT A.INSTALL_ID
,
A.PATCH_ID
, A.PATCH_UID
, A.PATCH_TYPE
,
A.ACTION
, A.STATUS
,
A.ACTION_TIME
,
A.DESCRIPTION
,
A.LOGFILE
, A.RU_LOGFILE
, A.FLAGS
,
A.PATCH_DESCRIPTOR
,
A.PATCH_DIRECTORY
,
A.SOURCE_VERSION
,
A.SOURCE_BUILD_DESCRIPTION
,
A.SOURCE_BUILD_TIMESTAMP
,
A.TARGET_VERSION
,
A.TARGET_BUILD_DESCRIPTION
,
A.TARGET_BUILD_TIMESTAMP
FROM DBA_REGISTRY_SQLPATCH A
ORDER BY A.ACTION_TIME
;
--> cha 다시 시작
[root@trdb1][/root]$ srvctl start cha
[root@trdb1][/root]$ crsctl status
resource ora.chad
-t
--------------------------------------------------------------------------------
Name
Target State
Server
State
details
--------------------------------------------------------------------------------
Local
Resources
--------------------------------------------------------------------------------
ora.chad
ONLINE ONLINE
trdb1
STABLE
ONLINE ONLINE
trdb2
STABLE
--------------------------------------------------------------------------------
[root@trdb1][/root]$ crsctl status resource
ora.chad
NAME=ora.chad
TYPE=ora.chad.type
TARGET=ONLINE
, ONLINE
STATE=ONLINE on trdb1, ONLINE on
trdb2
10. 패치 롤백 시 (각각의 노드에서 실행)
Supplemental Readme - Grid Infrastructure Release Update 12.2.0.1.x / 18c /19c (Doc ID 2246888.1)
5 Manual Steps for Apply/Rollback Patch
--> 참고 할 것
--> root os user
$GRID_HOME/crs/install/rootcrs.sh -prepatch -rollback
--> grid os user
$GRID_HOME/OPatch/opatch rollback -local -id 패치번호 -oh $GRID_HOME
--> oracle os user
$ORACLE_HOME/OPatch/opatch rollback -local -id 패치번호 -oh $ORACLE_HOME
--> root os user
$GRID_HOME/rdbms/install/rootadd_rdbms.sh
$GRID_HOME/crs/install/rootcrs.sh -prepatch -rollback
--> oracle os user
sqlplus "/as sysdba"
startup
quit
cd $ORACLE_HOME/OPatch
./datapatch -verbose