OS 환경 : Oracle Linux 9.6 (64bit)
DB 환경 : Oracle Database 19.31.0.0
방법 : 오라클 19c Restart 환경 opatchauto 이용 19.31 RU 패치 가이드
본문에서는 19.28이 설치된 Restart 환경에 19.31 패치를 적용하는 방법을 설명함
이때 opatch apply를 개별적으로 수행하지 않고 opatchauto를 이용해 커맨드 한줄로 수행하는 방법을 설명함
패치파일은 39062956를 사용함(참고로 19.31 패치는 한번 문제가 발생했었어서 rollback 되었다가 재릴리즈 되었음)
Patch 39062956 - Combo of OJVM Component Release Update 19.31.0.0.260421 + Grid Infrastructure Apr 2026 Release Update 19.31.0.0.260421 (REL-APR2026)
패치파일 구조
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
39062956
|
|- README.txt
|
|- README.html
|
|- 39036936/ <<-- GRID 및 DB 패치 파일
| --README.html
| -- 39034528 <<-- Database Release Update 19.31.0.0.260421
| -- 39039430 <<-- OCW Release Update 19.31.0.0.260421
| -- 39055473 <<-- ACFS Release Update 19.31.0.0.260421
| -- 39107855 <<-- Tomcat Release Update 19.0.0.0.0 (Beginning 19.31 TOMCAT version will be deleted.)
| -- 39107825 <<-- DBWLM Release Update 19.0.0.0.0 (Beginning from 19.31 Apr2026, QOS / WLM directory has been removed.)
|
|- 38906621/ <<-- OJVM 패치 파일
| --README.html
| -- <other files and directories>
|
39036936 폴더 안에 있는 파일 설명
39034528 : Database Release Update 19.31.0.0.260421
설치 대상 : Oracle RAC 환경이 아닌 경우 Oracle 홈에만 적용, Oracle RAC 환경인 경우에는 Oracle 홈과 Grid 홈 모두 적용
39039430 : OCW Release Update 19.31.0.0.260421
설치 대상 : Oracle 홈과 Grid 홈 모두 적용
39055473 : ACFS Release Update 19.31.0.0.260421
설치 대상 : Grid 홈에만 적용
39107855 : Tomcat Release Update 19.0.0.0.0 (Beginning 19.31 TOMCAT version will be deleted.)
설치 대상 : Grid 홈에만 적용
39107825 : DBWLM Release Update 19.0.0.0.0 (Beginning from 19.31 Apr2026, QOS / WLM directory has been removed.)
설치 대상 : Grid 홈에만 적용
테스트
현재 grid 상태 확인
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
ONLINE ONLINE chg19c STABLE
ora.LISTENER.lsnr
ONLINE ONLINE chg19c STABLE
ora.asm
ONLINE ONLINE chg19c Started,STABLE
ora.ons
OFFLINE OFFLINE chg19c STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
1 ONLINE ONLINE chg19c STABLE
ora.diskmon
1 OFFLINE OFFLINE STABLE
ora.evmd
1 ONLINE ONLINE chg19c STABLE
ora.oracle19.db
1 ONLINE ONLINE chg19c Open,HOME=/app/oracl
e/product/19c,STABLE
--------------------------------------------------------------------------------
|
모두 정상임
패치파일 확인
|
1
2
3
4
5
6
|
# ls -al /app/media/
total 15463428
drwxrwxr-x. 2 oracle dba 143 Jun 18 15:50 .
drwxrwxr-x. 6 oracle dba 65 Dec 21 17:28 ..
-rw-r--r-- 1 oracle oinstall 4351066388 Jun 21 15:50 p39062956_190000_Linux-x86-64.zip
-rw-r--r-- 1 oracle oinstall 136478629 Jun 21 15:50 p6880880_190000_Linux-x86-64.zip
|
opatch 업데이트(grid)
|
1
2
3
4
5
6
7
8
9
|
# cd $GRID_HOME
# mv OPatch/ OPatchold
# unzip -q /app/media/p6880880_190000_Linux-x86-64.zip
# chown -R oracle:dba OPatch
# su - oracle
$ opatch version -oh $GRID_HOME
OPatch Version: 12.2.0.1.51
OPatch succeeded.
|
opatch 업데이트(db)
|
1
2
3
4
5
6
7
|
$ cd $ORACLE_HOME
$ mv OPatch/ OPatchold
$ unzip -q /app/media/p6880880_190000_Linux-x86-64.zip
$ opatch version -oh $ORACLE_HOME
OPatch Version: 12.2.0.1.51
OPatch succeeded.
|
정상적으로 업데이트됨
19.31 콤보 패치파일 unzip
|
1
2
|
$ cd /app/media
$ unzip -q p39062956_190000_Linux-x86-64.zip
|
패치 전 충돌 검사 수행
참고로 현재는 /app/media/39062956임
|
1
2
3
4
5
6
7
8
9
10
11
12
|
# grid 유저로 수행
$ $GRID_HOME/OPatch/opatch prereq CheckMinimumOPatchVersion-phBaseDir <UNZIPPED_PATCH_LOCATION>/39036936/39034528 -oh $GRID_HOME
$ $GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/39036936/39034528 -oh $GRID_HOME
$ $GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/39036936/39039430 -oh $GRID_HOME
$ $GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/39036936/39055473 -oh $GRID_HOME
$ $GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/39036936/39107855 -oh $GRID_HOME
$ $GRID_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/39036936/39107825 -oh $GRID_HOME
# oracle 유저로 수행
$ $ORACLE_HOME/OPatch/opatch prereq CheckMinimumOPatchVersion-phBaseDir <UNZIPPED_PATCH_LOCATION>/39036936/39034528 -oh $ORACLE_HOME
$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/39036936/39034528 -oh $ORACLE_HOME
$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/39036936/39039430 -oh $ORACLE_HOME
|
패치 전 여유 공간 검사 수행
|
1
2
3
4
5
6
7
8
9
10
|
# grid 유저로 수행
$ $GRID_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseDir <UNZIPPED_PATCH_LOCATION>/39036936/39034528 -oh $GRID_HOME
$ $GRID_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseDir <UNZIPPED_PATCH_LOCATION>/39036936/39039430 -oh $GRID_HOME
$ $GRID_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseDir <UNZIPPED_PATCH_LOCATION>/39036936/39055473 -oh $GRID_HOME
$ $GRID_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseDir <UNZIPPED_PATCH_LOCATION>/39036936/39107855 -oh $GRID_HOME
$ $GRID_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseDir <UNZIPPED_PATCH_LOCATION>/39036936/39107825 -oh $GRID_HOME
# oracle 유저로 수행
$ $ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseDir <UNZIPPED_PATCH_LOCATION>/39036936/39034528 -oh $ORACLE_HOME
$ $ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseDir <UNZIPPED_PATCH_LOCATION>/39036936/39039430 -oh $ORACLE_HOME
|
db나 grid를 수동으로 내리지 않고 바로 아래 명령을 수행함
root 유저로 패치 수행
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
|
# cd /app/media/39062956
# export ORACLE_HOME=$GRID_HOME
# export ORACLE_SID=oracle19
# $GRID_HOME/OPatch/opatchauto apply 39036936
OPatchauto session is initiated at Sat Jun 21 16:00:17 2026
System initialization log file is /app/grid/product/19c/cfgtoollogs/opatchautodb/systemconfig2026-06-21_04-00-28PM.log.
Session log file is /app/grid/product/19c/cfgtoollogs/opatchauto/opatchauto2026-06-21_04-00-38PM.log
The id for this session is 9BXT
Executing OPatch prereq operations to verify patch applicability on home /app/oracle/product/19c
Patch applicability verified successfully on home /app/oracle/product/19c
Executing patch validation checks on home /app/oracle/product/19c
Patch validation checks successfully completed on home /app/oracle/product/19c
Verifying SQL patch applicability on home /app/oracle/product/19c
SQL patch applicability verified successfully on home /app/oracle/product/19c
Executing OPatch prereq operations to verify patch applicability on home /app/grid/product/19c
Patch applicability verified successfully on home /app/grid/product/19c
Executing patch validation checks on home /app/grid/product/19c
Patch validation checks successfully completed on home /app/grid/product/19c
Preparing to bring down database service on home /app/oracle/product/19c
Successfully prepared home /app/oracle/product/19c to bring down database service
Bringing down database service on home /app/oracle/product/19c
Following database has been stopped and will be restarted later during the session: oracle19
Database service successfully brought down on home /app/oracle/product/19c
Performing prepatch operations on CRS - bringing down CRS service on home /app/grid/product/19c
Prepatch operation log file location: /app/oracle/crsdata/chg19c/crsconfig/hapatch_2026-06-21_04-06-55PM.log
CRS service brought down successfully on home /app/grid/product/19c
Performing prepatch operation on home /app/oracle/product/19c
Prepatch operation completed successfully on home /app/oracle/product/19c
Start applying binary patch on home /app/oracle/product/19c
Binary patch applied successfully on home /app/oracle/product/19c
Running rootadd_rdbms.sh on home /app/oracle/product/19c
Successfully executed rootadd_rdbms.sh on home /app/oracle/product/19c
Performing postpatch operation on home /app/oracle/product/19c
Postpatch operation completed successfully on home /app/oracle/product/19c
Start applying binary patch on home /app/grid/product/19c
Binary patch applied successfully on home /app/grid/product/19c
Running rootadd_rdbms.sh on home /app/grid/product/19c
Successfully executed rootadd_rdbms.sh on home /app/grid/product/19c
Performing postpatch operations on CRS - starting CRS service on home /app/grid/product/19c
Postpatch operation log file location: /app/oracle/crsdata/chg19c/crsconfig/hapatch_2026-06-21_04-34-02PM.log
CRS service started successfully on home /app/grid/product/19c
Starting database service on home /app/oracle/product/19c
Database service successfully started on home /app/oracle/product/19c
Preparing home /app/oracle/product/19c after database service restarted
No step execution required.........
Trying to apply SQL patch on home /app/oracle/product/19c
SQL patch applied successfully on home /app/oracle/product/19c
OPatchAuto successful.
--------------------------------Summary--------------------------------
Patching is completed successfully. Please find the summary as follows:
Host:chg19c
SIDB Home:/app/oracle/product/19c
Version:19.0.0.0.0
Summary:
==Following patches were SKIPPED:
Patch: /app/media/39062956/39036936/39055473
Reason: This patch is not applicable to this specified target type - "oracle_database"
Patch: /app/media/39062956/39036936/39107825
Reason: This patch is not applicable to this specified target type - "oracle_database"
Patch: /app/media/39062956/39036936/39107855
Reason: This patch is not applicable to this specified target type - "oracle_database"
==Following patches were SUCCESSFULLY applied:
Patch: /app/media/39062956/39036936/39034528
Log: /app/oracle/product/19c/cfgtoollogs/opatchauto/core/opatch/opatch2026-06-21_16-07-59PM_1.log
Patch: /app/media/39062956/39036936/39039430
Log: /app/oracle/product/19c/cfgtoollogs/opatchauto/core/opatch/opatch2026-06-21_16-07-59PM_1.log
Host:chg19c
SIHA Home:/app/grid/product/19c
Version:19.0.0.0.0
Summary:
==Following patches were SUCCESSFULLY applied:
Patch: /app/media/39062956/39036936/39034528
Log: /app/grid/product/19c/cfgtoollogs/opatchauto/core/opatch/opatch2026-06-21_16-19-32PM_1.log
Patch: /app/media/39062956/39036936/39039430
Log: /app/grid/product/19c/cfgtoollogs/opatchauto/core/opatch/opatch2026-06-21_16-19-32PM_1.log
Patch: /app/media/39062956/39036936/39055473
Log: /app/grid/product/19c/cfgtoollogs/opatchauto/core/opatch/opatch2026-06-21_16-19-32PM_1.log
Patch: /app/media/39062956/39036936/39107825
Log: /app/grid/product/19c/cfgtoollogs/opatchauto/core/opatch/opatch2026-06-21_16-19-32PM_1.log
Patch: /app/media/39062956/39036936/39107855
Log: /app/grid/product/19c/cfgtoollogs/opatchauto/core/opatch/opatch2026-06-21_16-19-32PM_1.log
OPatchauto session completed at Sat Jun 21 16:39:16 2026
Time taken to complete the session 38 minutes, 48 seconds
|
패치 확인
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
$ opatch lspatches -oh $GRID_HOME
39107855;TOMCAT RELEASE UPDATE 19.0.0.0.0 (39107855)
39107825;DBWLM RELEASE UPDATE 19.0.0.0.0 (39107825)
39055473;ACFS RELEASE UPDATE 19.31.0.0.0 (39055473)
39039430;OCW RELEASE UPDATE 19.31.0.0.0 (39039430)
39034528;Database Release Update : 19.31.0.0.260421 (REL-APR2026) (39034528)
OPatch succeeded.
$ opatch lspatches -oh $ORACLE_HOME
39039430;OCW RELEASE UPDATE 19.31.0.0.0 (39039430)
39034528;Database Release Update : 19.31.0.0.260421 (REL-APR2026) (39034528)
37847857;OJVM RELEASE UPDATE: 19.28.0.0.250715 (37847857)
OPatch succeeded.
|
정상적으로 DB, GRID 모두 패치됨
SQL 패치 내역 확인
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
SQL>
set lines 200 pages 1000
col action_time for a20
col action for a10
col status for a10
col description for a70
col version for a10
select to_char(action_time, 'yyyy/mm/dd hh24:mi:ss') as action_time,
action, status, description, patch_id
from dba_registry_sqlpatch
order by action_time;
ACTION_TIME ACTION STATUS DESCRIPTION PATCH_ID
-------------------- ---------- ---------- ---------------------------------------------------------------------- ----------
2025/12/21 15:56:19 APPLY SUCCESS OJVM RELEASE UPDATE: 19.28.0.0.250715 (37847857) 37847857
2025/12/21 15:59:02 APPLY SUCCESS Database Release Update : 19.28.0.0.250715 (37960098) 37960098
2026/06/21 16:38:50 APPLY SUCCESS Database Release Update : 19.31.0.0.260421 (REL-APR2026) (39034528) 39034528
|
19.31 ru datapatch도 잘 적용됨
추가로 ojvm도 패치를 원하면 db를 내리고 ojvm 패치를 한뒤 datapatch -verbose를 수행해주면됨(oracle 유저)
|
1
2
3
4
5
|
SQL> shutdown immediate
$ cd /app/media/39062956/38906621/
$ $ORACLE_HOME/OPatch/opatch apply -oh $ORACLE_HOME -silent
SQL> startup
$ $ORACLE_HOME/OPatch/datapatch -verbose
|
참고 : 오라클 19c RAC 환경 opatchauto 이용 19.31 RU 패치 가이드 ( https://positivemh.tistory.com/1390 )
패치 확인
|
1
2
3
4
5
6
|
$ opatch lspatches -oh $ORACLE_HOME
39039430;OCW RELEASE UPDATE 19.31.0.0.0 (39039430)
39034528;Database Release Update : 19.31.0.0.260421 (REL-APR2026) (39034528)
37847857;OJVM RELEASE UPDATE: 19.28.0.0.250715 (37847857)
OPatch succeeded.
|
OJVM도 모두 패치됨
SQL 패치 내역 확인
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
SQL>
set lines 200 pages 1000
col action_time for a20
col action for a10
col status for a10
col description for a70
col version for a10
select to_char(action_time, 'yyyy/mm/dd hh24:mi:ss') as action_time,
action, status, description, patch_id
from dba_registry_sqlpatch
order by action_time;
ACTION_TIME ACTION STATUS DESCRIPTION PATCH_ID
-------------------- ---------- ---------- ---------------------------------------------------------------------- ----------
2025/12/21 15:56:19 APPLY SUCCESS OJVM RELEASE UPDATE: 19.28.0.0.250715 (37847857) 37847857
2025/12/21 15:59:02 APPLY SUCCESS Database Release Update : 19.28.0.0.250715 (37960098) 37960098
2026/06/21 16:38:50 APPLY SUCCESS Database Release Update : 19.31.0.0.260421 (REL-APR2026) (39034528) 39034528
2026/06/21 18:53:17 ROLLBACK SUCCESS OJVM RELEASE UPDATE: 19.28.0.0.250715 (37847857) 37847857
2026/06/21 18:53:33 APPLY SUCCESS OJVM RELEASE UPDATE: 19.31.0.0.260421 (38906621) 38906621
|
OJVM도 모두 패치됨
결론 :
restart 환경에서도 opatchauto를 이용해 패치를 간편하게 수행할 수 있음
참조 :
오라클 19c RAC 환경 opatchauto 이용 19.31 RU 패치 가이드 ( https://positivemh.tistory.com/1390 )
'ORACLE > Install' 카테고리의 다른 글
| 오라클 19c Restart(ASM) to 싱글(FS) ADG 구성 가이드 (0) | 2026.06.08 |
|---|---|
| 오라클 19c RAC 환경 opatchauto 이용 19.31 RU 패치 가이드 (0) | 2026.06.07 |
| 오라클 19c DB RU(Release Update) 패치중 세션 종료 테스트 (0) | 2026.05.26 |
| Oracle Linux 7.6에 Oracle 11gR2 Silent 모드 설치 가이드 (0) | 2026.05.14 |
| 오라클 26ai AutoUpgrade를 이용해 엔진 설치 방법 (0) | 2026.05.12 |
