프린트 하기 URL 복사

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 )