OS 환경 : Oracle Linux 9.6 (64bit)
DB 환경 : Oracle AI Database 23.26.3.0.0 ai
방법 : 오라클 26ai DBCA 이용 패치 가이드
23.26.3 DB RU 골드이미지를 다운로드 받아 DBCA로 패치하는 방법을 설명함
방식을 간단하게 설명하면 out of place(oop) 패치 방식으로 사용함
goldimage를 압축 해제한 뒤 설치 하고(runInstaller) 이후 이 엔진으로 바꿔치기(교체) 하는 방식으로 수행함
이후 db를 기동 시켜주고 오라클이 자동으로 datapatch까지 적용 시켜줌
테스트
현재 엔진 경로 확인
|
1
2
|
$ echo $ORACLE_HOME
/app/oracle/product/26ai
|
/app/oracle/product/26ai 경로가 기존 엔진 경로임
현재 패치 확인
|
1
2
3
4
5
|
$ opatch lspatches
39093711;Database Release Update : 23.26.2.0.0 (39093711)
38743688;OCW RELEASE UPDATE 23.26.1.0.0 (GOLD IMAGE) (38743688) Gold Image
OPatch succeeded.
|
23.26.2 패치가 적용되어 있음
888.1에서 23.26.3 DB 골드 이미지 다운로드
https://support.oracle.com/support/?kmContentId=888
파일 확인
|
1
2
|
$ ls -al /app/media/p39581612_230000_Linux-x86-64_dbgoldimg.zip
-rw-r--r-- 1 root root 2493354906 Aug 8 23:42 /app/media/p39581612_230000_Linux-x86-64_dbgoldimg.zip
|
정상적으로 받아짐
23.26.3용 엔진 경로 생성
|
1
|
$ mkdir -p /app/oracle/product/26ai3
|
runInstaller로 골드이미지 설치(배포)(root 계정으로 수행)
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# cd /app/oracle/product/26ai
# ./runInstaller -deployDBGoldImage -imagePath /app/media/p39581612_230000_Linux-x86-64_dbgoldimg.zip -targetHome /app/oracle/product/26ai3
Plugin base: /app/oracle/cfgtoollogs/inst_plugin/base
Session ID of the current execution is: 4
Log file location: /app/oracle/cfgtoollogs/inst_plugin/base/logs/pilot_2026-08-09_09-45-16-PM
-----------------
Running initialize job
Completed initialize job
-----------------
Running unpackage_image job
Completed unpackage_image job
-----------------
Running install_software job
Completed install_software job
-----------------
Running run_rootscript job
Completed run_rootscript job
|
엔진 설치가 완료됨
로그 확인
|
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
|
# tail -300f /app/oracle/cfgtoollogs/inst_plugin/base/logs/pilot_2026-08-09_09-45-16-PM
...
<<-- !! deployDBGoldImage 작업을 시작함
---------- START OF JOB INITIALIZE ----------
INFO: [2026-08-09 21:45:16.685 KST][pool-1-thread-2][InitializeJob.initializeSettings:98] in initializeSettings
INFO: [2026-08-09 21:45:16.692 KST][pool-1-thread-2][InitializeJob.initializeSettings:113] Args: -deployDBGoldImage -imagePath /app/media/p39581612_230000_Linux-x86-64_dbgoldimg.zip -targetHome /app/oracle/product/26ai3
INFO: [2026-08-09 21:45:16.692 KST][pool-1-thread-2][InitializeJob.initializeSettings:125] Source home: /app/oracle/product/26ai
INFO: [2026-08-09 21:45:16.693 KST][pool-1-thread-2][InitializeJob.initializeSettings:146] Source home owner: oracle
INFO: [2026-08-09 21:45:16.947 KST][pool-1-thread-2][InitializeJob.initializeSettings:161] Args: [-deployDBGoldImage, -imagePath, /app/media/p39581612_230000_Linux-x86-64_dbgoldimg.zip, -targetHome, /app/oracle/product/26ai3]
INFO: [2026-08-09 21:45:16.949 KST][pool-1-thread-2][InitializeJob.initializeSettings:168] Image path: /app/media/p39581612_230000_Linux-x86-64_dbgoldimg.zip
INFO: [2026-08-09 21:45:16.949 KST][pool-1-thread-2][InitializeJob.initializeSettings:180] Target home: /app/oracle/product/26ai3
INFO: [2026-08-09 21:45:16.950 KST][pool-1-thread-2][InitializeJob.execImpl:90]
---------- END OF JOB INITIALIZE ----------
...
<<-- !! goldimage 압축파일을 압축해제함
---------- START OF JOB UNPACKAGE_IMAGE ----------
INFO: [2026-08-09 21:45:17.836 KST][pool-1-thread-3][SetupHomeAsJob.execImpl:123] Processing job: UNPACKAGE_IMAGE.
INFO: [2026-08-09 21:45:17.900 KST][pool-1-thread-3][SetupHomeAsJob.runCommand:290] Start run command [/bin/su, oracle, -c, /bin/unzip -q /app/media/p39581612_230000_Linux-x86-64_dbgoldimg.zip -d /app/oracle/product/26ai3]
INFO: [2026-08-09 21:46:06.724 KST][pool-1-thread-3][SetupHomeAsJob.runCommand:292] Completed command [/bin/su, oracle, -c, /bin/unzip -q /app/media/p39581612_230000_Linux-x86-64_dbgoldimg.zip -d /app/oracle/product/26ai3]: []
INFO: [2026-08-09 21:46:06.737 KST][pool-1-thread-3][SetupHomeAsJob.execImpl:142]
---------- END OF JOB UNPACKAGE_IMAGE ----------
...
<<-- !! 이후 db 엔진을 설치함
---------- START OF JOB INSTALL_SOFTWARE ----------
INFO: [2026-08-09 21:46:06.818 KST][pool-1-thread-4][SetupHomeAsJob.execImpl:123] Processing job: INSTALL_SOFTWARE.
INFO: [2026-08-09 21:46:06.819 KST][pool-1-thread-4][SetupHomeAsJob.runCommand:290] Start run command [/bin/su, oracle, -c, /app/oracle/product/26ai3/runInstaller -silent -setupHomeAs /app/oracle/product/26ai]
INFO: [2026-08-09 21:48:30.168 KST][pool-1-thread-4][SetupHomeAsJob.runCommand:292] Completed command [/bin/su, oracle, -c, /app/oracle/product/26ai3/runInstaller -silent -setupHomeAs /app/oracle/product/26ai]: [Launching Oracle AI Database Setup Wizard..., , The response file for this session can be found at:, /app/oracle/product/26ai3/install/response/db_2026-08-09_09-46-06PM.rsp, , You can find the log of this install session at:, /app/oraInventory/logs/InstallActions2026-08-09_09-46-06PM/installActions2026-08-09_09-46-06PM.log, , As a root user, run the following script(s):, 1. /app/oracle/product/26ai3/root.sh, , Run /app/oracle/product/26ai3/root.sh on the following nodes: , [ora26], , , Successfully Setup Software.]
INFO: [2026-08-09 21:48:30.374 KST][pool-1-thread-4][SetupHomeAsJob.execImpl:142]
---------- END OF JOB INSTALL_SOFTWARE ----------
...
<<-- !! 이후 자동으로 root 스크립트를 수행함
---------- START OF JOB RUN_ROOTSCRIPT ----------
INFO: [2026-08-09 21:48:30.998 KST][pool-1-thread-5][SetupHomeAsJob.execImpl:123] Processing job: RUN_ROOTSCRIPT.
INFO: [2026-08-09 21:48:30.999 KST][pool-1-thread-5][SetupHomeAsJob.runCommand:290] Start run command [/app/oracle/product/26ai3/root.sh]
INFO: [2026-08-09 21:48:31.235 KST][pool-1-thread-5][SetupHomeAsJob.runCommand:292] Completed command [/app/oracle/product/26ai3/root.sh]: [Check /app/oracle/product/26ai3/install/root_ora26_2026-08-09_21-48-31-022839144.log for the output of root script]
INFO: [2026-08-09 21:48:31.236 KST][pool-1-thread-5][SetupHomeAsJob.execImpl:142]
---------- END OF JOB RUN_ROOTSCRIPT ----------
...
|
로그에 상세하게 어떤 작업을 수행했는지 표시됨
엔진 사용 확인
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
# su - oracle
$ cd /app/oracle/product/26ai3/bin/
$ ./sqlplus / as sysdba
SQL*Plus: Release 23.26.3.0.0 - Production on Sun Aug 9 21:55:36 2026
Version 23.26.3.0.0 <<-- !! 23.26.3 버전의 sqlplus 실행 확인
Copyright (c) 1982, 2026, Oracle. All rights reserved.
Connected to:
Oracle AI Database 26ai Enterprise Edition Release 23.26.2.0.0 - Production
Version 23.26.2.0.0
SQL> exit
|
정상적으로 23.26.3 sqlplus 사용이 됨
현재 23.26.3 엔진이 설치된 상태임
아직까진 이 엔진에는 tns, 리스너 spfile 등의 .ora 파일들은 없음
|
1
2
3
4
5
6
7
8
9
10
11
12
|
$ ls -al /app/oracle/product/26ai3/network/admin/
total 4
drwxr-xr-x 3 oracle oinstall 39 Jul 6 05:03 .
drwxr-xr-x 11 oracle oinstall 118 Jul 6 05:03 ..
drwxr-xr-x 2 oracle oinstall 79 Jul 6 05:02 samples
-rw-r--r-- 1 oracle oinstall 1866 May 19 2021 shrept.lst
$ ls -al /app/oracle/product/26ai3/dbs
total 8
drwxr-xr-x 2 oracle oinstall 22 Jul 6 05:02 .
drwxr-xr-x 65 oracle oinstall 4096 Aug 9 21:48 ..
-rw-r----- 1 oracle oinstall 3079 May 14 2015 init.ora
|
오라클 SID 확인
|
1
2
3
4
5
|
$ echo $ORACLE_SID
ORACLE26
$ ps -ef |grep smon
oracle 607827 1 0 12:38 ? 00:00:00 ora_smon_ORACLE26
oracle 762289 499620 0 15:34 pts/1 00:00:00 grep --color=auto smon
|
현재 ORACLE_SID는 ORACLE26임
moveDatabase 가능여부 확인(executePrereqs)수행
|
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
|
$ /app/oracle/product/26ai3/bin/dbca -silent -moveDatabase -sourceDB ORACLE26 -executePrereqs
[FATAL][INS-04006] Invalid combination of arguments passed from command line. Arguments [-moveDatabase,-executePrereqs] cannot be passed together in the same application session.
-moveDatabase Move database from one source Oracle home to target Oracle home
-sourceDB <Database unique name for RAC database or SID for Single Instance database>
[-continueWithDBDowntime <Flag to indicate the move operation with database downtime when there is only one active instance running>]
[-continueWithRolling <Specify this flag to continue on rolling mode in case of non-rolling patch>]
[-directoryPathsToCopy <A Comma separated list of absolute directory paths that are to be copied from source Oracle home to target Oracle home>]
[-doNotEnableTwoStagePatches <Specify this flag to not enable two-stage patches>]
[-drainTimeoutInSeconds <Specify time in seconds to complete the resource draining while stopping the database>]
[-errorOnMissingPatches <Specify this flag to stop the move operation in case of missing patches in target Oracle home>]
[-exceptionPatchList <Specify the list of patch IDs to be ignored when checking missing patches in target Oracle home>]
[-filePathsToCopy <A comma separated list of absolute file paths that are to be copied from source Oracle home to target Oracle home>]
[-listenersToMove <A comma separated list of listeners that are to be moved>]
[-nodeListForMove <A comma separated list of nodes if operation has to be performed on subset of nodes>]
[-nonRolling <Flag to indicate the database move would be performed by shutting down the database>]
[-oracleHomeUserPassword <Specify Oracle home User Password>]
[-postMoveScripts <A comma separated list of scripts to be run post move database. The scripts are run in order they are listed. Only SQL and shell scripts are supported.>]
[-postRollbackScripts <A comma separated list of scripts to be run post move database rollback. The scripts are run in order they are listed. Only SQL and shell scripts are supported.>]
[-resume <Resume the previous operation>]
[-sessionID <Session ID of the DBCA session that you intended to revert or resume or load earlier execution details.>]
[-revert <Revert the previous operation>]
[-sessionID <Session ID of the DBCA session that you intended to revert or resume or load earlier execution details.>]
[-skipClosedPDBs <Flag to skip the datapatch on closed PDBs>]
[-skipDatapatch <Flag to skip the datapatch run>]
[-skipMissingPatchValidation <Specify this flag to proceed with move operation in case of missing patches in target Oracle home>]
[-skipPDBs <A comma separated list of PDBs to be skipped for current operation. >]
[-sqlnetConfigPreference <SOURCE | TARGET> Specify the sqlnet.ora file move preference.]
[-sysDBAPassword <Password for sysDBAUserName user name>]
[-sysDBAUserName <User name with SYSDBA privileges>]
[-targetEnableTwoStagePatches <Enable two-stage patches after database is moved to target Oracle Home.>]
[-upgradeTimezone <true | false> Specify true to upgrade the timezone in the database. Specify false to not upgrade the timezone in the database.]
-executePrereqs - Command to execute prerequisite checks.
-databaseConfigType <SINGLE | RAC | RACONENODE | SEHA>
[-RACOneNodeServiceName <Service name for the service to be created for RAC One Node database. This option is mandatory when the databaseConfigType is RACONENODE>]
[-nodelist <Node names separated by comma for the database>]
|
moveDatabase 옵션이랑 executePrereqs 옵션은 같이 사용할수 없다고 나옴
참고로 아래 공식 링크에는 사용하는 가이드가 있음
참고 : https://docs.oracle.com/en/database/oracle/oracle-database/26/dbpsi/#GUID-F191C2CB-D6F5-4695-80B3-C68F4C4994F2
moveDatabase 수행(다운타임 시작)
|
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
|
$ date
Sun Aug 9 10:24:00 PM KST 2026
$ /app/oracle/product/26ai3/bin/dbca -silent -moveDatabase -sourceDB ORACLE26
Session ID of the current execution is: 1
2% complete
5% complete
7% complete
9% complete
14% complete
18% complete
-----------------
Running Source_database_operations job
Skipping. Job is detected as not applicable.
27% complete
-----------------
Running OJVM_pre_install_step job
Skipping. Job is detected as not applicable.
36% complete
-----------------
Running Copy_custom_config_files job
Completed Copy_custom_config_files job
38% complete
-----------------
Running Move_tns_alias_entries job
Completed Move_tns_alias_entries job
39% complete
-----------------
Running Move_ldap_entries job
Skipping. Job is detected as not applicable.
40% complete
-----------------
Running Move_sqlnet_entries job
Completed Move_sqlnet_entries job
41% complete
-----------------
Running Copy_spfile job
Completed Copy_spfile job
42% complete
-----------------
Running Copy_password_file job
Completed Copy_password_file job
43% complete
-----------------
Running Copy_timezone_files job
Skipping. Job is detected as not applicable.
44% complete
45% complete
-----------------
Running Stop_listeners_from_source job
Completed Stop_listeners_from_source job
47% complete
-----------------
Running Add_listeners_to_target job
Completed Add_listeners_to_target job
49% complete
-----------------
Running Modify_listeners_resource job
Completed Modify_listeners_resource job
51% complete
-----------------
Running Start_listeners_from_target job
Completed Start_listeners_from_target job
53% complete
-----------------
Running Delete_listeners_from_source job
Completed Delete_listeners_from_source job
55% complete
56% complete
-----------------
Running Stop_database_instance job
Completed Stop_database_instance job
57% complete
-----------------
Running Modify_database_resource job
Completed Modify_database_resource job
58% complete
-----------------
Running Update_instance_entry job
Completed Update_instance_entry job
60% complete
61% complete
62% complete
-----------------
Running Start_database_instance job
Completed Start_database_instance job
64% complete
-----------------
Running Run_datapatch job
Completed Run_datapatch job
68% complete
-----------------
Running Recompile_invalid_objects job
Completed Recompile_invalid_objects job
73% complete
74% complete
76% complete
77% complete
79% complete
80% complete
82% complete
83% complete
85% complete
-----------------
Running Update_dba_directories job
Completed Update_dba_directories job
86% complete
88% complete
-----------------
Running Finalize_database_move job
Completed Finalize_database_move job
89% complete
-----------------
Running Post_database_move_validation job
Skipping. Job is detected as not applicable.
91% complete
-----------------
Running Run_custom_scripts job
Completed Run_custom_scripts job
95% complete
-----------------
Running Run_custom_rollback_scripts job
Skipping. Job is detected as not applicable.
100% complete
Look at the log file "/app/oracle/cfgtoollogs/dbca/ORACLE26/ORACLE266.log" for further details.
$ date
Sun Aug 9 10:31:43 PM KST 2026
|
7분 정도만에 엔진 교체가 완료됨
로그를 보면 datapatch, utlrp 까지 수행함
.bash_profile에서도 ORACLE_HOME 경로 변경
|
1
2
3
4
5
6
|
$ vi .bash_profile
#기존
export ORACLE_HOME=$ORACLE_BASE/product/26ai;
#변경
export ORACLE_HOME=$ORACLE_BASE/product/26ai3;
|
저장 후 나오기
적용
|
1
|
$ . ./.bash_profile
|
엔진 패치 정보 확인
|
1
2
3
4
5
|
$ opatch lspatches
39578859;OCW RELEASE UPDATE 23.26.3.0.0 (39578859) Gold Image
39578879;Database Release Update : 23.26.3.0.0 (39578879) Gold Image
OPatch succeeded.
|
정상적으로 패치됨
db 패치 정보 확인
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
SQL>
set lines 200 pages 1000
column action_time format a20
column action format a10
column status format a10
column description format a60
column version format a10
select to_char(action_time, 'yyyy/mm/dd hh24:mi:ss') as action_time
,action
,status
,description
,source_version
,target_version
,patch_id
from dba_registry_sqlpatch
order by action_time;
ACTION_TIME ACTION STATUS DESCRIPTION SOURCE_VERSION TARGET_VERSION PATCH_ID
-------------------- ---------- ---------- ------------------------------------------------------------ --------------- --------------- ----------
2026/04/06 12:08:38 APPLY SUCCESS Database Release Update : 23.26.1.0.0 (38743669) Gold Image 23.26.1.0.0 23.26.1.0.0 38743669
2026/05/01 23:33:40 APPLY SUCCESS Database Release Update : 23.26.2.0.0 (39093711) 23.26.1.0.0 23.26.2.0.0 39093711
2026/08/09 22:28:04 APPLY SUCCESS Database Release Update : 23.26.3.0.0 (39578879) Gold Image 23.26.2.0.0 23.26.3.0.0 39578879
|
datapatch도 정상적으로 적용됨
신규 엔진에 tns, 리스너 spfile 등의 .ora 파일들이 자동으로 복사됨
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
$ ls -al /app/oracle/product/26ai3/dbs/
total 24
drwxr-xr-x 2 oracle oinstall 110 Aug 9 22:24 .
drwxr-xr-x 65 oracle oinstall 4096 Aug 9 22:33 ..
-rw-rw---- 1 oracle oinstall 1544 Aug 9 22:24 hc_ORACLE26.dat
-rw-r----- 1 oracle oinstall 3079 May 14 2015 init.ora
-rw-r----- 1 oracle oinstall 24 Aug 9 22:06 lkORACLE26
-rw-r----- 1 oracle oinstall 2048 Aug 9 22:24 orapwORACLE26
-rw-r----- 1 oracle oinstall 3584 Aug 9 22:25 spfileORACLE26.ora
$ ls -al /app/oracle/product/26ai3/network/admin/
total 20
drwxr-xr-x 3 oracle oinstall 133 Aug 9 22:24 .
drwxr-xr-x 11 oracle oinstall 118 Jul 6 05:03 ..
-rw-r----- 1 oracle oinstall 319 Aug 9 22:24 listener.ora
drwxr-xr-x 2 oracle oinstall 79 Jul 6 05:02 samples
-rw-r--r-- 1 oracle oinstall 1866 May 19 2021 shrept.lst
-rw-r----- 1 oracle oinstall 260 Aug 9 22:06 sqlnet.ora
-rw-r----- 1 oracle oinstall 561 Aug 9 22:24 tnsnames.ora
|
테스트 결과 $ORACLE_HOME/sqlplus/admin의 glogin.sql 은 안가져옴
db 엔진 move 이후 이전 엔진 경로는 필요 없는 경우 deinstall 해줄수 있음
|
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
|
$ cd /app/oracle/product/26ai/deinstall/
$ ./deinstall
Checking for required files and bootstrapping ...
Please wait ...
Location of logs /app/oraInventory/logs/
############ ORACLE DECONFIG TOOL START ############
######################### DECONFIG CHECK OPERATION START #########################
## [START] Install check configuration ##
Checking for existence of the Oracle home location /app/oracle/product/26ai
Oracle Home type selected for deinstall is: Oracle Single Instance Database
Oracle Base selected for deinstall is: /app/oracle
Checking for existence of central inventory location /app/oraInventory
## [END] Install check configuration ##
Network Configuration check config START
Network de-configuration trace file location: /app/oraInventory/logs/netdc_check2026-08-09_10-36-07PM.log
Network Configuration check config END
Database Check Configuration START
Database de-configuration trace file location: /app/oraInventory/logs/databasedc_check2026-08-09_10-36-07PM.log
Use comma as separator when specifying list of values as input
Specify the list of database names that are configured in this Oracle home []:
Database Check Configuration END
######################### DECONFIG CHECK OPERATION END #########################
####################### DECONFIG CHECK OPERATION SUMMARY #######################
Oracle Home selected for deinstall is: /app/oracle/product/26ai
Inventory Location where the Oracle home registered is: /app/oraInventory
Do you want to continue (y - yes, n - no)? [n]: y
A log of this session will be written to: '/app/oraInventory/logs/deinstall_deconfig2026-08-09_10-36-03-PM.out'
Any error messages from this session will be written to: '/app/oraInventory/logs/deinstall_deconfig2026-08-09_10-36-03-PM.err'
######################## DECONFIG CLEAN OPERATION START ########################
## [START] De-Configuring Global Service Manager ##
## [END] De-Configuring Global Service Manager ##
Database de-configuration trace file location: /app/oraInventory/logs/databasedc_clean2026-08-09_10-36-07PM.log
Network Configuration clean config START
Network de-configuration trace file location: /app/oraInventory/logs/netdc_clean2026-08-09_10-36-07PM.log
De-configuring Naming Methods configuration file...
Naming Methods configuration file de-configured successfully.
De-configuring Local Net Service Names configuration file...
Local Net Service Names configuration file de-configured successfully.
De-configuring backup files...
Backup files de-configured successfully.
The network configuration has been cleaned up successfully.
Network Configuration clean config END
######################### DECONFIG CLEAN OPERATION END #########################
####################### DECONFIG CLEAN OPERATION SUMMARY #######################
Oracle database home OraDB23Home1 is de-configured successfully.
#######################################################################
############# ORACLE DECONFIG TOOL END #############
Using properties file /tmp/deinstall2026-08-09_10-35-54PM/response/deinstall_2026-08-09_10-36-03-PM.rsp
Location of logs /app/oraInventory/logs/
############ ORACLE DEINSTALL TOOL START ############
####################### DEINSTALL CHECK OPERATION SUMMARY #######################
A log of this session will be written to: '/app/oraInventory/logs/deinstall_deconfig2026-08-09_10-36-03-PM.out'
Any error messages from this session will be written to: '/app/oraInventory/logs/deinstall_deconfig2026-08-09_10-36-03-PM.err'
######################## DEINSTALL CLEAN OPERATION START ########################
## [START] Preparing for Deinstall ##
Setting LOCAL_NODE to ora26
Setting CRS_HOME to false
Setting oracle.installer.invPtrLoc to /tmp/deinstall2026-08-09_10-35-54PM/oraInst.loc
Setting oracle.installer.local to false
## [END] Preparing for Deinstall ##
Oracle Universal Installer clean START
Detach Oracle home 'OraDB23Home1' from the central inventory on the local node : Done
Delete directory '/app/oracle/product/26ai' on the local node : Done
The Oracle Base directory '/app/oracle' will not be removed on local node. The directory is in use by Oracle Home '/app/oracle/product/26ai3'.
You can find a log of this session at:
'/app/oraInventory/logs/Cleanup2026-08-09_10-36-17PM.log'
Oracle Universal Installer clean END
## [START] Oracle install clean ##
## [END] Oracle install clean ##
######################### DEINSTALL CLEAN OPERATION END #########################
####################### DEINSTALL CLEAN OPERATION SUMMARY #######################
Successfully detached Oracle home 'OraDB23Home1' from the central inventory on the local node.
Successfully deleted directory '/app/oracle/product/26ai' on the local node.
Oracle Universal Installer cleanup was successful.
Review the permissions and contents of '/app/oracle' on nodes(s) 'ora26'.
If there are no Oracle home(s) associated with '/app/oracle', manually delete '/app/oracle' and its contents.
Oracle deinstall tool successfully cleaned up temporary directories.
#######################################################################
############# ORACLE DEINSTALL TOOL END #############
|
삭제 확인
|
1
2
3
|
$ cd ../../
$ ls
26ai3
|
기존엔진 경로(26ai 폴더)가 없어짐
인벤토리에서 확인
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
$ cd /app/oraInventory/ContentsXML/
$ cat inventory.xml
<?xml version="1.0" standalone="yes" ?>
<!-- Copyright (c) 1999, 2026, Oracle and/or its affiliates.
All rights reserved. -->
<!-- Do not modify the contents of this file by hand. -->
<INVENTORY>
<VERSION_INFO>
<SAVED_WITH>12.2.0.9.0</SAVED_WITH>
<MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>
</VERSION_INFO>
<HOME_LIST>
<HOME NAME="OraDB23Home2" LOC="/app/oracle/product/26ai3" TYPE="O" IDX="2"/>
<HOME NAME="OraDB23Home1" LOC="/app/oracle/product/26ai" TYPE="O" IDX="1" REMOVED="T"/>
</HOME_LIST>
<COMPOSITEHOME_LIST>
</COMPOSITEHOME_LIST>
</INVENTORY>
|
/app/oracle/product/26ai 경로가 REMOVED="T"로 표시됨(삭제 되었다는 뜻)
참고1. oracle 유저로 deployDBGoldImage 수행시 에러 발생함
|
1
2
3
|
$ ./runInstaller -deployDBGoldImage -imagePath /app/media/p39581612_230000_Linux-x86-64_dbgoldimg.zip -targetHome /app/oracle/product/26ai3
ERROR: You must be logged in as root to use the -deployDBGoldImage command.
|
참고2. runInstaller silent 옵션에 있는 ignorePrereqFailure 옵션은 deployDBGoldImage 시에는 사용 불가능함
|
1
2
3
4
5
6
7
8
9
10
11
12
|
# ./runInstaller -deployDBGoldImage -imagePath /app/media/p39581612_230000_Linux-x86-64_dbgoldimg.zip -targetHome /app/oracle/product/26ai3 -ignorePrereqFailure
Plugin base: /app/oracle/cfgtoollogs/inst_plugin/base
Session ID of the current execution is: 2
Log file location: /app/oracle/cfgtoollogs/inst_plugin/base/logs/pilot_2026-08-09_09-38-00-PM
-----------------
Running initialize job
Execution of initialize failed
[FATAL] [INS-04009] The argument [-ignorePrereqFailure] passed is not supported for the current context SetupHomeAs
*** Executing jobs which need to be run always... ***
******** PLUGIN EXECUTION FAILED ********
|
참고3. 이미 한번 수행한 뒤 새 ORACLE_HOME을 지우고 다시 생성 후 deployDBGoldImage를 다시 수행하려 하면 에러 발생함
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# ./runInstaller -deployDBGoldImage -imagePath /app/media/p39581612_230000_Linux-x86-64_dbgoldimg.zip -targetHome /app/oracle/product/26ai3
Plugin base: /app/oracle/cfgtoollogs/inst_plugin/base
Session ID of the current execution is: 3
Log file location: /app/oracle/cfgtoollogs/inst_plugin/base/logs/pilot_2026-08-09_09-41-52-PM
-----------------
Running initialize job
Completed initialize job
-----------------
Running unpackage_image job
Completed unpackage_image job
-----------------
Running install_software job
Execution of install_software failed
[FATAL] [INS-33004] Command '[/bin/su, oracle, -c, /app/oracle/product/26ai3/runInstaller -silent -setupHomeAs /app/oracle/product/26ai]' failed.
Output: [Launching Oracle AI Database Setup Wizard..., , [FATAL] [INS-35955] The Database software home (/app/oracle/product/26ai3) is already registered in the central inventory. This option can only be used in a non-registered Database home., ACTION: Choose a different location as Oracle home.]
*** Executing jobs which need to be run always... ***
******** PLUGIN EXECUTION FAILED ********
|
이때는 detachHome을 해준뒤 진행해야함(인벤토리에서 신규 홈 정보를 지우는 작업)
|
1
2
3
4
5
6
7
8
9
|
$ cd $ORACLE_HOME
$ ./oui/bin/runInstaller -silent -waitforcompletion -detachHome ORACLE_HOME='/app/oracle/product/26ai3'
Starting Oracle Universal Installer...
Checking swap space: must be greater than 500 MB. Actual 17696 MB Passed
The inventory pointer is located at /etc/oraInst.loc
You can find the log of this install session at:
/app/oraInventory/logs/DetachHome2026-08-09_09-44-31PM.log
'DetachHome' was successful.
|
참고4. 만약 swap 공간 부족, shmmax 등 크기 부족한 경우 ignore하고 설치는 되지만 아래와 같이 문제 내역과 함께 Successfully Setup Software with warning라고 나옴
|
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
|
# ./runInstaller -deployDBGoldImage -imagePath /app/media/p39581612_230000_Linux-x86-64_dbgoldimg.zip -targetHome /app/oracle/product/26ai3
Plugin base: /app/oracle/cfgtoollogs/inst_plugin/base
Session ID of the current execution is: 1
Log file location: /app/oracle/cfgtoollogs/inst_plugin/base/logs/pilot_2026-08-09_09-25-25-PM
-----------------
Running initialize job
Completed initialize job
-----------------
Running unpackage_image job
Completed unpackage_image job
-----------------
Running install_software job
Execution of install_software failed
[FATAL] [INS-33004] Command '[/bin/su, oracle, -c, /app/oracle/product/26ai3/runInstaller -silent -setupHomeAs /app/oracle/product/26ai]' failed.
Output: [Launching Oracle AI Database Setup Wizard..., , *********************************************,
Swap Size: This is a prerequisite condition to test whether sufficient total swap space is available on the system.,
Severity: IGNORABLE, Overall status: VERIFICATION_FAILED,
Error message: PRVF-7573 : Sufficient swap size is not available on node "ora26"
[Required = 8.5365GB (8951152.0KB) ; Found = 8GB (8388604.0KB)],
Cause: The swap size found does not meet the minimum requirement.,
Action: Increase swap size to at least meet the minimum swap space requirement.,
-----------------------------------------------, *********************************************,
OS Kernel Parameter: shmmax: This is a prerequisite condition to test whether the OS kernel parameter "shmmax" is properly set.,
Severity: IGNORABLE, Overall status: VERIFICATION_FAILED,
Error message: PRVG-1205 : OS kernel parameter "shmmax" does not have expected current value on node "ora26"
[Expected = "6295314432" ; Current = "4294967296"; Configured = "4294967296"].,
Cause: A check of the current value for an OS kernel parameter did not find the expected value.,
Action: Modify the kernel parameter current value to meet the requirement.,
Error message: PRVG-1201 : OS kernel parameter "shmmax" does not have expected configured value on node "ora26"
[Expected = "6295314432" ; Current = "4294967296"; Configured = "4294967296"].,
Cause: A check of the configured value for an OS kernel parameter did not find the expected value.,
Action: Modify the kernel parameter configured value to meet the requirement., -----------------------------------------------,
[WARNING] [INS-13014] Target environment does not meet some optional requirements.,
CAUSE: Some of the optional prerequisites are not met. See logs for details.
/app/oraInventory/logs/InstallActions2026-08-09_09-26-15PM/installActions2026-08-09_09-26-15PM.log.,
ACTION: Identify the list of failed prerequisite checks from the
log: /app/oraInventory/logs/InstallActions2026-08-09_09-26-15PM/installActions2026-08-09_09-26-15PM.log.
Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.,
The response file for this session can be found at:, /app/oracle/product/26ai3/install/response/db_2026-08-09_09-26-15PM.rsp, ,
You can find the log of this install session at:, /app/oraInventory/logs/InstallActions2026-08-09_09-26-15PM/installActions2026-08-09_09-26-15PM.log, ,
As a root user, run the following script(s):, 1. /app/oracle/product/26ai3/root.sh, ,
Run /app/oracle/product/26ai3/root.sh on the following nodes: , [ora26], , ,
Successfully Setup Software with warning(s).]
*** Executing jobs which need to be run always... ***
******** PLUGIN EXECUTION FAILED ********
|
결론 :
26ai 부터는 dbca 명령으로 패치를 수행할수도 있음
이는 out of place 방식으로 진행되는 패치로 기존 엔진에 패치를 적용하는것이 아닌
새로운 goldimage를 압축 해제하여 엔진을 설치(runInstaller) 하고 이후 dbca 명령을 이용해 moveDatabase 해주는 방식을 사용함
기존 패치 방식대로 한다면 opatch apply 하는 순간 이전부터 db를 내려야 하지만
이 방식을 사용하면 미리 패치를 해놓고 엔진을 교체하는 방식으로 진행되기 때문에 db 다운타임이 훨씬 줄어듬
그리고 .ora 파일들도 자동으로 복제해줌
참조 :
https://www.youtube.com/watch?v=1tkr5sH-3AE
https://docs.oracle.com/en/database/oracle/oracle-database/26/dbpsi/
https://docs.oracle.com/en/database/oracle/oracle-database/26/patching.html
https://docs.oracle.com/en/database/oracle/oracle-database/26/ladbi/apply-oop-db-patches.html
'ORACLE > Install' 카테고리의 다른 글
| Oracle Linux 10.2에 Oracle 26ai 설치 가이드 (0) | 2026.09.10 |
|---|---|
| 오라클 19c 싱글 환경 opatchauto 이용 19.32 RU 패치 가이드 (0) | 2026.08.23 |
| 오라클 19c Restart 환경 opatchauto 이용 19.31 RU 패치 가이드 (0) | 2026.06.23 |
| 오라클 19c Restart(ASM) to 싱글(FS) ADG 구성 가이드 (0) | 2026.06.08 |
| 오라클 19c RAC 환경 opatchauto 이용 19.31 RU 패치 가이드 (0) | 2026.06.07 |
