프린트 하기 URL 복사

OS 환경 : Oracle Linux 8.7 (64bit)

 

DB 환경 : Oracle Database 19.27.0.0

 

방법 : 오라클 19c DB RU(Release Update) 패치중 세션 종료 테스트

본문에서는 19c(19.27) 환경에서 19.31 패치를 진행하다가 opatch apply 도중 세션을 종료시켜보고
각 단계에서 세션 종료시 어떤 문제가 발생하는지 확인해봄
참고로 패치파일 압축해제, db 종료 등의 절차는 본문에 따로 적지 않음

 

 

테스트
중요. 테스트 전 꼭 백업을 해두어야함

1
2
3
$ su - 
# cd $ORACLE_HOME/..
# tar cfp /백업경로/db_home_bak.tar ./19c

 

 

opatch apply 수행

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
$ cd /app/oracle/media/39062956/39036936/39034528/
$ opatch apply
Oracle Interim Patch Installer version 12.2.0.1.51
Copyright (c) 2026, Oracle Corporation.  All rights reserved.
 
 
Oracle Home       : /app/oracle/product/19c
Central Inventory : /app/oraInventory
   from           : /app/oracle/product/19c/oraInst.loc
OPatch version    : 12.2.0.1.51
OUI version       : 12.2.0.7.0
Log file location : /app/oracle/product/19c/cfgtoollogs/opatch/opatch2026-05-18_02-53-11AM_1.log
 
Verifying environment and performing prerequisite checks...
OPatch continues with these patches:   39034528
 
Do you want to proceed? [y|n]
y
User Responded with: Y
All checks passed.
 
Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/app/oracle/product/19c')
 
 
Is the local system ready for patching? [y|n]
y
User Responded with: Y
Backing up files...
 
Applying interim patch '39034528' to OH '/app/oracle/product/19c'
ApplySession: Optional component(s) [ oracle.network.gsm, 19.0.0.0.0 ] , [ oracle.assistants.asm, 19.0.0.0.0 ] , [ oracle.datamining, 19.0.0.0.0 ] 
, [ oracle.java.sqlj.sqljruntime, 19.0.0.0.0 ] , [ oracle.crypto.rsf, 19.0.0.0.0 ] , [ oracle.oraolap.mgmt, 19.0.0.0.0 ]
 , [ oracle.pg4appc, 19.0.0.0.0 ] , [ oracle.pg4mq, 19.0.0.0.0 ] , [ oracle.precomp.companion, 19.0.0.0.0 ] , [ oracle.rdbms.ic, 19.0.0.0.0 ] 
 , [ oracle.rdbms.tg4db2, 19.0.0.0.0 ] , [ oracle.sdo.companion, 19.0.0.0.0 ] , [ oracle.tfa, 19.0.0.0.0 ] , [ oracle.rdbms.tg4ifmx, 19.0.0.0.0 ] 
 , [ oracle.oid.client, 19.0.0.0.0 ] , [ oracle.rdbms.tg4sybs, 19.0.0.0.0 ] , [ oracle.ldap.ztk, 19.0.0.0.0 ] , [ oracle.ons.eons.bwcompat, 19.0.0.0.0 ] 
 , [ oracle.net.cman, 19.0.0.0.0 ] , [ oracle.ons.cclient, 19.0.0.0.0 ] , [ oracle.xdk.companion, 19.0.0.0.0 ] , [ oracle.options.olap, 19.0.0.0.0 ] 
 , [ oracle.rdbms.tg4msql, 19.0.0.0.0 ] , [ oracle.rdbms.tg4tera, 19.0.0.0.0 ] , [ oracle.network.cman, 19.0.0.0.0 ] 
 , [ oracle.options.olap.api, 19.0.0.0.0 ] , [ oracle.jdk, 1.8.0.191.0 ] , [ oracle.jdk, 1.8.0.391.11 ]  not present in the Oracle Home or a higher version is found.
<<--- 이 단계에서 세션 종료

먼저 apply 시작 후 컴포넌트들이 나열될때 종료해봄

 

 

로그 확인

1
2
3
4
5
6
7
8
9
10
11
$ tail -300f /app/oracle/product/19c/cfgtoollogs/opatch/opatch2026-05-18_02-53-11AM_1.log
...
[May 18, 2026 2:57:03 AM] [INFO]    /oracle/as/management/opmn/integrator/OpmnIntegrator.class
[May 18, 2026 2:57:03 AM] [INFO]    /oracle/ons/Cli$CommandTest.class
[May 18, 2026 2:57:03 AM] [INFO]    /oracle/ons/NotificationNetwork$RemoveSubscriptionTask.class
[May 18, 2026 2:57:03 AM] [INFO]    /oracle/ons/Subscriber$1.class
[May 18, 2026 2:57:03 AM] [INFO]    /oracle/ons/CallBackSubscriber.class
[May 18, 2026 2:57:03 AM] [INFO]    /oracle/ons/SystemEvent.class
[May 18, 2026 2:57:03 AM] [INFO]    /oracle/as/management/opmn/integrator/OpmnIntegrator$PingRequestListener.class
[May 18, 2026 2:57:03 AM] [INFO]    Backup For Rollback starts for the clubbed jars at --> Mon May 18 02:57:03 KST 2026
[May 18, 2026 2:57:03 AM] [INFO]    Backup For Rollback ends for the clubbed jars at ---> Mon May 18 02:57:03 KST 2026

여기까지 나오고 세션 종료 후 별다른 로그 발생안함

 

 

opatch 프로세스도 끊김

1
2
3
$ ps -ef|grep opatch
oracle     54986   54759  0 02:53 pts/0    00:00:00 tail -300f /app/oracle/product/19c/cfgtoollogs/opatch/opatch2026-05-18_02-53-11AM_1.log
oracle     58678   58617  0 02:57 pts/1    00:00:00 grep --color=auto opatch

 

 

다시 opatch apply 재수행

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
$ cd /app/oracle/media/39062956/39036936/39034528/
$ opatch apply
Oracle Interim Patch Installer version 12.2.0.1.51
Copyright (c) 2026, Oracle Corporation.  All rights reserved.
 
 
Oracle Home       : /app/oracle/product/19c
Central Inventory : /app/oraInventory
   from           : /app/oracle/product/19c/oraInst.loc
OPatch version    : 12.2.0.1.51
OUI version       : 12.2.0.7.0
Log file location : /app/oracle/product/19c/cfgtoollogs/opatch/opatch2026-05-18_02-59-18AM_1.log
 
Verifying environment and performing prerequisite checks...
OPatch continues with these patches:   39034528
 
Do you want to proceed? [y|n]
y
User Responded with: Y
All checks passed.
 
Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/app/oracle/product/19c')
 
 
Is the local system ready for patching? [y|n]
y
User Responded with: Y
Backing up files...
Applying interim patch '39034528' to OH '/app/oracle/product/19c'
ApplySession: Optional component(s) [ oracle.network.gsm, 19.0.0.0.0 ] , [ oracle.assistants.asm, 19.0.0.0.0 ] , [ oracle.datamining, 19.0.0.0.0 ] 
, [ oracle.java.sqlj.sqljruntime, 19.0.0.0.0 ] , [ oracle.crypto.rsf, 19.0.0.0.0 ] , [ oracle.oraolap.mgmt, 19.0.0.0.0 ] , [ oracle.pg4appc, 19.0.0.0.0 ] 
, [ oracle.pg4mq, 19.0.0.0.0 ] , [ oracle.precomp.companion, 19.0.0.0.0 ] , [ oracle.rdbms.ic, 19.0.0.0.0 ] , [ oracle.rdbms.tg4db2, 19.0.0.0.0 ] 
, [ oracle.sdo.companion, 19.0.0.0.0 ] , [ oracle.tfa, 19.0.0.0.0 ] , [ oracle.rdbms.tg4ifmx, 19.0.0.0.0 ] , [ oracle.oid.client, 19.0.0.0.0 ] 
, [ oracle.rdbms.tg4sybs, 19.0.0.0.0 ] , [ oracle.ldap.ztk, 19.0.0.0.0 ] , [ oracle.ons.eons.bwcompat, 19.0.0.0.0 ] , [ oracle.net.cman, 19.0.0.0.0 ] 
, [ oracle.ons.cclient, 19.0.0.0.0 ] , [ oracle.xdk.companion, 19.0.0.0.0 ] , [ oracle.options.olap, 19.0.0.0.0 ] , [ oracle.rdbms.tg4msql, 19.0.0.0.0 ]
, [ oracle.rdbms.tg4tera, 19.0.0.0.0 ] , [ oracle.network.cman, 19.0.0.0.0 ] , [ oracle.options.olap.api, 19.0.0.0.0 ] , [ oracle.jdk, 1.8.0.191.0 ] 
, [ oracle.jdk, 1.8.0.391.11 ]  not present in the Oracle Home or a higher version is found.
<<--- 이 단계는 문제없이 잘 넘어감
Patching component oracle.rdbms.util, 19.0.0.0.0...
 
Patching component oracle.rdbms.rsf, 19.0.0.0.0...
 
Patching component oracle.rdbms, 19.0.0.0.0...
<<--- 이 단계에서 세션 종료

먼저 apply 시작 후 컴포넌트들이 나열될때 종료했을때는 별다른 문제 없이 다시 apply를 해도 잘 진행됨

이번엔 컴포넌트 패치 도중 세션을 종료해봄

 

 

로그 확인

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
$ tail -300f /app/oracle/product/19c/cfgtoollogs/opatch/opatch2026-05-18_02-59-18AM_1.log
...
[May 18, 2026 3:07:38 AM] [INFO]    OUI-67049:Updating archive file "/app/oracle/product/19c/lib/libserver19.a"  with "lib/libserver19.a/qerwnc.o"
[May 18, 2026 3:07:38 AM] [INFO]    OUI-67049:Updating archive file "/app/oracle/product/19c/lib/libserver19.a"  with "lib/libserver19.a/rfmhealth.o"
[May 18, 2026 3:07:38 AM] [INFO]    OUI-67049:Updating archive file "/app/oracle/product/19c/lib/libserver19.a"  with "lib/libserver19.a/koki.o"
[May 18, 2026 3:07:38 AM] [INFO]    OUI-67049:Updating archive file "/app/oracle/product/19c/lib/libserver19.a"  with "lib/libserver19.a/kpdbtmpl.o"
[May 18, 2026 3:08:00 AM] [INFO]    Stack Description: java.lang.RuntimeException:
                                        at oracle.opatch.ArchiveAction.runOneCommand(ArchiveAction.java:645)
                                        at oracle.opatch.ArchiveAction.runArCommand(ArchiveAction.java:616)
                                        at oracle.opatch.ArchiveAction.apply(ArchiveAction.java:1836)
                                        at oracle.opatch.OPatchActionExecutor.runApply(OPatchActionExecutor.java:107)
                                        at oracle.opatch.ApplySession.modifySystem(ApplySession.java:1028)
                                        at oracle.opatch.ApplySession.apply(ApplySession.java:908)
                                        at oracle.opatch.ApplySession.processLocal(ApplySession.java:4122)
                                        at oracle.opatch.ApplySession.process(ApplySession.java:5059)
                                        at oracle.opatch.ApplySession.process(ApplySession.java:4854)
                                        at oracle.opatch.OPatchACL.processApply(OPatchACL.java:310)
                                        at oracle.opatch.opatchutil.NApply.legacy_process(NApply.java:1615)
                                        at oracle.opatch.opatchutil.NApply.legacy_process(NApply.java:375)
                                        at oracle.opatch.opatchutil.NApply.process(NApply.java:355)
                                        at oracle.opatch.opatchutil.OUSession.napply(OUSession.java:1145)
                                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                                        at java.lang.reflect.Method.invoke(Method.java:498)
                                        at oracle.opatch.UtilSession.process(UtilSession.java:355)
                                        at oracle.opatch.OPatchSession.process(OPatchSession.java:2643)
                                        at oracle.opatch.OPatch.process(OPatch.java:890)
                                        at oracle.opatch.OPatch.main(OPatch.java:947)
[May 18, 2026 3:08:00 AM] [INFO]    OUI-67049:Updating archive file "/app/oracle/product/19c/lib/libnvm1.a"  with "lib/libnvm1.a/nvmdscv.o"
[May 18, 2026 3:08:00 AM] [INFO]    OUI-67049:Updating archive file "/app/oracle/product/19c/rdbms/lib/libosbws19.a"  with "rdbms/lib/libosbws19.a/kbhsrm.o"

세션을 끊는 즉시 Stack Description: java.lang.RuntimeException 가 발생함
예외처리가 동작하여 opatch를 즉시 중단시킴

 

 

opatch 프로세스도 끊김

1
2
3
$ ps -ef|grep opatch
oracle     60385   54759  0 02:59 pts/0    00:00:00 tail -300f /app/oracle/product/19c/cfgtoollogs/opatch/opatch2026-05-18_02-59-18AM_1.log
oracle     68333   66733  0 03:09 pts/1    00:00:00 grep --color=auto opatch

 

 

다시 opatch apply 재수행

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
$ cd /app/oracle/media/39062956/39036936/39034528/
$ opatch apply
Oracle Interim Patch Installer version 12.2.0.1.51
Copyright (c) 2026, Oracle Corporation.  All rights reserved.
 
 
Oracle Home       : /app/oracle/product/19c
Central Inventory : /app/oraInventory
   from           : /app/oracle/product/19c/oraInst.loc
OPatch version    : 12.2.0.1.51
OUI version       : 12.2.0.7.0
Log file location : /app/oracle/product/19c/cfgtoollogs/opatch/opatch2026-05-18_03-10-48AM_1.log
 
Verifying environment and performing prerequisite checks...
OPatch continues with these patches:   39034528
 
Do you want to proceed? [y|n]
y
User Responded with: Y
All checks passed.
 
Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/app/oracle/product/19c')
 
 
Is the local system ready for patching? [y|n]
y
User Responded with: Y
Backing up files...
Applying interim patch '39034528' to OH '/app/oracle/product/19c'
ApplySession: Optional component(s) [ oracle.network.gsm, 19.0.0.0.0 ] , [ oracle.assistants.asm, 19.0.0.0.0 ] , [ oracle.datamining, 19.0.0.0.0 ] , [ oracle.java.sqlj.sqljruntime, 19.0.0.0.0 ] , [ oracle.crypto.rsf, 19.0.0.0.0 ] , [ oracle.oraolap.mgmt, 19.0.0.0.0 ] , [ oracle.pg4appc, 19.0.0.0.0 ] , [ oracle.pg4mq, 19.0.0.0.0 ] , [ oracle.precomp.companion, 19.0.0.0.0 ] , [ oracle.rdbms.ic, 19.0.0.0.0 ] , [ oracle.rdbms.tg4db2, 19.0.0.0.0 ] , [ oracle.sdo.companion, 19.0.0.0.0 ] , [ oracle.tfa, 19.0.0.0.0 ] , [ oracle.rdbms.tg4ifmx, 19.0.0.0.0 ] , [ oracle.oid.client, 19.0.0.0.0 ] , [ oracle.rdbms.tg4sybs, 19.0.0.0.0 ] , [ oracle.ldap.ztk, 19.0.0.0.0 ] , [ oracle.ons.eons.bwcompat, 19.0.0.0.0 ] , [ oracle.net.cman, 19.0.0.0.0 ] , [ oracle.ons.cclient, 19.0.0.0.0 ] , [ oracle.xdk.companion, 19.0.0.0.0 ] , [ oracle.options.olap, 19.0.0.0.0 ] , [ oracle.rdbms.tg4msql, 19.0.0.0.0 ] , [ oracle.rdbms.tg4tera, 19.0.0.0.0 ] , [ oracle.network.cman, 19.0.0.0.0 ] , [ oracle.options.olap.api, 19.0.0.0.0 ] , [ oracle.jdk, 1.8.0.191.0 ] , [ oracle.jdk, 1.8.0.391.11 ]  not present in the Oracle Home or a higher version is found.
File not backed up from kzdp.o to /app/oracle/product/19c/.patch_storage/39034528_Apr_28_2026_09_43_47/files/lib/libserver19.a/kzdp.o... '/usr/bin/ar: /app/oracle/product/19c/lib/libserver19.a is not a valid archive
'
ApplySession failed in system modification phase... '/usr/bin/ar: /app/oracle/product/19c/lib/libserver19.a is not a valid archive
'
 
Restoring "/app/oracle/product/19c" to the state prior to running NApply...
Checking if OPatch needs to invoke 'make' to restore some binaries...
OPatch was able to restore your system. Look at log file and timestamp of each file to make sure your system is in the state prior to applying the patch.
 
NApply restored the home. Please check your ORACLE_HOME to make sure:
  - files are restored properly.
  - binaries are re-linked correctly.
(use restore.[sh,bat] and make.txt (Unix only) as a reference. They are located under
"/app/oracle/product/19c/.patch_storage/NApply/2026-05-18_03-10-48AM"
 
UtilSession failed: ApplySession failed in system modification phase... '/usr/bin/ar: /app/oracle/product/19c/lib/libserver19.a is not a valid archive
'
Log file location: /app/oracle/product/19c/cfgtoollogs/opatch/opatch2026-05-18_03-10-48AM_1.log
 
OPatch failed with error code 73

에러 발생하면서 중단됨, libserver19.a 파일에 문제가 있음
패치를 하다가 중단해서 이 파일이 불완전한 상태가 된것으로 보임

 

 

로그 확인

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
$ tail -300f /app/oracle/product/19c/cfgtoollogs/opatch/opatch2026-05-18_03-10-48AM_1.log
[May 18, 2026 3:14:32 AM] [INFO]    Deleted the file "/app/oracle/product/19c/.patch_storage/unzip_action/1779040401057/inventory/Templates/perl/bin/streamzip"
[May 18, 2026 3:14:32 AM] [INFO]    Deleted the file "/app/oracle/product/19c/.patch_storage/unzip_action/1779040401057/inventory/Templates/perl/bin/xsubpp"
[May 18, 2026 3:14:32 AM] [INFO]    Deleted the file "/app/oracle/product/19c/.patch_storage/unzip_action/1779040401057/inventory/Templates/perl/bin/zipdetails"
[May 18, 2026 3:14:32 AM] [INFO]    --------------------------------------------------------------------------------
[May 18, 2026 3:14:32 AM] [INFO]    The following warnings have occurred during OPatch execution:
[May 18, 2026 3:14:32 AM] [INFO]    1) OUI-67124:ApplySession failed in system modification phase... '/usr/bin/ar: /app/oracle/product/19c/lib/libserver19.a is not a valid archive
                                    '
[May 18, 2026 3:14:32 AM] [INFO]    2) OUI-67124:
                                    NApply restored the home. Please check your ORACLE_HOME to make sure:
                                      - files are restored properly.
                                      - binaries are re-linked correctly.
                                    (use restore.[sh,bat] and make.txt (Unix only) as a reference. They are located under
                                    "/app/oracle/product/19c/.patch_storage/NApply/2026-05-18_03-10-48AM"
[May 18, 2026 3:14:32 AM] [INFO]    --------------------------------------------------------------------------------
[May 18, 2026 3:14:32 AM] [INFO]    Finishing UtilSession at Mon May 18 03:14:32 KST 2026
[May 18, 2026 3:14:32 AM] [INFO]    Log file location: /app/oracle/product/19c/cfgtoollogs/opatch/opatch2026-05-18_03-10-48AM_1.log
[May 18, 2026 3:14:32 AM] [INFO]    Stack Description: java.lang.RuntimeException: ApplySession failed in system modification phase... '/usr/bin/ar: /app/oracle/product/19c/lib/libserver19.a is not a valid archive
                                    '
                                        at oracle.opatch.ArchiveAction.runOneCommand(ArchiveAction.java:645)
                                        at oracle.opatch.ArchiveAction.runArCommand(ArchiveAction.java:616)
                                        at oracle.opatch.ArchiveAction.backupForRollback(ArchiveAction.java:1239)
                                        at oracle.opatch.PatchObject.backupForRollback(PatchObject.java:5506)
                                        at oracle.opatch.ApplySession.processLocal(ApplySession.java:4039)
                                        at oracle.opatch.ApplySession.process(ApplySession.java:5059)
                                        at oracle.opatch.ApplySession.process(ApplySession.java:4854)
                                        at oracle.opatch.OPatchACL.processApply(OPatchACL.java:310)
                                        at oracle.opatch.opatchutil.NApply.legacy_process(NApply.java:1615)
                                        at oracle.opatch.opatchutil.NApply.legacy_process(NApply.java:375)
                                        at oracle.opatch.opatchutil.NApply.process(NApply.java:355)
                                        at oracle.opatch.opatchutil.OUSession.napply(OUSession.java:1145)
                                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                                        at java.lang.reflect.Method.invoke(Method.java:498)
                                        at oracle.opatch.UtilSession.process(UtilSession.java:355)
                                        at oracle.opatch.OPatchSession.process(OPatchSession.java:2643)
                                        at oracle.opatch.OPatch.process(OPatch.java:890)
                                        at oracle.opatch.OPatch.main(OPatch.java:947)
                                    Caused by: java.lang.RuntimeException: ApplySession failed in system modification phase... '/usr/bin/ar: /app/oracle/product/19c/lib/libserver19.a is not a valid archive
                                    '
                                        ... 20 more
                                    Caused by: java.lang.Error: ApplySession failed in system modification phase... '/usr/bin/ar: /app/oracle/product/19c/lib/libserver19.a is not a valid archive
                                    '
                                        ... 20 more
                                    Caused by: oracle.opatch.BackupFailureException: /usr/bin/ar: /app/oracle/product/19c/lib/libserver19.a is not a valid archive
 
                                        ... 20 more

libserver19.a is not a valid archive 라는 메세지가 남음

 

 

이 경우 oracle home relink를 수행하거나 relink가 실패하는 경우 백업본을 이용할 수 있음
본 테스트에서는 relink 없이 오라클이 백업한 백업본을 이용해봄(또는 초반에 백업한 엔진 백업본을 이용할 수도 있음)

 

 

libserver19.a 파일 백업본 확인

1
2
3
4
5
6
$ find /app/oracle/product/19c/.patch_storage -name "libserver19.a"
/app/oracle/product/19c/.patch_storage/NApply/2026-05-18_02-53-11AM/backup/lib/libserver19.a
/app/oracle/product/19c/.patch_storage/NApply/2026-05-18_02-59-18AM/backup/lib/libserver19.a
/app/oracle/product/19c/.patch_storage/NApply/2026-05-18_03-10-48AM/backup/lib/libserver19.a
/app/oracle/product/19c/.patch_storage/37642901_Apr_15_2025_08_17_25/files/lib/libserver19.a
/app/oracle/product/19c/.patch_storage/39034528_Apr_28_2026_09_43_47/files/lib/libserver19.a

패치 시도를 제일 처음 시작한 2026-05-18_02-53-11AM 시점의 파일이 가장 좋을것으로 판단됨

 

 

파일 백업 및 복제

1
2
3
4
5
$ mv /app/oracle/product/19c/lib/libserver19.a /app/oracle/product/19c/lib/libserver19.abak
$ cp /app/oracle/product/19c/.patch_storage/NApply/2026-05-18_02-53-11AM/backup/lib/libserver19.a /app/oracle/product/19c/lib/libserver19.a
$ ls -al /app/oracle/product/19c/lib/libserver19.a*
-rw-r--r--  1 oracle oinstall 509932686 May 18 03:24 /app/oracle/product/19c/lib/libserver19.a
-rw-r--r--. 1 oracle oinstall 501391360 May 18 03:08 /app/oracle/product/19c/lib/libserver19.abak

파일을 복구시킴

 

 

다시 opatch apply 재수행

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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
$ cd /app/oracle/media/39062956/39036936/39034528/
$ opatch apply
Oracle Interim Patch Installer version 12.2.0.1.51
Copyright (c) 2026, Oracle Corporation.  All rights reserved.
 
 
Oracle Home       : /app/oracle/product/19c
Central Inventory : /app/oraInventory
   from           : /app/oracle/product/19c/oraInst.loc
OPatch version    : 12.2.0.1.51
OUI version       : 12.2.0.7.0
Log file location : /app/oracle/product/19c/cfgtoollogs/opatch/opatch2026-05-18_03-25-47AM_1.log
 
Verifying environment and performing prerequisite checks...
OPatch continues with these patches:   39034528
 
Do you want to proceed? [y|n]
y
User Responded with: Y
All checks passed.
 
Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/app/oracle/product/19c')
 
 
Is the local system ready for patching? [y|n]
y
User Responded with: Y
Backing up files...
Applying interim patch '39034528' to OH '/app/oracle/product/19c'
ApplySession: Optional component(s) [ oracle.network.gsm, 19.0.0.0.0 ] , [ oracle.assistants.asm, 19.0.0.0.0 ] , [ oracle.datamining, 19.0.0.0.0 ] , [ oracle.java.sqlj.sqljruntime, 19.0.0.0.0 ] , [ oracle.crypto.rsf, 19.0.0.0.0 ] , [ oracle.oraolap.mgmt, 19.0.0.0.0 ] , [ oracle.pg4appc, 19.0.0.0.0 ] , [ oracle.pg4mq, 19.0.0.0.0 ] , [ oracle.precomp.companion, 19.0.0.0.0 ] , [ oracle.rdbms.ic, 19.0.0.0.0 ] , [ oracle.rdbms.tg4db2, 19.0.0.0.0 ] , [ oracle.sdo.companion, 19.0.0.0.0 ] , [ oracle.tfa, 19.0.0.0.0 ] , [ oracle.rdbms.tg4ifmx, 19.0.0.0.0 ] , [ oracle.oid.client, 19.0.0.0.0 ] , [ oracle.rdbms.tg4sybs, 19.0.0.0.0 ] , [ oracle.ldap.ztk, 19.0.0.0.0 ] , [ oracle.ons.eons.bwcompat, 19.0.0.0.0 ] , [ oracle.net.cman, 19.0.0.0.0 ] , [ oracle.ons.cclient, 19.0.0.0.0 ] , [ oracle.xdk.companion, 19.0.0.0.0 ] , [ oracle.options.olap, 19.0.0.0.0 ] , [ oracle.rdbms.tg4msql, 19.0.0.0.0 ] , [ oracle.rdbms.tg4tera, 19.0.0.0.0 ] , [ oracle.network.cman, 19.0.0.0.0 ] , [ oracle.options.olap.api, 19.0.0.0.0 ] , [ oracle.jdk, 1.8.0.191.0 ] , [ oracle.jdk, 1.8.0.391.11 ]  not present in the Oracle Home or a higher version is found.
 
Patching component oracle.rdbms.util, 19.0.0.0.0...
 
Patching component oracle.rdbms.rsf, 19.0.0.0.0...
 
Patching component oracle.rdbms, 19.0.0.0.0...
 
Patching component oracle.assistants.acf, 19.0.0.0.0...
 
Patching component oracle.assistants.deconfig, 19.0.0.0.0...
 
Patching component oracle.assistants.server, 19.0.0.0.0...
 
Patching component oracle.blaslapack, 19.0.0.0.0...
 
Patching component oracle.buildtools.rsf, 19.0.0.0.0...
 
Patching component oracle.wwg.plsql, 19.0.0.0.0...
 
Patching component oracle.ctx, 19.0.0.0.0...
 
Patching component oracle.dbdev, 19.0.0.0.0...
 
Patching component oracle.dbjava.ic, 19.0.0.0.0...
 
Patching component oracle.dbjava.jdbc, 19.0.0.0.0...
 
Patching component oracle.dbjava.ucp, 19.0.0.0.0...
 
Patching component oracle.duma, 19.0.0.0.0...
 
Patching component oracle.javavm.client, 19.0.0.0.0...
 
Patching component oracle.ldap.client, 19.0.0.0.0...
 
Patching component oracle.ldap.owm, 19.0.0.0.0...
 
Patching component oracle.ldap.rsf, 19.0.0.0.0...
 
Patching component oracle.ldap.security.osdt, 19.0.0.0.0...
 
Patching component oracle.marvel, 19.0.0.0.0...
 
Patching component oracle.network.rsf, 19.0.0.0.0...
 
Patching component oracle.nlsrtl.rsf, 19.0.0.0.0...
 
Patching component oracle.nlsrtl.rsf.core, 19.0.0.0.0...
 
Patching component oracle.nlsrtl.rsf.ic, 19.0.0.0.0...
 
Patching component oracle.odbc.ic, 19.0.0.0.0...
 
Patching component oracle.ons, 19.0.0.0.0...
 
Patching component oracle.ons.ic, 19.0.0.0.0...
 
Patching component oracle.oracore.rsf, 19.0.0.0.0...
 
Patching component oracle.perlint, 5.28.1.0.0...
 
Patching component oracle.precomp.common.core, 19.0.0.0.0...
 
Patching component oracle.precomp.rsf, 19.0.0.0.0...
 
Patching component oracle.rdbms.crs, 19.0.0.0.0...
 
Patching component oracle.rdbms.dbscripts, 19.0.0.0.0...
 
Patching component oracle.rdbms.deconfig, 19.0.0.0.0...
 
Patching component oracle.rdbms.install.common, 19.0.0.0.0...
 
Patching component oracle.rdbms.oci, 19.0.0.0.0...
 
Patching component oracle.rdbms.rsf.ic, 19.0.0.0.0...
 
Patching component oracle.rdbms.scheduler, 19.0.0.0.0...
 
Patching component oracle.rhp.db, 19.0.0.0.0...
 
Patching component oracle.rsf, 19.0.0.0.0...
 
Patching component oracle.sdo, 19.0.0.0.0...
 
Patching component oracle.sdo.locator.jrf, 19.0.0.0.0...
 
Patching component oracle.sqlj.sqljruntime, 19.0.0.0.0...
 
Patching component oracle.sqlplus, 19.0.0.0.0...
 
Patching component oracle.sqlplus.ic, 19.0.0.0.0...
 
Patching component oracle.tfa.db, 19.0.0.0.0...
 
Patching component oracle.wwg.plsql, 19.0.0.0.0...
 
Patching component oracle.xdk.rsf, 19.0.0.0.0...
 
Patching component oracle.rdbms.hs_common, 19.0.0.0.0...
 
Patching component oracle.javavm.server, 19.0.0.0.0...
 
Patching component oracle.rdbms.install.plugins, 19.0.0.0.0...
 
Patching component oracle.rdbms.locator, 19.0.0.0.0...
 
Patching component oracle.oraolap.api, 19.0.0.0.0...
 
Patching component oracle.rdbms.hsodbc, 19.0.0.0.0...
 
Patching component oracle.network.client, 19.0.0.0.0...
 
Patching component oracle.rdbms.drdaas, 19.0.0.0.0...
 
Patching component oracle.rdbms.dm, 19.0.0.0.0...
 
Patching component oracle.rdbms.rman, 19.0.0.0.0...
 
Patching component oracle.rdbms.rat, 19.0.0.0.0...
 
Patching component oracle.ovm, 19.0.0.0.0...
 
Patching component oracle.odbc, 19.0.0.0.0...
 
Patching component oracle.xdk.server, 19.0.0.0.0...
 
Patching component oracle.oraolap.dbscripts, 19.0.0.0.0...
 
Patching component oracle.xdk.xquery, 19.0.0.0.0...
 
Patching component oracle.network.listener, 19.0.0.0.0...
 
Patching component oracle.dbtoolslistener, 19.0.0.0.0...
 
Patching component oracle.ldap.rsf.ic, 19.0.0.0.0...
 
Patching component oracle.xdk.parser.java, 19.0.0.0.0...
 
Patching component oracle.sdo.locator, 19.0.0.0.0...
 
Patching component oracle.ctx.rsf, 19.0.0.0.0...
 
Patching component oracle.ldap.ssl, 19.0.0.0.0...
 
Patching component oracle.oraolap, 19.0.0.0.0...
 
Patching component oracle.mgw.common, 19.0.0.0.0...
 
Patching component oracle.install.deinstalltool, 19.0.0.0.0...
 
Patching component oracle.rdbms.dv, 19.0.0.0.0...
 
Patching component oracle.xdk, 19.0.0.0.0...
 
Patching component oracle.nlsrtl.rsf.lbuilder, 19.0.0.0.0...
 
Patching component oracle.ctx.atg, 19.0.0.0.0...
 
Patching component oracle.network.aso, 19.0.0.0.0...
 
Patching component oracle.rdbms.lbac, 19.0.0.0.0...
 
Patching component oracle.precomp.lang, 19.0.0.0.0...
 
Patching component oracle.precomp.common, 19.0.0.0.0...
 
Patching component oracle.jdk, 1.8.0.201.0...
Patch 39034528 successfully applied.
Sub-set patch [37642901] has become inactive due to the application of a super-set patch [39034528].
Please refer to Doc ID 2161861.1 for any possible further required actions.
Log file location: /app/oracle/product/19c/cfgtoollogs/opatch/opatch2026-05-18_03-25-47AM_1.log
 
OPatch succeeded.

정상적으로 패치됨

 

 

패치 확인

1
2
3
4
5
$ opatch lspatches
39034528;Database Release Update : 19.31.0.0.260421 (39034528)
37654975;OCW RELEASE UPDATE 19.27.0.0.0 (37654975)
 
OPatch succeeded.

정상적으로 패치됨

 

 

db 기동 후 datapatch 수행

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
SQL> startup
ORACLE instance started.
 
Total System Global Area 1577056776 bytes
Fixed Size                  8940040 bytes
Variable Size             654311424 bytes
Database Buffers          905969664 bytes
Redo Buffers                7835648 bytes
Database mounted.
Database opened.
 
$ cd $ORACLE_HOME/OPatch
$ ./datapatch -verbose
SQL Patching tool version 19.31.0.0.0 Production on Mon May 18 03:39:22 2026
Copyright (c) 2012, 2026, Oracle.  All rights reserved.
 
Log file for this invocation: /app/oracle/cfgtoollogs/sqlpatch/sqlpatch_97728_2026_05_18_03_39_22/sqlpatch_invocation.log
 
Connecting to database...OK
Gathering database info...done
Bootstrapping registry and package to current versions...done
Determining current state...done
 
Current state of interim SQL patches:
Interim patch 37499406 (OJVM RELEASE UPDATE: 19.27.0.0.250415 (37499406)):
  Binary registry: Not installed
  SQL registry: Not installed
 
Current state of release update SQL patches:
  Binary registry:
    19.31.0.0.0 Release_Update 260426152757: Installed
  SQL registry:
    Applied 19.27.0.0.0 Release_Update 250406131139 successfully on 31-MAY-25 10.59.10.434451 AM
 
Adding patches to installation queue and performing prereq checks...done
Installation queue:
  No interim patches need to be rolled back
  Patch 39034528 (Database Release Update : 19.31.0.0.260421 (39034528)):
    Apply from 19.27.0.0.0 Release_Update 250406131139 to 19.31.0.0.0 Release_Update 260426152757
  No interim patches need to be applied
 
Installing patches...
Patch installation complete.  Total patches installed: 1
 
Validating logfiles...done
Patch 39034528 apply: SUCCESS
  logfile: /app/oracle/cfgtoollogs/sqlpatch/39034528/28700584/39034528_apply_ORA19DBF_2026May18_03_40_53.log (no errors)
SQL Patching tool complete on Mon May 18 03:42:25 2026

datapatch도 잘됨

 

 

참고. 패치 실패시 확인할 부분
엔진의 $ORACLE_HOME/.patch_storage/NApply 경로 확인

1
2
3
4
5
6
7
8
9
10
11
$ cd /app/oracle/product/19c/.patch_storage/NApply
$ du -sh ./*
4.0K    ./2019-04-18_07-21-05AM
4.0K    ./2019-04-18_07-21-09AM
4.0K    ./2019-04-18_07-21-20AM
4.0K    ./2019-04-18_07-21-25AM
4.0K    ./2025-05-31_10-06-22AM
4.0K    ./2025-08-26_10-47-41AM
3.8G    ./2026-05-18_02-53-11AM
3.8G    ./2026-05-18_02-59-18AM
3.8G    ./2026-05-18_03-10-48AM

정상적으로 패치가 끝나면 NApply 경로의 파일은 4KB만 남기고 지우는데
세션 종료 등 비정상적으로 패치가 끊기면 이 파일들이 안지워지고 남아있어 공간을 낭비함

 

 

이곳에는 엔진의 일부 파일 백업이 존재함

1
2
3
4
$ ls ./2026-05-18_02-53-11AM/backup/
apex        client  deinstall  install    jdbc  ldap  mgw      odbc  oracore  perl     QOpatch  sdo    sqlpatch  ucp
assistants  crs     demo       inventory  jdk   lib   network  olap  ords     plsql    rdbms    sqlcl  sqlplus   xdk
bin         ctx     dv         javavm     jlib  md    nls      opmn  owm      precomp  sdk      sqlj   suptools

 

 

하지만 다시 정상적으로 패치가 끝나고 나면 용량이 회수되어 4KB만 남음

1
2
3
4
5
6
7
8
9
10
11
$ du -sh ./*
4.0K    ./2019-04-18_07-21-05AM
4.0K    ./2019-04-18_07-21-09AM
4.0K    ./2019-04-18_07-21-20AM
4.0K    ./2019-04-18_07-21-25AM
4.0K    ./2025-05-31_10-06-22AM
4.0K    ./2025-08-26_10-47-41AM
4.0K    ./2026-05-18_02-53-11AM
4.0K    ./2026-05-18_02-59-18AM
4.0K    ./2026-05-18_03-10-48AM
4.0K    ./2026-05-18_03-25-47AM

 

 

결론 :
패치(opatch apply) 중 중단하는 경우 어느부분에서 중단하냐에 따라 결과가 다름
1. Verifying 단계

1
Verifying environment and performing prerequisite checks...

이단계에서 중지하는 경우 충돌 및 공간 검사 부분이라 괜찮음

 

 

2. 컴포넌트 백업 단계

1
2
3
4
5
6
7
, [ oracle.java.sqlj.sqljruntime, 19.0.0.0.0 ] , [ oracle.crypto.rsf, 19.0.0.0.0 ] , [ oracle.oraolap.mgmt, 19.0.0.0.0 ] , [ oracle.pg4appc, 19.0.0.0.0 ] 
, [ oracle.pg4mq, 19.0.0.0.0 ] , [ oracle.precomp.companion, 19.0.0.0.0 ] , [ oracle.rdbms.ic, 19.0.0.0.0 ] , [ oracle.rdbms.tg4db2, 19.0.0.0.0 ] 
, [ oracle.sdo.companion, 19.0.0.0.0 ] , [ oracle.tfa, 19.0.0.0.0 ] , [ oracle.rdbms.tg4ifmx, 19.0.0.0.0 ] , [ oracle.oid.client, 19.0.0.0.0 ] 
, [ oracle.rdbms.tg4sybs, 19.0.0.0.0 ] , [ oracle.ldap.ztk, 19.0.0.0.0 ] , [ oracle.ons.eons.bwcompat, 19.0.0.0.0 ] , [ oracle.net.cman, 19.0.0.0.0 ] 
, [ oracle.ons.cclient, 19.0.0.0.0 ] , [ oracle.xdk.companion, 19.0.0.0.0 ] , [ oracle.options.olap, 19.0.0.0.0 ] , [ oracle.rdbms.tg4msql, 19.0.0.0.0 ]
, [ oracle.rdbms.tg4tera, 19.0.0.0.0 ] , [ oracle.network.cman, 19.0.0.0.0 ] , [ oracle.options.olap.api, 19.0.0.0.0 ] , [ oracle.jdk, 1.8.0.191.0 ] 
, [ oracle.jdk, 1.8.0.391.11 ]  not present in the Oracle Home or a higher version is found.

이단계에서 중지하는 경우 backup 단계라서 괜찮음

 

 

3. 컴포넌트 패치 단계

1
2
3
4
5
Patching component oracle.rdbms.util, 19.0.0.0.0...
 
Patching component oracle.rdbms.rsf, 19.0.0.0.0...
 
Patching component oracle.rdbms, 19.0.0.0.0...

이단계에서 중지하는 경우 /app/oracle/product/19c/lib/libserver19.a 파일이 깨지게 되어
다시 opatch apply를 수행할때 수행이 실패하여 본문 방법을 이용한 복구가 필요함

 

 

참조 : 

OPatch or Install cannot find the component | OUI-67124:Archive not rolled back 'component' to /lib/libserver19.a...(KB712301)
OUI-67303 OUI-67124 OUI-67200 During Relinking When Applying Database Proactive Bundle Patch(KB135446)
OPatch Failed With Error Code 73, libserver19.a is not a valid archive(KB794814)
Error Applying Patch to Grid Home(KB104800)