OS 환경 : Oracle Linux 8.4 (64bit)
DB 환경 : Oracle Database 19.27.0.0
방법 : 오라클 19c RAC 노드 제거 방법(silent)
이전글에서 이어지는 글임
참고 : 오라클 19c RAC 노드 추가 방법(silent)( https://positivemh.tistory.com/1243 )
본문에서는 오라클 19c 3노드 rac 환경에서 3번 노드를 제거하는 방법을 설명함
기존 노드 정보 :
hostname, public ip, private ip
노드1 : ora19rac1, 192.168.137.61, 10.10.10.110
노드2 : ora19rac2, 192.168.137.62, 10.10.10.120
노드3 : ora19rac3, 192.168.137.63, 10.10.10.130
제거될 노드 정보 : ora19rac3, 192.168.137.63, 10.10.10.130
현재 grid 및 db는 온라인 상태임
crs 상태 확인
|
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
|
# crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
ONLINE ONLINE ora19rac1 STABLE
ONLINE ONLINE ora19rac2 STABLE
ONLINE ONLINE ora19rac3 STABLE
ora.chad
ONLINE ONLINE ora19rac1 STABLE
ONLINE ONLINE ora19rac2 STABLE
ONLINE ONLINE ora19rac3 STABLE
ora.net1.network
ONLINE ONLINE ora19rac1 STABLE
ONLINE ONLINE ora19rac2 STABLE
ONLINE ONLINE ora19rac3 STABLE
ora.ons
ONLINE ONLINE ora19rac1 STABLE
ONLINE ONLINE ora19rac2 STABLE
ONLINE ONLINE ora19rac3 STABLE
ora.proxy_advm
OFFLINE OFFLINE ora19rac1 STABLE
OFFLINE OFFLINE ora19rac2 STABLE
OFFLINE OFFLINE ora19rac3 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
1 ONLINE ONLINE ora19rac1 STABLE
2 ONLINE ONLINE ora19rac2 STABLE
3 ONLINE ONLINE ora19rac3 STABLE
ora.DATA.dg(ora.asmgroup)
1 ONLINE ONLINE ora19rac1 STABLE
2 ONLINE ONLINE ora19rac2 STABLE
3 ONLINE ONLINE ora19rac3 STABLE
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE ora19rac1 STABLE
ora.OCR.dg(ora.asmgroup)
1 ONLINE ONLINE ora19rac1 STABLE
2 ONLINE ONLINE ora19rac2 STABLE
3 ONLINE ONLINE ora19rac3 STABLE
ora.RECO.dg(ora.asmgroup)
1 ONLINE ONLINE ora19rac1 STABLE
2 ONLINE ONLINE ora19rac2 STABLE
3 ONLINE ONLINE ora19rac3 STABLE
ora.VOTE.dg(ora.asmgroup)
1 ONLINE ONLINE ora19rac1 STABLE
2 ONLINE ONLINE ora19rac2 STABLE
3 ONLINE ONLINE ora19rac3 STABLE
ora.asm(ora.asmgroup)
1 ONLINE ONLINE ora19rac1 Started,STABLE
2 ONLINE ONLINE ora19rac2 Started,STABLE
3 ONLINE ONLINE ora19rac3 Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
1 ONLINE ONLINE ora19rac1 STABLE
2 ONLINE ONLINE ora19rac2 STABLE
3 ONLINE ONLINE ora19rac3 STABLE
ora.cvu
1 ONLINE ONLINE ora19rac1 STABLE
ora.ora11db.db
1 ONLINE ONLINE ora19rac1 Open,HOME=/oracle/ap
p/oracle/product/19c
,STABLE
2 ONLINE ONLINE ora19rac2 Open,HOME=/oracle/ap
p/oracle/product/19c
,STABLE
ora.ora19db.db
1 ONLINE ONLINE ora19rac1 Open,HOME=/oracle/ap
p/oracle/product/19c
,STABLE
2 ONLINE ONLINE ora19rac2 Open,HOME=/oracle/ap
p/oracle/product/19c
,STABLE
3 ONLINE ONLINE ora19rac3 Open,HOME=/oracle/ap
p/oracle/product/19c
,STABLE
ora.ora19rac1.vip
1 ONLINE ONLINE ora19rac1 STABLE
ora.ora19rac2.vip
1 ONLINE ONLINE ora19rac2 STABLE
ora.ora19rac3.vip
1 ONLINE ONLINE ora19rac3 STABLE
ora.qosmserver
1 ONLINE ONLINE ora19rac1 STABLE
ora.scan1.vip
1 ONLINE ONLINE ora19rac1 STABLE
--------------------------------------------------------------------------------
|
ora19db에 3번 인스턴스를 제거 예정임, 업그레이드 테스트시 사용한 ora11db도 존재하지만 본문에서는 무시해도됨
3번 노드 db 인스턴스 중지
|
1
|
$ srvctl stop instance -n ora19rac3
|
grid에서 3번 인스턴스 제거(1번 노드에서 수행)
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
$ cd $ORACLE_HOME/bin/
$ ./dbca -silent -deleteInstance -gdbName ORA19DB -nodeName ora19rac3 -instanceName ORA19DB3
[WARNING] [DBT-19203] The Database Configuration Assistant will delete the Oracle instance and its associated OFA directory structure. All information about this instance will be deleted.
Prepare for db operation
40% complete
Deleting instance
48% complete
52% complete
56% complete
60% complete
64% complete
68% complete
72% complete
76% complete
[WARNING] ORA-00959: tablespace 'UNDOTBS3' does not exist
80% complete
Completing instance management.
100% complete
Instance "ORA19DB3" deleted successfully from node "ora19rac3".
Look at the log file "/oracle/app/oracle/cfgtoollogs/dbca/ORA19DB/ORA19DB0.log" for further details.
|
UNDOTBS3가 없다는 에러 메세지가 발생했지만 제거는 정상적으로 완료됨
이전에 UNDOTBS3를 수동으로 지운뒤 다시 노드 추가를 해서 인스턴스 생성시 3번 인스턴스에 대한 언두가 UNDOTBS4로 생성되었는데 이부분 때문에 에러가 난듯함
3번 노드 undo 삭제
|
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
|
SQL>
set lines 200 pages 1000
col tablespace_name for a20
col file_name for a70
select tablespace_name, file_id, file_name, round(bytes/1024/1024/1024, 2) gb,
round(maxbytes/1024/1024/1024, 2) max_gb, autoextensible, status, online_status from dba_data_files
union all
select tablespace_name, file_id, file_name, round(bytes/1024/1024/1024, 2) gb,
round(maxbytes/1024/1024/1024, 2) max_gb, autoextensible, status, null from dba_temp_files order by 2;
TABLESPACE_NAME FILE_ID FILE_NAME GB MAX_GB AUT STATUS ONLINE_
-------------------- ---------- ---------------------------------------------------------------------- ---------- ---------- --- --------- -------
SYSTEM 1 +DATA/ORA19DB/DATAFILE/system.274.1201188459 1.46 0 NO AVAILABLE SYSTEM
TEMP 1 +DATA/ORA19DB/TEMPFILE/temp.277.1201188465 1 32 YES ONLINE
SYSAUX 2 +DATA/ORA19DB/DATAFILE/sysaux.275.1201188461 1 0 NO AVAILABLE ONLINE
UNDOTBS1 3 +DATA/ORA19DB/DATAFILE/undotbs1.276.1201188463 1 0 NO AVAILABLE ONLINE
UNDOTBS2 4 +DATA/ORA19DB/DATAFILE/undotbs2.278.1201188471 1 0 NO AVAILABLE ONLINE
USERS 5 +DATA/ORA19DB/DATAFILE/users.279.1201188471 0 0 NO AVAILABLE ONLINE
UNDOTBS4 6 +DATA/ORA19DB/DATAFILE/undotbs4.303.1206371819 1 0 NO AVAILABLE ONLINE
7 rows selected.
SQL> drop tablespace undotbs4 including contents and datafiles;
Tablespace dropped.
|
3번 노드 disable 처리
|
1
2
3
|
SQL> alter database disable thread 3;
Database altered.
|
3번 노드 redo 삭제
|
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
|
SQL>
set lines 200
set pages 1000
col member for a60
select thread#, l.group#, member, archived, l.status, (bytes/1024/1024) MB, sequence#
from v$log l, v$logfile f
where f.group# = l.group#
order by 1, 2;
THREAD# GROUP# MEMBER ARC STATUS MB SEQUENCE#
---------- ---------- ------------------------------------------------------------ --- ---------------- ---------- ----------
1 1 +DATA/ORA19DB/ONLINELOG/group_1.272.1201188457 NO CURRENT 200 67
1 2 +DATA/ORA19DB/ONLINELOG/group_2.273.1201188459 YES INACTIVE 200 66
2 3 +DATA/ORA19DB/ONLINELOG/group_3.280.1201189697 YES INACTIVE 200 45
2 4 +DATA/ORA19DB/ONLINELOG/group_4.281.1201189697 NO CURRENT 200 46
3 5 +DATA/ORA19DB/ONLINELOG/group_5.304.1206318195 YES INACTIVE 200 3
3 6 +DATA/ORA19DB/ONLINELOG/group_6.305.1206318195 YES INACTIVE 200 2
6 rows selected.
SQL> alter database drop logfile group 5;
Database altered.
SQL> alter database drop logfile group 6;
Database altered.
|
제거됨
crs 상태 확인
|
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
|
$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
ONLINE ONLINE ora19rac1 STABLE
ONLINE ONLINE ora19rac2 STABLE
ONLINE ONLINE ora19rac3 STABLE
ora.chad
ONLINE ONLINE ora19rac1 STABLE
ONLINE ONLINE ora19rac2 STABLE
ONLINE ONLINE ora19rac3 STABLE
ora.net1.network
ONLINE ONLINE ora19rac1 STABLE
ONLINE ONLINE ora19rac2 STABLE
ONLINE ONLINE ora19rac3 STABLE
ora.ons
ONLINE ONLINE ora19rac1 STABLE
ONLINE ONLINE ora19rac2 STABLE
ONLINE ONLINE ora19rac3 STABLE
ora.proxy_advm
OFFLINE OFFLINE ora19rac1 STABLE
OFFLINE OFFLINE ora19rac2 STABLE
OFFLINE OFFLINE ora19rac3 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
1 ONLINE ONLINE ora19rac1 STABLE
2 ONLINE ONLINE ora19rac2 STABLE
3 ONLINE ONLINE ora19rac3 STABLE
ora.DATA.dg(ora.asmgroup)
1 ONLINE ONLINE ora19rac1 STABLE
2 ONLINE ONLINE ora19rac2 STABLE
3 ONLINE ONLINE ora19rac3 STABLE
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE ora19rac1 STABLE
ora.OCR.dg(ora.asmgroup)
1 ONLINE ONLINE ora19rac1 STABLE
2 ONLINE ONLINE ora19rac2 STABLE
3 ONLINE ONLINE ora19rac3 STABLE
ora.RECO.dg(ora.asmgroup)
1 ONLINE ONLINE ora19rac1 STABLE
2 ONLINE ONLINE ora19rac2 STABLE
3 ONLINE ONLINE ora19rac3 STABLE
ora.VOTE.dg(ora.asmgroup)
1 ONLINE ONLINE ora19rac1 STABLE
2 ONLINE ONLINE ora19rac2 STABLE
3 ONLINE ONLINE ora19rac3 STABLE
ora.asm(ora.asmgroup)
1 ONLINE ONLINE ora19rac1 Started,STABLE
2 ONLINE ONLINE ora19rac2 Started,STABLE
3 ONLINE ONLINE ora19rac3 Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
1 ONLINE ONLINE ora19rac1 STABLE
2 ONLINE ONLINE ora19rac2 STABLE
3 ONLINE ONLINE ora19rac3 STABLE
ora.cvu
1 ONLINE ONLINE ora19rac1 STABLE
ora.ora11db.db
1 ONLINE ONLINE ora19rac1 Open,HOME=/oracle/ap
p/oracle/product/19c
,STABLE
2 ONLINE ONLINE ora19rac2 Open,HOME=/oracle/ap
p/oracle/product/19c
,STABLE
ora.ora19db.db
1 ONLINE ONLINE ora19rac1 Open,HOME=/oracle/ap
p/oracle/product/19c
,STABLE
2 ONLINE ONLINE ora19rac2 Open,HOME=/oracle/ap
p/oracle/product/19c
,STABLE
ora.ora19rac1.vip
1 ONLINE ONLINE ora19rac1 STABLE
ora.ora19rac2.vip
1 ONLINE ONLINE ora19rac2 STABLE
ora.ora19rac3.vip
1 ONLINE ONLINE ora19rac3 STABLE
ora.qosmserver
1 ONLINE ONLINE ora19rac1 STABLE
ora.scan1.vip
1 ONLINE ONLINE ora19rac1 STABLE
--------------------------------------------------------------------------------
|
정상적으로 db 인스턴스가 제거됨
db config 확인
|
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
|
$ srvctl config database -d ora19db
Database unique name: ORA19DB
Database name: ORA19DB
Oracle home: /oracle/app/oracle/product/19c
Oracle user: oracle
Spfile: +DATA/ORA19DB/PARAMETERFILE/spfile.294.1203586513
Password file: +DATA/ORA19DB/PASSWORD/pwdora19db.270.1201188441
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools:
Disk Groups: DATA
Mount point paths:
Services:
Type: RAC
Start concurrency:
Stop concurrency:
OSDBA group: dba
OSOPER group: dba
Database instances: ORA19DB1,ORA19DB2
Configured nodes: ora19rac1,ora19rac2
CSS critical: no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network number for database services:
Database is administrator managed
|
정상적으로 db 인스턴스가 제거됨
db 엔진 제거(3번 노드에서 수행)
|
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
|
$ cd $ORACLE_HOME/deinstall
$ ./deinstall -local
Checking for required files and bootstrapping ...
Please wait ...
Location of logs /oracle/app/oraInventory/logs/
############ ORACLE DECONFIG TOOL START ############
######################### DECONFIG CHECK OPERATION START #########################
## [START] Install check configuration ##
Checking for existence of the Oracle home location /oracle/app/oracle/product/19c
Oracle Home type selected for deinstall is: Oracle Real Application Cluster Database
Oracle Base selected for deinstall is: /oracle/app/oracle
Checking for existence of central inventory location /oracle/app/oraInventory
Checking for existence of the Oracle Grid Infrastructure home /oracle/app/grid/19c
The following nodes are part of this cluster: ora19rac3,ora19rac2,ora19rac1
Checking for sufficient temp space availability on node(s) : 'ora19rac3'
## [END] Install check configuration ##
Network Configuration check config START
Network de-configuration trace file location: /oracle/app/oraInventory/logs/netdc_check2025-07-13_03-40-40PM.log
Network Configuration check config END
Database Check Configuration START
Database de-configuration trace file location: /oracle/app/oraInventory/logs/databasedc_check2025-07-13_03-40-40PM.log
Use comma as separator when specifying list of values as input
Specify the list of database names that are configured locally on this node for this Oracle home. Local configurations of the discovered databases will be removed []: <<-- 엔터 입력
Database Check Configuration END
######################### DECONFIG CHECK OPERATION END #########################
####################### DECONFIG CHECK OPERATION SUMMARY #######################
Oracle Grid Infrastructure Home is: /oracle/app/grid/19c
The following nodes are part of this cluster: ora19rac3,ora19rac2,ora19rac1
The cluster node(s) on which the Oracle home deinstallation will be performed are:ora19rac3
Oracle Home selected for deinstall is: /oracle/app/oracle/product/19c
Inventory Location where the Oracle home registered is: /oracle/app/oraInventory
Do you want to continue (y - yes, n - no)? [n]: y <<-- y 입력
A log of this session will be written to: '/oracle/app/oraInventory/logs/deinstall_deconfig2025-07-13_03-40-33-PM.out'
Any error messages from this session will be written to: '/oracle/app/oraInventory/logs/deinstall_deconfig2025-07-13_03-40-33-PM.err'
######################## DECONFIG CLEAN OPERATION START ########################
Database de-configuration trace file location: /oracle/app/oraInventory/logs/databasedc_clean2025-07-13_03-40-40PM.log
Network Configuration clean config START
Network de-configuration trace file location: /oracle/app/oraInventory/logs/netdc_clean2025-07-13_03-40-40PM.log
Network Configuration clean config END
######################### DECONFIG CLEAN OPERATION END #########################
####################### DECONFIG CLEAN OPERATION SUMMARY #######################
#######################################################################
############# ORACLE DECONFIG TOOL END #############
Using properties file /tmp/deinstall2025-07-13_03-39-53PM/response/deinstall_2025-07-13_03-40-33-PM.rsp
Location of logs /oracle/app/oraInventory/logs/
############ ORACLE DEINSTALL TOOL START ############
####################### DEINSTALL CHECK OPERATION SUMMARY #######################
A log of this session will be written to: '/oracle/app/oraInventory/logs/deinstall_deconfig2025-07-13_03-40-33-PM.out'
Any error messages from this session will be written to: '/oracle/app/oraInventory/logs/deinstall_deconfig2025-07-13_03-40-33-PM.err'
######################## DEINSTALL CLEAN OPERATION START ########################
## [START] Preparing for Deinstall ##
Setting LOCAL_NODE to ora19rac3
Setting CLUSTER_NODES to ora19rac3
Setting CRS_HOME to false
Setting oracle.installer.invPtrLoc to /tmp/deinstall2025-07-13_03-39-53PM/oraInst.loc
Setting oracle.installer.local to true
## [END] Preparing for Deinstall ##
Setting the force flag to false
Setting the force flag to cleanup the Oracle Base
Oracle Universal Installer clean START
Detach Oracle home '/oracle/app/oracle/product/19c' from the central inventory on the local node : Done
Delete directory '/oracle/app/oracle/product/19c' on the local node : Done
The Oracle Base directory '/oracle/app/oracle' will not be removed on local node. The directory is in use by Oracle Home '/oracle/app/grid/19c'.
Oracle Universal Installer cleanup was successful.
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 '/oracle/app/oracle/product/19c' from the central inventory on the local node.
Successfully deleted directory '/oracle/app/oracle/product/19c' on the local node.
Oracle Universal Installer cleanup was successful.
Review the permissions and contents of '/oracle/app/oracle' on nodes(s) 'ora19rac3'.
If there are no Oracle home(s) associated with '/oracle/app/oracle', manually delete '/oracle/app/oracle' and its contents.
Oracle deinstall tool successfully cleaned up temporary directories.
#######################################################################
############# ORACLE DEINSTALL TOOL END #############
|
완료됨
db 엔진 경로 확인
|
1
2
3
4
5
6
|
$ pwd
/oracle/app/oracle/product
$ ls -al
total 0
drwxrwxr-x. 2 oracle dba 6 Jul 13 15:41 .
drwxrwxr-x. 10 oracle dba 123 Jul 13 14:47 ..
|
정상적으로 제거됨
root 유저로 제거 명령 실행(제거할 3번 노드에서 실행)
successful로 표시되야함
|
1
2
3
4
5
6
7
8
9
|
# cd $GRID_HOME/crs/install
# ./rootcrs.sh -deconfig -force -verbose
Using configuration parameter file: /oracle/app/grid/19c/crs/install/crsconfig_params
The log of current session can be found at:
/oracle/app/oracle/crsdata/ora19rac3/crsconfig/crsdeconfig_ora19rac3_2025-07-13_06-42-19PM.log
Redirecting to /bin/systemctl restart rsyslog.service
2025/07/13 18:43:28 CLSRSC-4006: Removing Oracle Trace File Analyzer (TFA) Collector.
2025/07/13 18:44:49 CLSRSC-4007: Successfully removed Oracle Trace File Analyzer (TFA) Collector.
2025/07/13 18:44:51 CLSRSC-336: Successfully deconfigured Oracle Clusterware stack on this node
|
정상적으로 제거됨
아직 3번 노드의 grid 엔진은 정상적으로 존재하는 상태임
grid 엔진 제거(grid 오너로 수행, 현재 서버에는 grid 유저 없이 oracle 유저로만 구성함)(제거할 3번 노드에서 실행)
|
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
|
# su - oracle
$ cd $GRID_HOME/deinstall
$ ./deinstall -local
Checking for required files and bootstrapping ...
Please wait ...
Location of logs /tmp/deinstall2025-07-13_06-47-03PM/logs/
############ ORACLE DECONFIG TOOL START ############
######################### DECONFIG CHECK OPERATION START #########################
## [START] Install check configuration ##
Checking for existence of the Oracle home location /oracle/app/grid/19c
Oracle Home type selected for deinstall is: Oracle Grid Infrastructure for a Standalone Server
Oracle Base selected for deinstall is: /oracle/app/oracle
Checking for existence of central inventory location /oracle/app/oraInventory
Checking for existence of the Oracle Grid Infrastructure home
## [END] Install check configuration ##
Traces log file: /tmp/deinstall2025-07-13_06-47-03PM/logs//crsdc_2025-07-13_06-47-38-PM.log
Network Configuration check config START
Network de-configuration trace file location: /tmp/deinstall2025-07-13_06-47-03PM/logs/netdc_check2025-07-13_06-47-38PM.log
Specify all Oracle Restart enabled listeners that are to be de-configured. Enter .(dot) to deselect all. [ASMNET1LSNR_ASM,LISTENER]: <<-- 엔터 입력
Network Configuration check config END
Asm Check Configuration START
ASM de-configuration trace file location: /tmp/deinstall2025-07-13_06-47-03PM/logs/asmcadc_check2025-07-13_06-47-38PM.log
ASM configuration was not detected in this Oracle home. Was ASM configured in this Oracle home (y|n) [n]: <<-- 엔터 입력
ASM was not detected in the Oracle Home
Database Check Configuration START
Database de-configuration trace file location: /tmp/deinstall2025-07-13_06-47-03PM/logs/databasedc_check2025-07-13_06-47-38PM.log
Database Check Configuration END
######################### DECONFIG CHECK OPERATION END #########################
####################### DECONFIG CHECK OPERATION SUMMARY #######################
Oracle Grid Infrastructure Home is:
Oracle Home selected for deinstall is: /oracle/app/grid/19c
Inventory Location where the Oracle home registered is: /oracle/app/oraInventory
Following Oracle Restart enabled listener(s) will be de-configured: ASMNET1LSNR_ASM,LISTENER
ASM was not detected in the Oracle Home
Do you want to continue (y - yes, n - no)? [n]: y <<-- y 입력
A log of this session will be written to: '/tmp/deinstall2025-07-13_06-47-03PM/logs/deinstall_deconfig2025-07-13_06-47-37-PM.out'
Any error messages from this session will be written to: '/tmp/deinstall2025-07-13_06-47-03PM/logs/deinstall_deconfig2025-07-13_06-47-37-PM.err'
######################## DECONFIG CLEAN OPERATION START ########################
Database de-configuration trace file location: /tmp/deinstall2025-07-13_06-47-03PM/logs/databasedc_clean2025-07-13_06-47-38PM.log
ASM de-configuration trace file location: /tmp/deinstall2025-07-13_06-47-03PM/logs/asmcadc_clean2025-07-13_06-47-38PM.log
ASM Clean Configuration END
Network Configuration clean config START
Network de-configuration trace file location: /tmp/deinstall2025-07-13_06-47-03PM/logs/netdc_clean2025-07-13_06-47-38PM.log
De-configuring Oracle Restart enabled listener(s): ASMNET1LSNR_ASM,LISTENER
De-configuring listener: ASMNET1LSNR_ASM
Stopping listener: ASMNET1LSNR_ASM
Listener may not be running.
Deleting listener: ASMNET1LSNR_ASM
Listener deleted successfully.
Listener de-configured successfully.
De-configuring listener: LISTENER
Stopping listener: LISTENER
Listener may not be running.
Deleting listener: LISTENER
Listener deleted successfully.
Listener de-configured successfully.
De-configuring Listener configuration file...
Listener configuration file de-configured successfully.
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 #######################
Following Oracle Restart enabled listener(s) were de-configured successfully: ASMNET1LSNR_ASM,LISTENER
Oracle Restart is stopped and de-configured successfully.
#######################################################################
############# ORACLE DECONFIG TOOL END #############
Using properties file /tmp/deinstall2025-07-13_06-47-03PM/response/deinstall_2025-07-13_06-47-37-PM.rsp
Location of logs /tmp/deinstall2025-07-13_06-47-03PM/logs/
############ ORACLE DEINSTALL TOOL START ############
####################### DEINSTALL CHECK OPERATION SUMMARY #######################
A log of this session will be written to: '/tmp/deinstall2025-07-13_06-47-03PM/logs/deinstall_deconfig2025-07-13_06-47-37-PM.out'
Any error messages from this session will be written to: '/tmp/deinstall2025-07-13_06-47-03PM/logs/deinstall_deconfig2025-07-13_06-47-37-PM.err'
######################## DEINSTALL CLEAN OPERATION START ########################
## [START] Preparing for Deinstall ##
Setting LOCAL_NODE to ora19rac3
Setting CRS_HOME to false
Setting oracle.installer.invPtrLoc to /tmp/deinstall2025-07-13_06-47-03PM/oraInst.loc
Setting oracle.installer.local to true
## [END] Preparing for Deinstall ##
Setting the force flag to false
Setting the force flag to cleanup the Oracle Base
Oracle Universal Installer clean START
Detach Oracle home '/oracle/app/grid/19c' from the central inventory on the local node : Done
Failed to delete the directory '/oracle/app/grid/19c/.patch_storage'. Either user has no permission to delete or it is in use.
Failed to delete the directory '/oracle/app/grid/19c/inventory'. Either user has no permission to delete or it is in use.
..(에러 수십줄 발생)
Failed to delete the directory '/oracle/app/grid/19c/crf'. The directory is not empty.
Failed to delete the directory '/oracle/app/grid/19c'. The directory is not empty.
Delete directory '/oracle/app/grid/19c' on the local node : Failed <<<<
Delete directory '/oracle/app/oraInventory' on the local node : Failed <<<<
The Oracle Base directory '/oracle/app/oracle' will not be removed on local node. The directory is not empty. User needs to manually cleanup this directory.
Oracle Universal Installer cleanup completed with errors.
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 '/oracle/app/grid/19c' from the central inventory on the local node.
Failed to delete directory '/oracle/app/grid/19c' on the local node due to error : Either user has no permission to delete or file is in use.
Review the permissions and manually delete '/oracle/app/grid/19c' on local node.
Failed to delete directory '/oracle/app/oraInventory' on the local node due to error : Either user has no permission to delete or file is in use.
Review the permissions and manually delete '/oracle/app/oraInventory' on local node.
Oracle Universal Installer cleanup completed with errors.
Run 'rm -r /etc/oraInst.loc' as root on node(s) 'ora19rac3' at the end of the session.
Run 'rm -r /opt/ORCLfmap' as root on node(s) 'ora19rac3' at the end of the session.
Run 'rm -r /etc/oratab' as root on node(s) 'ora19rac3' at the end of the session.
Review the permissions and contents of '/oracle/app/oracle' on nodes(s) 'ora19rac3'.
If there are no Oracle home(s) associated with '/oracle/app/oracle', manually delete '/oracle/app/oracle' and its contents.
Oracle deinstall tool successfully cleaned up temporary directories.
#######################################################################
############# ORACLE DEINSTALL TOOL END #############
|
deinstall이 잘 진행되다가 일부 폴더들이 삭제되지 않음, grid 유저 없이 oracle 유저로만 해서 그런것일수도 있고, root 권한으로 된 폴더나 파일이어서 그럴수도 있음
1번 노드의 grid 엔진 경로 용량과 3번 노드의 grid 엔진 용량 확인
|
1
2
3
4
5
6
7
|
#1번 노드
# du -sh $GRID_HOME
13G /oracle/app/grid/19c
#3번 노드
# du -sh $GRID_HOME
3.8G /oracle/app/grid/19c
|
일부만 지워진듯함
인벤토리 경로 확인(제거할 3번 노드에서 실행)
|
1
2
3
4
5
|
# cat $GRID_HOME/oraInst.loc
#Oracle Installer Location File Location
#Mon May 12 20:52:24 KST 2025
inst_group=oinstall
inventory_loc=/oracle/app/oraInventory
|
일단 deinstall이 되었기 때문에 아래 경로 삭제(제거할 3번 노드에서 실행)
|
1
2
3
4
5
6
7
|
# rm -rf $GRID_HOME
# rm -rf /etc/oracle
# rm -rf /var/tmp/.oracle
# rm -rf /opt/ORCLfmap
# rm -rf /etc/oraInst.loc
--# rm -rf /oracle/app/oraInventory
--# rm -rf /etc/oratab
|
여기서 oraInventory, /etc/oratab은 백업해두면 좋음
참고용. tar 백업 명령어(p옵션은 기존 권한을 유지하는 옵션임)
|
1
2
3
4
|
# cd /oracle/app/oraInventory
# tar cpf oraInventory_bak.tar ./*
# mv oraInventory_bak.tar /root/
# cp -p /etc/oratab /root/
|
참고용. tar 해제 명령어
|
1
2
3
|
# cd /oracle/app/oraInventory
# tar xpf oraInventory_bak.tar
# cp -p /root
|
현재 crs 상태 확인(남아있는 노드에서 확인)
|
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
|
$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
ONLINE ONLINE ora19rac1 STABLE
ONLINE ONLINE ora19rac2 STABLE
ora.chad
ONLINE ONLINE ora19rac1 STABLE
ONLINE ONLINE ora19rac2 STABLE
ora.net1.network
ONLINE ONLINE ora19rac1 STABLE
ONLINE ONLINE ora19rac2 STABLE
ora.ons
ONLINE ONLINE ora19rac1 STABLE
ONLINE ONLINE ora19rac2 STABLE
ora.proxy_advm
OFFLINE OFFLINE ora19rac1 STABLE
OFFLINE OFFLINE ora19rac2 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
1 ONLINE ONLINE ora19rac1 STABLE
2 ONLINE ONLINE ora19rac2 STABLE
3 ONLINE OFFLINE STABLE
ora.DATA.dg(ora.asmgroup)
1 ONLINE ONLINE ora19rac1 STABLE
2 ONLINE ONLINE ora19rac2 STABLE
3 ONLINE OFFLINE STABLE
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE ora19rac1 STABLE
ora.OCR.dg(ora.asmgroup)
1 ONLINE ONLINE ora19rac1 STABLE
2 ONLINE ONLINE ora19rac2 STABLE
3 ONLINE OFFLINE STABLE
ora.RECO.dg(ora.asmgroup)
1 ONLINE ONLINE ora19rac1 STABLE
2 ONLINE ONLINE ora19rac2 STABLE
3 ONLINE OFFLINE STABLE
ora.VOTE.dg(ora.asmgroup)
1 ONLINE ONLINE ora19rac1 STABLE
2 ONLINE ONLINE ora19rac2 STABLE
3 ONLINE OFFLINE STABLE
ora.asm(ora.asmgroup)
1 ONLINE ONLINE ora19rac1 Started,STABLE
2 ONLINE ONLINE ora19rac2 Started,STABLE
3 ONLINE OFFLINE STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
1 ONLINE ONLINE ora19rac1 STABLE
2 ONLINE ONLINE ora19rac2 STABLE
3 ONLINE OFFLINE STABLE
ora.cvu
1 ONLINE ONLINE ora19rac1 STABLE
ora.ora11db.db
1 ONLINE ONLINE ora19rac1 Open,HOME=/oracle/ap
p/oracle/product/19c
,STABLE
2 ONLINE ONLINE ora19rac2 Open,HOME=/oracle/ap
p/oracle/product/19c
,STABLE
ora.ora19db.db
1 ONLINE ONLINE ora19rac1 Open,HOME=/oracle/ap
p/oracle/product/19c
,STABLE
2 ONLINE ONLINE ora19rac2 Open,HOME=/oracle/ap
p/oracle/product/19c
,STABLE
ora.ora19rac1.vip
1 ONLINE ONLINE ora19rac1 STABLE
ora.ora19rac2.vip
1 ONLINE ONLINE ora19rac2 STABLE
ora.qosmserver
1 ONLINE ONLINE ora19rac1 STABLE
ora.scan1.vip
1 ONLINE ONLINE ora19rac1 STABLE
--------------------------------------------------------------------------------
|
3번 노드 이름이 없어지고 번호만 남음, 해당 리소스들이 OFFLINE으로 표시됨
남아있는 노드에서 노드 제거 명령 수행(root에서 수행)
|
1
2
|
# crsctl delete node -n ora19rac3
CRS-4661: Node ora19rac3 successfully deleted.
|
제거됨
rac config 확인
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# srvctl config nodeapps -a
Network 1 exists
Subnet IPv4: 192.168.137.0/255.255.255.0/ens192, static
Subnet IPv6:
Ping Targets:
Network is enabled
Network is individually enabled on nodes:
Network is individually disabled on nodes:
VIP exists: network number 1, hosting node ora19rac1
VIP Name: ora19rac1-vip
VIP IPv4 Address: 192.168.137.61
VIP IPv6 Address:
VIP is enabled.
VIP is individually enabled on nodes:
VIP is individually disabled on nodes:
VIP exists: network number 1, hosting node ora19rac2
VIP Name: ora19rac2-vip
VIP IPv4 Address: 192.168.137.62
VIP IPv6 Address:
VIP is enabled.
VIP is individually enabled on nodes:
VIP is individually disabled on nodes:
|
현재 3번 노드 vip는 이미 제거되어 있음
만약 제거되지 않았다면 아래 명령어로 3번 노드 vip 제거(root 유저로 수행)
|
1
2
|
# srvctl stop vip -vip ora19rac3-vip
# srvctl remove vip -vip ora19rac3-vip
|
잘 제거되었는지 확인(선택 사항)
남아있는 노드에서 grid 오너로 수행, 현재 서버에는 grid 유저 없이 oracle 유저로만 구성함
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# su - oracle
$ $GRID_HOME/bin/cluvfy stage -post nodedel -n ora19rac3
Performing following verification checks ...
Node Removal ...
CRS Integrity ...PASSED
Clusterware Version Consistency ...PASSED
Node Removal ...PASSED
Post-check for node removal was successful.
CVU operation performed: stage -post nodedel
Date: Jul 13, 2025 6:53:38 PM
CVU version: 19.27.0.0.0 (041025x8664)
Clusterware version: 19.0.0.0.0
CVU home: /oracle/app/grid/19c
Grid home: /oracle/app/grid/19c
User: oracle
Operating system: Linux5.4.17-2136.342.5.3.el8uek.x86_64
|
정상적으로 제거되었다고 나옴
노드 목록을 확인해봐도 3번 노드는 없다고 나옴
|
1
2
3
|
$ olsnodes -s -t
ora19rac1 Active Unpinned
ora19rac2 Active Unpinned
|
결론 :
본문과 같은 silent 방식으로 rac 환경에서 노드 제거 작업을 온라인으로 진행할 수 있음
참조 :
https://docs.oracle.com/en/database/oracle/oracle-database/19/cwadd/adding-and-deleting-cluster-nodes.html#GUID-929C0CD9-9B67-45D6-B864-5ED3B47FE458
https://docs.oracle.com/en/database/oracle/oracle-database/19/cwadd/adding-and-deleting-cluster-nodes.html#GUID-25D8D7A2-5240-401F-A998-00C4B525413F
https://jack-of-all-trades.tistory.com/447
https://pskbigstar.tistory.com/entry/RAC-노드-추가OU
https://pskbigstar.tistory.com/entry/RAC-노드-제거
https://gyh214.tistory.com/entry/RAC%EC%9A%B4%EC%98%81%EC%A4%91-RAC-node-%EC%B6%94%EA%B0%80%ED%95%98%EA%B8%B013-%ED%99%98%EA%B2%BD-VMware-%EC%8B%A4%EC%8A%B5%ED%99%98%EA%B2%BD-11gR2-OEL2618-238el5PAE
https://gyh214.tistory.com/entry/RAC%EC%9A%B4%EC%98%81%EC%A4%91-RAC-node-%EC%B6%94%EA%B0%80%ED%95%98%EA%B8%B023-%ED%99%98%EA%B2%BD-VMware-%EC%8B%A4%EC%8A%B5%ED%99%98%EA%B2%BD-11gR2-OEL2618-238el5PAE
https://gyh214.tistory.com/entry/RAC%EC%9A%B4%EC%98%81%EC%A4%91-RAC-node-%EC%B6%94%EA%B0%80%ED%95%98%EA%B8%B033-%ED%99%98%EA%B2%BD-VMware-%EC%8B%A4%EC%8A%B5%ED%99%98%EA%B2%BD-11gR2-OEL2618-238el5PAE
RAC: How to delete and add a node in 19c RAC (Doc ID 3019970.1)
https://positivemh.tistory.com/307
https://positivemh.tistory.com/761
https://pat98.tistory.com/765
'ORACLE > Rac' 카테고리의 다른 글
| 오라클 19c RAC 노드 제거 방법(gui) (0) | 2025.07.13 |
|---|---|
| 오라클 19c RAC 노드 추가 방법(gui) (0) | 2025.07.13 |
| 오라클 19c RAC 노드 추가 방법(silent) (0) | 2025.07.13 |
| 오라클 19c Private IP 정지 후 fencing, evict 확인 테스트 (0) | 2025.07.04 |
| 오라클 19c RAC db 수동 삭제 가이드 (0) | 2025.06.22 |