프린트 하기

OS 환경 : Oracle Linux 8.7 (64bit)

 

DB 환경 : Oracle Database 19.27.0.0

 

방법 : 오라클 19c 디스크그룹 이름 변경

본문에서는 오라클 19c에서 asm 디스크그룹 이름을 변경하는 방법을 설명함
db 데이터(dbf 파일 등)이 없는 디스크와 있는 디스크 둘다 rename 하는 법을 설명함
참고로 현재 환경에서는 oracleasm library를 이용해 rac를 구성하였음

 

 

테스트
1. db 데이터가 없는 디스크그룹 이름 변경
2. db 데이터가 있는 디스크그룹 이름 변경

 

 

테스트
1. 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
$ 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
               OFFLINE OFFLINE      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
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       ora19rac2                STABLE
ora.OCRVOTE.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.RECO.dg(ora.asmgroup) <<---
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                Started,STABLE
      2        ONLINE  ONLINE       ora19rac2                Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.cvu
      1        ONLINE  ONLINE       ora19rac2                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       ora19rac2                STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       ora19rac2                STABLE
--------------------------------------------------------------------------------

 

 

lsdg로 확인

1
2
3
4
5
6
$ asmcmd
ASMCMD> lsdg
State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512             512   4096  4194304     29696    11028                0           11028              0             N  DATA/
MOUNTED  NORMAL  N         512             512   4096  4194304      6144     5108             2048            1530              0             Y  OCRVOTE/
MOUNTED  EXTERN  N         512             512   4096  4194304    101376    86848                0           86848              0             N  RECO/

 

 

v$asm_diskgroup 확인

1
2
3
4
5
6
7
8
9
10
11
12
SQL> select inst_id,name, state from gv$asm_diskgroup;
 
   INST_ID NAME                           STATE
---------- ------------------------------ -----------
         2 DATA                           MOUNTED
         2 OCRVOTE                        MOUNTED
         2 RECO                           MOUNTED
         1 DATA                           MOUNTED
         1 OCRVOTE                        MOUNTED
         1 RECO                           MOUNTED
 
6 rows selected.

 

 

디스크 안쓰는거면 umount(dbf 있는 dg면 db 종료)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#1번노드
# asmcmd umount <OLD_DG_NAME>
ASMCMD> umount RECO
ASMCMD> lsdg
State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512             512   4096  4194304     29696    11028                0           11028              0             N  DATA/
MOUNTED  NORMAL  N         512             512   4096  4194304      6144     5108             2048            1530              0             Y  OCRVOTE/
 
#2번노드
# asmcmd umount <OLD_DG_NAME>
ASMCMD> umount RECO
ASMCMD> lsdg
State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512             512   4096  4194304     29696    11028                0           11028              0             N  DATA/

 

 

v$asm_diskgroup 확인

1
2
3
4
5
6
7
8
9
10
11
12
SQL> select inst_id,name, state from gv$asm_diskgroup;
 
   INST_ID NAME                           STATE
---------- ------------------------------ -----------
         1 RECO                           DISMOUNTED
         1 DATA                           CONNECTED
         1 OCRVOTE                        MOUNTED
         2 RECO                           DISMOUNTED
         2 DATA                           CONNECTED
         2 OCRVOTE                        MOUNTED
 
6 rows selected.

 

 

디스크 그룹 이름 변경(grid 유저로 실행)
예시)$ renamedg phase=both dgname= newdgname= verbose=true

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
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
$ which renamedg
/oracle/app/grid/19c/bin/renamedg
$ renamedg phase=both dgname=RECO newdgname=RECONEW verbose=true
 
Parameters in effect:
 
         Old DG name       : RECO
         New DG name          : RECONEW
         Phases               :
                 Phase 1
                 Phase 2
         Discovery str        : (null)
         Clean              : TRUE
         Raw only           : TRUE
renamedg operation: phase=both dgname=RECO newdgname=RECONEW verbose=true
Executing phase 1
Discovering the group
Performing discovery with string:
Identified disk ASM:ASM Library - Generic Linux, version 2.0.17 (KABI_V2):ORCL:RECO02 with disk number:0 and timestamp (33183368 2133368832)
Checking for hearbeat...
Re-discovering the group
Performing discovery with string:
Identified disk ASM:ASM Library - Generic Linux, version 2.0.17 (KABI_V2):ORCL:RECO02 with disk number:0 and timestamp (33183368 2133368832)
Checking if the diskgroup is mounted or used by CSS
Checking disk number:0
Generating configuration file..
Completed phase 1
Executing phase 2
Looking for ORCL:RECO02
Pre-image dump of header : ORCL:RECO02
kfbh.endian:                          1 ; 0x000: 0x01
 
kfbh.hard:                          130 ; 0x001: 0x82
 
kfbh.type:                            1 ; 0x002: KFBTYP_DISKHEAD
 
kfbh.datfmt:                          1 ; 0x003: 0x01
 
kfbh.block.blk:                       0 ; 0x004: blk=0
 
kfbh.block.obj:              2147483648 ; 0x008: disk=0
 
kfbh.check:                  1919283327 ; 0x00c: 0x7265f07f
 
kfbh.fcn.base:                        0 ; 0x010: 0x00000000
 
kfbh.fcn.wrap:                        0 ; 0x014: 0x00000000
 
kfbh.spare1:                          0 ; 0x018: 0x00000000
 
kfbh.spare2:                          0 ; 0x01c: 0x00000000
 
kfdhdb.driver.provstr:   ORCLDISKRECO02 ; 0x000: length=14
 
kfdhdb.driver.reserved[0]:   1329808722 ; 0x008: 0x4f434552
 
kfdhdb.driver.reserved[1]:        12848 ; 0x00c: 0x00003230
 
kfdhdb.driver.reserved[2]:            0 ; 0x010: 0x00000000
 
kfdhdb.driver.reserved[3]:            0 ; 0x014: 0x00000000
 
kfdhdb.driver.reserved[4]:            0 ; 0x018: 0x00000000
 
kfdhdb.driver.reserved[5]:            0 ; 0x01c: 0x00000000
 
kfdhdb.compat:                318767104 ; 0x020: 0x13000000
 
kfdhdb.dsknum:                        0 ; 0x024: 0x0000
 
kfdhdb.grptyp:                        1 ; 0x026: KFDGTP_EXTERNAL
 
kfdhdb.hdrsts:                        3 ; 0x027: KFDHDR_MEMBER
 
kfdhdb.dskname:               RECO_0000 ; 0x028: length=9
 
kfdhdb.grpname:                    RECO ; 0x048: length=4
 
kfdhdb.fgname:                RECO_0000 ; 0x068: length=9
 
kfdhdb.siteguid[0]:                   0 ; 0x088: 0x00
 
kfdhdb.siteguid[1]:                   0 ; 0x089: 0x00
 
kfdhdb.siteguid[2]:                   0 ; 0x08a: 0x00
 
kfdhdb.siteguid[3]:                   0 ; 0x08b: 0x00
 
kfdhdb.siteguid[4]:                   0 ; 0x08c: 0x00
 
kfdhdb.siteguid[5]:                   0 ; 0x08d: 0x00
 
kfdhdb.siteguid[6]:                   0 ; 0x08e: 0x00
 
kfdhdb.siteguid[7]:                   0 ; 0x08f: 0x00
 
kfdhdb.siteguid[8]:                   0 ; 0x090: 0x00
 
kfdhdb.siteguid[9]:                   0 ; 0x091: 0x00
 
kfdhdb.siteguid[10]:                  0 ; 0x092: 0x00
 
kfdhdb.siteguid[11]:                  0 ; 0x093: 0x00
 
kfdhdb.siteguid[12]:                  0 ; 0x094: 0x00
 
kfdhdb.siteguid[13]:                  0 ; 0x095: 0x00
 
kfdhdb.siteguid[14]:                  0 ; 0x096: 0x00
 
kfdhdb.siteguid[15]:                  0 ; 0x097: 0x00
 
kfdhdb.ub1spare[0]:                   0 ; 0x098: 0x00
 
kfdhdb.ub1spare[1]:                   0 ; 0x099: 0x00
 
kfdhdb.ub1spare[2]:                   0 ; 0x09a: 0x00
 
kfdhdb.ub1spare[3]:                   0 ; 0x09b: 0x00
 
kfdhdb.ub1spare[4]:                   0 ; 0x09c: 0x00
 
kfdhdb.ub1spare[5]:                   0 ; 0x09d: 0x00
 
kfdhdb.ub1spare[6]:                   0 ; 0x09e: 0x00
 
kfdhdb.ub1spare[7]:                   0 ; 0x09f: 0x00
 
kfdhdb.ub1spare[8]:                   0 ; 0x0a0: 0x00
 
kfdhdb.ub1spare[9]:                   0 ; 0x0a1: 0x00
 
kfdhdb.ub1spare[10]:                  0 ; 0x0a2: 0x00
 
kfdhdb.ub1spare[11]:                  0 ; 0x0a3: 0x00
 
kfdhdb.ub1spare[12]:                  0 ; 0x0a4: 0x00
 
kfdhdb.ub1spare[13]:                  0 ; 0x0a5: 0x00
 
kfdhdb.ub1spare[14]:                  0 ; 0x0a6: 0x00
 
kfdhdb.ub1spare[15]:                  0 ; 0x0a7: 0x00
 
kfdhdb.crestmp.hi:             33183368 ; 0x0a8: HOUR=0x8 DAYS=0x14 MNTH=0x5 YEAR=0x7e9
 
kfdhdb.crestmp.lo:           2133368832 ; 0x0ac: USEC=0x0 MSEC=0x228 SECS=0x32 MINS=0x1f
 
kfdhdb.mntstmp.hi:             33189422 ; 0x0b0: HOUR=0xe DAYS=0x11 MNTH=0xb YEAR=0x7e9
 
kfdhdb.mntstmp.lo:            658845696 ; 0x0b4: USEC=0x0 MSEC=0x14c SECS=0x34 MINS=0x9
 
kfdhdb.secsize:                     512 ; 0x0b8: 0x0200
 
kfdhdb.blksize:                    4096 ; 0x0ba: 0x1000
 
kfdhdb.ausize:                  4194304 ; 0x0bc: 0x00400000
 
kfdhdb.mfact:                    454272 ; 0x0c0: 0x0006ee80
 
kfdhdb.dsksize:                   25344 ; 0x0c4: 0x00006300
 
kfdhdb.pmcnt:                         3 ; 0x0c8: 0x00000003
 
kfdhdb.fstlocn:                       1 ; 0x0cc: 0x00000001
 
kfdhdb.altlocn:                       2 ; 0x0d0: 0x00000002
 
kfdhdb.f1b1locn:                     10 ; 0x0d4: 0x0000000a
 
kfdhdb.redomirrors[0]:                0 ; 0x0d8: 0x0000
 
kfdhdb.redomirrors[1]:                0 ; 0x0da: 0x0000
 
kfdhdb.redomirrors[2]:                0 ; 0x0dc: 0x0000
 
kfdhdb.redomirrors[3]:                0 ; 0x0de: 0x0000
 
kfdhdb.dbcompat:              168820736 ; 0x0e0: 0x0a100000
 
kfdhdb.grpstmp.hi:             33183368 ; 0x0e4: HOUR=0x8 DAYS=0x14 MNTH=0x5 YEAR=0x7e9
 
kfdhdb.grpstmp.lo:           2133273600 ; 0x0e8: USEC=0x0 MSEC=0x1cb SECS=0x32 MINS=0x1f
 
kfdhdb.vfstart:                       0 ; 0x0ec: 0x00000000
 
kfdhdb.vfend:                         0 ; 0x0f0: 0x00000000
 
kfdhdb.spfile:                        0 ; 0x0f4: 0x00000000
 
kfdhdb.spfflg:                        0 ; 0x0f8: 0x00000000
 
kfdhdb.flags:                         1 ; 0x0fc: 0x00000001
 
kfdhdb.f1b1fcn.base:                  0 ; 0x100: 0x00000000
 
kfdhdb.f1b1fcn.wrap:                  0 ; 0x104: 0x00000000
 
kfdhdb.ip[0]:                       192 ; 0x108: 0xc0
 
kfdhdb.ip[1]:                       168 ; 0x109: 0xa8
 
kfdhdb.ip[2]:                       137 ; 0x10a: 0x89
 
kfdhdb.ip[3]:                       162 ; 0x10b: 0xa2
 
kfdhdb.modstmp:              1763356192 ; 0x10c: 0x691aae20
 
kfdhdb.checklbl:                      0 ; 0x110: 0x00
 
kfdhdb.verlbl:                        0 ; 0x111: 0x00
 
kfdhdb.ub2spare:                      0 ; 0x112: 0x0000
 
kfdhdb.sitelbl:                         ; 0x114: length=0
 
kfdhdb.fglbl:                           ; 0x124: length=0
 
kfdhdb.vsnnum:                318767104 ; 0x144: 0x13000000
 
kfdhdb.patchvsn:                      0 ; 0x148: 0x0000
 
kfdhdb.operation:                     0 ; 0x14a: 0x0000
 
kfdhdb.xtnd[0]:                       0 ; 0x14c: 0x0000
 
kfdhdb.xtnd[1]:                       0 ; 0x14e: 0x0000
 
kfdhdb.xtnd[2]:                       0 ; 0x150: 0x0000
 
kfdhdb.xtnd[3]:                       0 ; 0x152: 0x0000
 
kfdhdb.xtnd[4]:                       0 ; 0x154: 0x0000
 
kfdhdb.xtnd[5]:                       0 ; 0x156: 0x0000
 
kfdhdb.ub4spare[0]:                   0 ; 0x158: 0x00000000
 
kfdhdb.ub4spare[1]:                   0 ; 0x15c: 0x00000000
 
kfdhdb.ub4spare[2]:                   0 ; 0x160: 0x00000000
 
kfdhdb.ub4spare[3]:                   0 ; 0x164: 0x00000000
 
kfdhdb.ub4spare[4]:                   0 ; 0x168: 0x00000000
 
kfdhdb.ub4spare[5]:                   0 ; 0x16c: 0x00000000
 
kfdhdb.ub4spare[6]:                   0 ; 0x170: 0x00000000
 
kfdhdb.ub4spare[7]:                   0 ; 0x174: 0x00000000
 
kfdhdb.ub4spare[8]:                   0 ; 0x178: 0x00000000
 
kfdhdb.ub4spare[9]:                   0 ; 0x17c: 0x00000000
 
kfdhdb.ub4spare[10]:                  0 ; 0x180: 0x00000000
 
kfdhdb.ub4spare[11]:                  0 ; 0x184: 0x00000000
 
kfdhdb.ub4spare[12]:                  0 ; 0x188: 0x00000000
 
kfdhdb.ub4spare[13]:                  0 ; 0x18c: 0x00000000
 
kfdhdb.ub4spare[14]:                  0 ; 0x190: 0x00000000
 
kfdhdb.ub4spare[15]:                  0 ; 0x194: 0x00000000
 
kfdhdb.ub4spare[16]:                  0 ; 0x198: 0x00000000
 
kfdhdb.ub4spare[17]:                  0 ; 0x19c: 0x00000000
 
kfdhdb.ub4spare[18]:                  0 ; 0x1a0: 0x00000000
 
kfdhdb.ub4spare[19]:                  0 ; 0x1a4: 0x00000000
 
kfdhdb.ub4spare[20]:                  0 ; 0x1a8: 0x00000000
 
kfdhdb.ub4spare[21]:                  0 ; 0x1ac: 0x00000000
 
kfdhdb.ub4spare[22]:                  0 ; 0x1b0: 0x00000000
 
kfdhdb.ub4spare[23]:                  0 ; 0x1b4: 0x00000000
 
kfdhdb.ub4spare[24]:                  0 ; 0x1b8: 0x00000000
 
kfdhdb.ub4spare[25]:                  0 ; 0x1bc: 0x00000000
 
kfdhdb.ub4spare[26]:                  0 ; 0x1c0: 0x00000000
 
kfdhdb.ub4spare[27]:                  0 ; 0x1c4: 0x00000000
 
kfdhdb.ub4spare[28]:                  0 ; 0x1c8: 0x00000000
 
kfdhdb.ub4spare[29]:                  0 ; 0x1cc: 0x00000000
 
kfdhdb.ub4spare[30]:                  0 ; 0x1d0: 0x00000000
 
kfdhdb.acdb.aba.seq:                  0 ; 0x1d4: 0x00000000
 
kfdhdb.acdb.aba.blk:                  0 ; 0x1d8: 0x00000000
 
kfdhdb.acdb.ents:                     0 ; 0x1dc: 0x0000
 
kfdhdb.acdb.ub2spare:                 0 ; 0x1de: 0x0000
 
Modifying the header
Completed phase 2

완료됨

 

 

v$asm_diskgroup 확인

1
2
3
4
5
6
7
8
9
10
11
12
SQL> select inst_id,name, state from gv$asm_diskgroup;
 
   INST_ID NAME                           STATE
---------- ------------------------------ -----------
         1 RECONEW                        DISMOUNTED
         1 DATA                           CONNECTED
         1 OCRVOTE                        MOUNTED
         2 RECONEW                        DISMOUNTED
         2 DATA                           CONNECTED
         2 OCRVOTE                        MOUNTED
 
6 rows selected.

정상적으로 이름이 변경됨

 

 

디스크그룹 mount

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
#1번 노드
$ asmcmd
ASMCMD> lsdg
State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512             512   4096  4194304     29696    11028                0           11028              0             N  DATA/
MOUNTED  NORMAL  N         512             512   4096  4194304      6144     5108             2048            1530              0             Y  OCRVOTE/
ASMCMD> mount RECONEW
ASMCMD> lsdg
State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512             512   4096  4194304     29696    11028                0           11028              0             N  DATA/
MOUNTED  NORMAL  N         512             512   4096  4194304      6144     5108             2048            1530              0             Y  OCRVOTE/
MOUNTED  EXTERN  N         512             512   4096  4194304    101376    86848                0           86848              0             N  RECONEW/
 
#2번 노드
$ asmcmd
ASMCMD> lsdg
State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512             512   4096  4194304     29696    11028                0           11028              0             N  DATA/
MOUNTED  NORMAL  N         512             512   4096  4194304      6144     5108             2048            1530              0             Y  OCRVOTE/
ASMCMD> mount RECONEW
ASMCMD> lsdg
State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512             512   4096  4194304     29696    11028                0           11028              0             N  DATA/
MOUNTED  NORMAL  N         512             512   4096  4194304      6144     5108             2048            1530              0             Y  OCRVOTE/
MOUNTED  EXTERN  N         512             512   4096  4194304    101376    86848                0           86848              0             N  RECONEW/

정상적으로 mount됨

 

 

crsctl 정보 확인

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
$ 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
               OFFLINE OFFLINE      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
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       ora19rac2                STABLE
ora.OCRVOTE.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.RECO.dg(ora.asmgroup)
      1        OFFLINE OFFLINE                               STABLE
      2        OFFLINE OFFLINE                               STABLE
ora.RECONEW.dg(ora.asmgroup) <<---
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                Started,STABLE
      2        ONLINE  ONLINE       ora19rac2                Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.cvu
      1        ONLINE  ONLINE       ora19rac2                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       ora19rac2                STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       ora19rac2                STABLE
--------------------------------------------------------------------------------

 

 

2. db 데이터가 있는 디스크그룹 이름 변경
db 먼저 종료

1
$ srvctl stop database -d ora19db

 

 

1번과 동일하게 변경
lsdg로 확인

1
2
3
4
5
6
$ asmcmd
ASMCMD> lsdg
State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512             512   4096  4194304     29696    11028                0           11028              0             N  DATA/
MOUNTED  NORMAL  N         512             512   4096  4194304      6144     5108             2048            1530              0             Y  OCRVOTE/
MOUNTED  EXTERN  N         512             512   4096  4194304    101376    86848                0           86848              0             N  RECONEW/

 

 

v$asm_diskgroup 확인

1
2
3
4
5
6
7
8
9
10
11
12
SQL> select inst_id,name, state from gv$asm_diskgroup;
 
   INST_ID NAME                           STATE
---------- ------------------------------ -----------
         2 DATA                           MOUNTED
         2 OCRVOTE                        MOUNTED
         2 RECONEW                        MOUNTED
         1 DATA                           MOUNTED
         1 OCRVOTE                        MOUNTED
         1 RECONEW                        MOUNTED
 
6 rows selected.

 

 

디스크 안쓰는거면 umount(dbf 있는 dg면 db 종료)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#1번노드
# asmcmd umount <OLD_DG_NAME>
ASMCMD> umount DATA
ASMCMD> lsdg
State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  NORMAL  N         512             512   4096  4194304      6144     5108             2048            1530              0             Y  OCRVOTE/
MOUNTED  EXTERN  N         512             512   4096  4194304    101376    86848                0           86848              0             N  RECONEW/
 
#2번노드
# asmcmd umount <OLD_DG_NAME>
ASMCMD> umount DATA
ASMCMD> lsdg
State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  NORMAL  N         512             512   4096  4194304      6144     5108             2048            1530              0             Y  OCRVOTE/
MOUNTED  EXTERN  N         512             512   4096  4194304    101376    86848                0           86848              0             N  RECONEW/

 

 

v$asm_diskgroup 확인

1
2
3
4
5
6
7
8
9
10
11
12
SQL> select inst_id,name, state from gv$asm_diskgroup;
 
   INST_ID NAME                           STATE
---------- ------------------------------ -----------
         1 DATA                           DISMOUNTED
         1 OCRVOTE                        MOUNTED
         1 RECONEW                        MOUNTED
         2 DATA                           DISMOUNTED
         2 OCRVOTE                        MOUNTED
         2 RECONEW                        MOUNTED
 
6 rows selected.

 

 

디스크 그룹 이름 변경(grid 유저로 실행)
예시)$ renamedg phase=both dgname= newdgname= verbose=true

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
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
$ which renamedg
/oracle/app/grid/19c/bin/renamedg
$ renamedg phase=both dgname=DATA newdgname=DATANEW verbose=true
 
Parameters in effect:
 
         Old DG name       : DATA
         New DG name          : DATANEW
         Phases               :
                 Phase 1
                 Phase 2
         Discovery str        : (null)
         Clean              : TRUE
         Raw only           : TRUE
renamedg operation: phase=both dgname=DATA newdgname=DATANEW verbose=true
Executing phase 1
Discovering the group
Performing discovery with string:
Identified disk ASM:ASM Library - Generic Linux, version 2.0.17 (KABI_V2):ORCL:DATA01 with disk number:0 and timestamp (33183185 1547902976)
Checking for hearbeat...
Re-discovering the group
Performing discovery with string:
Identified disk ASM:ASM Library - Generic Linux, version 2.0.17 (KABI_V2):ORCL:DATA01 with disk number:0 and timestamp (33183185 1547902976)
Checking if the diskgroup is mounted or used by CSS
Checking disk number:0
Generating configuration file..
Completed phase 1
Executing phase 2
Looking for ORCL:DATA01
Pre-image dump of header : ORCL:DATA01
kfbh.endian:                          1 ; 0x000: 0x01
 
kfbh.hard:                          130 ; 0x001: 0x82
 
kfbh.type:                            1 ; 0x002: KFBTYP_DISKHEAD
 
kfbh.datfmt:                          1 ; 0x003: 0x01
 
kfbh.block.blk:                       0 ; 0x004: blk=0
 
kfbh.block.obj:              2147483648 ; 0x008: disk=0
 
kfbh.check:                  1914258752 ; 0x00c: 0x72194540
 
kfbh.fcn.base:                        0 ; 0x010: 0x00000000
 
kfbh.fcn.wrap:                        0 ; 0x014: 0x00000000
 
kfbh.spare1:                          0 ; 0x018: 0x00000000
 
kfbh.spare2:                          0 ; 0x01c: 0x00000000
 
kfdhdb.driver.provstr:   ORCLDISKDATA01 ; 0x000: length=14
 
kfdhdb.driver.reserved[0]:   1096040772 ; 0x008: 0x41544144
 
kfdhdb.driver.reserved[1]:        12592 ; 0x00c: 0x00003130
 
kfdhdb.driver.reserved[2]:            0 ; 0x010: 0x00000000
 
kfdhdb.driver.reserved[3]:            0 ; 0x014: 0x00000000
 
kfdhdb.driver.reserved[4]:            0 ; 0x018: 0x00000000
 
kfdhdb.driver.reserved[5]:            0 ; 0x01c: 0x00000000
 
kfdhdb.compat:                318767104 ; 0x020: 0x13000000
 
kfdhdb.dsknum:                        0 ; 0x024: 0x0000
 
kfdhdb.grptyp:                        1 ; 0x026: KFDGTP_EXTERNAL
 
kfdhdb.hdrsts:                        3 ; 0x027: KFDHDR_MEMBER
 
kfdhdb.dskname:                  DATA01 ; 0x028: length=6
 
kfdhdb.grpname:                    DATA ; 0x048: length=4
 
kfdhdb.fgname:                   DATA01 ; 0x068: length=6
 
kfdhdb.siteguid[0]:                   0 ; 0x088: 0x00
 
kfdhdb.siteguid[1]:                   0 ; 0x089: 0x00
 
kfdhdb.siteguid[2]:                   0 ; 0x08a: 0x00
 
kfdhdb.siteguid[3]:                   0 ; 0x08b: 0x00
 
kfdhdb.siteguid[4]:                   0 ; 0x08c: 0x00
 
kfdhdb.siteguid[5]:                   0 ; 0x08d: 0x00
 
kfdhdb.siteguid[6]:                   0 ; 0x08e: 0x00
 
kfdhdb.siteguid[7]:                   0 ; 0x08f: 0x00
 
kfdhdb.siteguid[8]:                   0 ; 0x090: 0x00
 
kfdhdb.siteguid[9]:                   0 ; 0x091: 0x00
 
kfdhdb.siteguid[10]:                  0 ; 0x092: 0x00
 
kfdhdb.siteguid[11]:                  0 ; 0x093: 0x00
 
kfdhdb.siteguid[12]:                  0 ; 0x094: 0x00
 
kfdhdb.siteguid[13]:                  0 ; 0x095: 0x00
 
kfdhdb.siteguid[14]:                  0 ; 0x096: 0x00
 
kfdhdb.siteguid[15]:                  0 ; 0x097: 0x00
 
kfdhdb.ub1spare[0]:                   0 ; 0x098: 0x00
 
kfdhdb.ub1spare[1]:                   0 ; 0x099: 0x00
 
kfdhdb.ub1spare[2]:                   0 ; 0x09a: 0x00
 
kfdhdb.ub1spare[3]:                   0 ; 0x09b: 0x00
 
kfdhdb.ub1spare[4]:                   0 ; 0x09c: 0x00
 
kfdhdb.ub1spare[5]:                   0 ; 0x09d: 0x00
 
kfdhdb.ub1spare[6]:                   0 ; 0x09e: 0x00
 
kfdhdb.ub1spare[7]:                   0 ; 0x09f: 0x00
 
kfdhdb.ub1spare[8]:                   0 ; 0x0a0: 0x00
 
kfdhdb.ub1spare[9]:                   0 ; 0x0a1: 0x00
 
kfdhdb.ub1spare[10]:                  0 ; 0x0a2: 0x00
 
kfdhdb.ub1spare[11]:                  0 ; 0x0a3: 0x00
 
kfdhdb.ub1spare[12]:                  0 ; 0x0a4: 0x00
 
kfdhdb.ub1spare[13]:                  0 ; 0x0a5: 0x00
 
kfdhdb.ub1spare[14]:                  0 ; 0x0a6: 0x00
 
kfdhdb.ub1spare[15]:                  0 ; 0x0a7: 0x00
 
kfdhdb.crestmp.hi:             33183185 ; 0x0a8: HOUR=0x11 DAYS=0xe MNTH=0x5 YEAR=0x7e9
 
kfdhdb.crestmp.lo:           1547902976 ; 0x0ac: USEC=0x0 MSEC=0xc8 SECS=0x4 MINS=0x17
 
kfdhdb.mntstmp.hi:             33189422 ; 0x0b0: HOUR=0xe DAYS=0x11 MNTH=0xb YEAR=0x7e9
 
kfdhdb.mntstmp.lo:            657936384 ; 0x0b4: USEC=0x0 MSEC=0x1d4 SECS=0x33 MINS=0x9
 
kfdhdb.secsize:                     512 ; 0x0b8: 0x0200
 
kfdhdb.blksize:                    4096 ; 0x0ba: 0x1000
 
kfdhdb.ausize:                  4194304 ; 0x0bc: 0x00400000
 
kfdhdb.mfact:                    454272 ; 0x0c0: 0x0006ee80
 
kfdhdb.dsksize:                    7424 ; 0x0c4: 0x00001d00
 
kfdhdb.pmcnt:                         3 ; 0x0c8: 0x00000003
 
kfdhdb.fstlocn:                       1 ; 0x0cc: 0x00000001
 
kfdhdb.altlocn:                       2 ; 0x0d0: 0x00000002
 
kfdhdb.f1b1locn:                     10 ; 0x0d4: 0x0000000a
 
kfdhdb.redomirrors[0]:                0 ; 0x0d8: 0x0000
 
kfdhdb.redomirrors[1]:                0 ; 0x0da: 0x0000
 
kfdhdb.redomirrors[2]:                0 ; 0x0dc: 0x0000
 
kfdhdb.redomirrors[3]:                0 ; 0x0de: 0x0000
 
kfdhdb.dbcompat:              168820736 ; 0x0e0: 0x0a100000
 
kfdhdb.grpstmp.hi:             33183185 ; 0x0e4: HOUR=0x11 DAYS=0xe MNTH=0x5 YEAR=0x7e9
 
kfdhdb.grpstmp.lo:           1547830272 ; 0x0e8: USEC=0x0 MSEC=0x81 SECS=0x4 MINS=0x17
 
kfdhdb.vfstart:                       0 ; 0x0ec: 0x00000000
 
kfdhdb.vfend:                         0 ; 0x0f0: 0x00000000
 
kfdhdb.spfile:                        0 ; 0x0f4: 0x00000000
 
kfdhdb.spfflg:                        0 ; 0x0f8: 0x00000000
 
kfdhdb.flags:                         1 ; 0x0fc: 0x00000001
 
kfdhdb.f1b1fcn.base:                  0 ; 0x100: 0x00000000
 
kfdhdb.f1b1fcn.wrap:                  0 ; 0x104: 0x00000000
 
kfdhdb.ip[0]:                       192 ; 0x108: 0xc0
 
kfdhdb.ip[1]:                       168 ; 0x109: 0xa8
 
kfdhdb.ip[2]:                       137 ; 0x10a: 0x89
 
kfdhdb.ip[3]:                       162 ; 0x10b: 0xa2
 
kfdhdb.modstmp:              1763356191 ; 0x10c: 0x691aae1f
 
kfdhdb.checklbl:                      0 ; 0x110: 0x00
 
kfdhdb.verlbl:                        0 ; 0x111: 0x00
 
kfdhdb.ub2spare:                      0 ; 0x112: 0x0000
 
kfdhdb.sitelbl:                         ; 0x114: length=0
 
kfdhdb.fglbl:                           ; 0x124: length=0
 
kfdhdb.vsnnum:                318767104 ; 0x144: 0x13000000
 
kfdhdb.patchvsn:                      0 ; 0x148: 0x0000
 
kfdhdb.operation:                     0 ; 0x14a: 0x0000
 
kfdhdb.xtnd[0]:                       0 ; 0x14c: 0x0000
 
kfdhdb.xtnd[1]:                       0 ; 0x14e: 0x0000
 
kfdhdb.xtnd[2]:                       0 ; 0x150: 0x0000
 
kfdhdb.xtnd[3]:                       0 ; 0x152: 0x0000
 
kfdhdb.xtnd[4]:                       0 ; 0x154: 0x0000
 
kfdhdb.xtnd[5]:                       0 ; 0x156: 0x0000
 
kfdhdb.ub4spare[0]:                   0 ; 0x158: 0x00000000
 
kfdhdb.ub4spare[1]:                   0 ; 0x15c: 0x00000000
 
kfdhdb.ub4spare[2]:                   0 ; 0x160: 0x00000000
 
kfdhdb.ub4spare[3]:                   0 ; 0x164: 0x00000000
 
kfdhdb.ub4spare[4]:                   0 ; 0x168: 0x00000000
 
kfdhdb.ub4spare[5]:                   0 ; 0x16c: 0x00000000
 
kfdhdb.ub4spare[6]:                   0 ; 0x170: 0x00000000
 
kfdhdb.ub4spare[7]:                   0 ; 0x174: 0x00000000
 
kfdhdb.ub4spare[8]:                   0 ; 0x178: 0x00000000
 
kfdhdb.ub4spare[9]:                   0 ; 0x17c: 0x00000000
 
kfdhdb.ub4spare[10]:                  0 ; 0x180: 0x00000000
 
kfdhdb.ub4spare[11]:                  0 ; 0x184: 0x00000000
 
kfdhdb.ub4spare[12]:                  0 ; 0x188: 0x00000000
 
kfdhdb.ub4spare[13]:                  0 ; 0x18c: 0x00000000
 
kfdhdb.ub4spare[14]:                  0 ; 0x190: 0x00000000
 
kfdhdb.ub4spare[15]:                  0 ; 0x194: 0x00000000
 
kfdhdb.ub4spare[16]:                  0 ; 0x198: 0x00000000
 
kfdhdb.ub4spare[17]:                  0 ; 0x19c: 0x00000000
 
kfdhdb.ub4spare[18]:                  0 ; 0x1a0: 0x00000000
 
kfdhdb.ub4spare[19]:                  0 ; 0x1a4: 0x00000000
 
kfdhdb.ub4spare[20]:                  0 ; 0x1a8: 0x00000000
 
kfdhdb.ub4spare[21]:                  0 ; 0x1ac: 0x00000000
 
kfdhdb.ub4spare[22]:                  0 ; 0x1b0: 0x00000000
 
kfdhdb.ub4spare[23]:                  0 ; 0x1b4: 0x00000000
 
kfdhdb.ub4spare[24]:                  0 ; 0x1b8: 0x00000000
 
kfdhdb.ub4spare[25]:                  0 ; 0x1bc: 0x00000000
 
kfdhdb.ub4spare[26]:                  0 ; 0x1c0: 0x00000000
 
kfdhdb.ub4spare[27]:                  0 ; 0x1c4: 0x00000000
 
kfdhdb.ub4spare[28]:                  0 ; 0x1c8: 0x00000000
 
kfdhdb.ub4spare[29]:                  0 ; 0x1cc: 0x00000000
 
kfdhdb.ub4spare[30]:                  0 ; 0x1d0: 0x00000000
 
kfdhdb.acdb.aba.seq:                  0 ; 0x1d4: 0x00000000
 
kfdhdb.acdb.aba.blk:                  0 ; 0x1d8: 0x00000000
 
kfdhdb.acdb.ents:                     0 ; 0x1dc: 0x0000
 
kfdhdb.acdb.ub2spare:                 0 ; 0x1de: 0x0000
 
Modifying the header
Completed phase 2

완료됨

 

 

v$asm_diskgroup 확인

1
2
3
4
5
6
7
8
9
10
11
12
SQL> select inst_id,name, state from gv$asm_diskgroup;
 
   INST_ID NAME                           STATE
---------- ------------------------------ -----------
         1 DATANEW                        DISMOUNTED
         1 OCRVOTE                        MOUNTED
         1 RECONEW                        MOUNTED
         2 DATANEW                        DISMOUNTED
         2 OCRVOTE                        MOUNTED
         2 RECONEW                        MOUNTED
 
6 rows selected.

정상적으로 이름이 변경됨

 

 

디스크그룹 mount

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
#1번 노드
$ asmcmd
ASMCMD> lsdg
State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  NORMAL  N         512             512   4096  4194304      6144     5108             2048            1530              0             Y  OCRVOTE/
MOUNTED  EXTERN  N         512             512   4096  4194304    101376    86848                0           86848              0             N  RECONEW/
ASMCMD> mount DATANEW
ASMCMD> lsdg
State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512             512   4096  4194304     29696    11028                0           11028              0             N  DATANEW/
MOUNTED  NORMAL  N         512             512   4096  4194304      6144     5108             2048            1530              0             Y  OCRVOTE/
MOUNTED  EXTERN  N         512             512   4096  4194304    101376    86848                0           86848              0             N  RECONEW/
 
#2번 노드
$ asmcmd
ASMCMD> lsdg
State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  NORMAL  N         512             512   4096  4194304      6144     5108             2048            1530              0             Y  OCRVOTE/
MOUNTED  EXTERN  N         512             512   4096  4194304    101376    86848                0           86848              0             N  RECONEW/
ASMCMD> mount DATANEW
ASMCMD> lsdg
State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512             512   4096  4194304     29696    11028                0           11028              0             N  DATANEW/
MOUNTED  NORMAL  N         512             512   4096  4194304      6144     5108             2048            1530              0             Y  OCRVOTE/
MOUNTED  EXTERN  N         512             512   4096  4194304    101376    86848                0           86848              0             N  RECONEW/

정상적으로 mount됨

 

 

crsctl 정보 확인

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
$ 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
               OFFLINE OFFLINE      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
ora.DATA.dg(ora.asmgroup)
      1        OFFLINE OFFLINE                               STABLE
      2        OFFLINE OFFLINE                               STABLE
ora.DATANEW.dg(ora.asmgroup) <<--
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       ora19rac2                STABLE
ora.OCRVOTE.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.RECO.dg(ora.asmgroup)
      1        OFFLINE OFFLINE                               STABLE
      2        OFFLINE OFFLINE                               STABLE
ora.RECONEW.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                Started,STABLE
      2        ONLINE  ONLINE       ora19rac2                Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.cvu
      1        ONLINE  ONLINE       ora19rac2                STABLE
ora.ora19db.db
      1        OFFLINE OFFLINE                               Instance Shutdown,ST
                                                             ABLE
      2        OFFLINE OFFLINE                               Instance Shutdown,ST
                                                             ABLE
ora.ora19rac1.vip
      1        ONLINE  ONLINE       ora19rac1                STABLE
ora.ora19rac2.vip
      1        ONLINE  ONLINE       ora19rac2                STABLE
ora.qosmserver
      1        ONLINE  ONLINE       ora19rac2                STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       ora19rac2                STABLE
--------------------------------------------------------------------------------

정상적으로 변경됨

 

 

db 기동

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
$ srvctl start database -d ora19db
PRCR-1079 : Failed to start resource ora.ora19db.db
CRS-5017: The resource action "ora.RECO.dg start" encountered the following error:
ORA-15032: not all alterations performed
ORA-15017: diskgroup "RECO" cannot be mounted
ORA-15040: diskgroup is incomplete
. For details refer to "(:CLSN00107:)" in "/oracle/app/oracle/diag/crs/ora19rac2/crs/trace/crsd_oraagent_oracle.trc".
 
CRS-2674: Start of 'ora.RECO.dg' on 'ora19rac2' failed
CRS-5017: The resource action "ora.DATA.dg start" encountered the following error:
ORA-15032: not all alterations performed
ORA-15017: diskgroup "DATA" cannot be mounted
ORA-15040: diskgroup is incomplete
. For details refer to "(:CLSN00107:)" in "/oracle/app/oracle/diag/crs/ora19rac1/crs/trace/crsd_oraagent_oracle.trc".
 
CRS-2674: Start of 'ora.DATA.dg' on 'ora19rac1' failed
CRS-5017: The resource action "ora.DATA.dg start" encountered the following error:
ORA-15032: not all alterations performed
ORA-15017: diskgroup "DATA" cannot be mounted
ORA-15040: diskgroup is incomplete
. For details refer to "(:CLSN00107:)" in "/oracle/app/oracle/diag/crs/ora19rac2/crs/trace/crsd_oraagent_oracle.trc".
 
CRS-2674: Start of 'ora.DATA.dg' on 'ora19rac2' failed
CRS-5017: The resource action "ora.DATA.dg start" encountered the following error:
ORA-15032: not all alterations performed
ORA-15017: diskgroup "DATA" cannot be mounted
ORA-15040: diskgroup is incomplete
. For details refer to "(:CLSN00107:)" in "/oracle/app/oracle/diag/crs/ora19rac1/crs/trace/crsd_oraagent_oracle.trc".
 
CRS-2674: Start of 'ora.DATA.dg' on 'ora19rac1' failed
CRS-5017: The resource action "ora.DATA.dg start" encountered the following error:
ORA-15032: not all alterations performed
ORA-15017: diskgroup "DATA" cannot be mounted
ORA-15040: diskgroup is incomplete
. For details refer to "(:CLSN00107:)" in "/oracle/app/oracle/diag/crs/ora19rac2/crs/trace/crsd_oraagent_oracle.trc".
 
CRS-2674: Start of 'ora.DATA.dg' on 'ora19rac2' failed
CRS-5017: The resource action "ora.RECO.dg start" encountered the following error:
ORA-15032: not all alterations performed
ORA-15017: diskgroup "RECO" cannot be mounted
ORA-15040: diskgroup is incomplete
. For details refer to "(:CLSN00107:)" in "/oracle/app/oracle/diag/crs/ora19rac1/crs/trace/crsd_oraagent_oracle.trc".
 
CRS-2674: Start of 'ora.RECO.dg' on 'ora19rac1' failed
CRS-5017: The resource action "ora.RECO.dg start" encountered the following error:
ORA-15032: not all alterations performed
ORA-15017: diskgroup "RECO" cannot be mounted
ORA-15040: diskgroup is incomplete
. For details refer to "(:CLSN00107:)" in "/oracle/app/oracle/diag/crs/ora19rac2/crs/trace/crsd_oraagent_oracle.trc".
 
CRS-2674: Start of 'ora.RECO.dg' on 'ora19rac2' failed
CRS-5017: The resource action "ora.ora19db.db start" encountered the following error:
ORA-00205: error in identifying control file, check alert log for more info
. For details refer to "(:CLSN00107:)" in "/oracle/app/oracle/diag/crs/ora19rac2/crs/trace/crsd_oraagent_oracle.trc".
 
CRS-2674: Start of 'ora.ora19db.db' on 'ora19rac2' failed
CRS-2632: There are no more servers to try to place resource 'ora.ora19db.db' on that would satisfy its placement policy
CRS-5017: The resource action "ora.ora19db.db start" encountered the following error:
ORA-00205: error in identifying control file, check alert log for more info
. For details refer to "(:CLSN00107:)" in "/oracle/app/oracle/diag/crs/ora19rac1/crs/trace/crsd_oraagent_oracle.trc".
 
CRS-2674: Start of 'ora.ora19db.db' on 'ora19rac1' failed

에러가 발생함

이유 : db config에 있는 spfile의 경로나 controlfile에 있는 datafile경로들은 +data를 보고있기 떄문에 발생함

 

 

spfile 경로부터 변경

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
$ srvctl config database -d ora19db
Database unique name: ORA19DB
Database name:
Oracle home: /oracle/app/oracle/product/19c
Oracle user: oracle
Spfile: +data/ora19db/parameterfile/spfile.294.1203586513
Password file:
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
$ srvctl modify database -d ORA19DB -p '+datanew/ora19db/parameterfile/spfile.294.1203586513'
$ srvctl config database -d ora19db
Database unique name: ORA19DB
Database name:
Oracle home: /oracle/app/oracle/product/19c
Oracle user: oracle
Spfile: +datanew/ora19db/parameterfile/spfile.294.1203586513
Password file:
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 nomount로 기동

1
2
3
4
5
6
7
8
SQL> startup nomount
ORACLE instance started.
 
Total System Global Area 3137338240 bytes
Fixed Size                  8944512 bytes
Variable Size            1677721600 bytes
Database Buffers         1442840576 bytes
Redo Buffers                7831552 bytes

 

 

컨트롤파일 경로 변경

1
2
3
4
5
6
7
8
9
SQL> show parameter control_files
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_files                        string      +DATA/ORA19DB/CONTROLFILE/current.271.1201188457
 
SQL> alter system set control_files = '+DATANEW/ORA19DB/CONTROLFILE/current.271.1201188457' sid='*' scope=spfile;
 
System altered.

 

 

db mount 모드로 재기동

1
2
3
4
5
6
7
8
9
SQL> startup force mount
ORACLE instance started.
 
Total System Global Area 3137338240 bytes
Fixed Size                  8944512 bytes
Variable Size            1677721600 bytes
Database Buffers         1442840576 bytes
Redo Buffers                7831552 bytes
Database mounted.

 

 

dbf 파일 경로 확인

1
2
3
4
5
6
7
8
9
10
11
12
SQL> 
set lines 200 pages 1000
col name for a50
select file#, name from v$datafile;
 
     FILE# NAME
---------- --------------------------------------------------
         1 +DATA/ORA19DB/DATAFILE/system.274.1201188459
         2 +DATA/ORA19DB/DATAFILE/sysaux.275.1201188461
         3 +DATA/ORA19DB/DATAFILE/undotbs1.276.1201188463
         4 +DATA/ORA19DB/DATAFILE/undotbs2.278.1201188471
         5 +DATA/ORA19DB/DATAFILE/users.279.1201188471

 

 

경로 변경

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
SQL> 
select 'alter database rename file '''||name||''' to '''||REGEXP_REPLACE(name, '^\+DATA/', '+DATANEW/')||''';' cmd
from v$datafile;
 
CMD
------------------------------------------------------------------------------------------------------------------------------------
alter database rename file '+DATA/ORA19DB/DATAFILE/system.274.1201188459' to '+DATANEW/ORA19DB/DATAFILE/system.274.1201188459';
alter database rename file '+DATA/ORA19DB/DATAFILE/sysaux.275.1201188461' to '+DATANEW/ORA19DB/DATAFILE/sysaux.275.1201188461';
alter database rename file '+DATA/ORA19DB/DATAFILE/undotbs1.276.1201188463' to '+DATANEW/ORA19DB/DATAFILE/undotbs1.276.1201188463';
alter database rename file '+DATA/ORA19DB/DATAFILE/undotbs2.278.1201188471' to '+DATANEW/ORA19DB/DATAFILE/undotbs2.278.1201188471';
alter database rename file '+DATA/ORA19DB/DATAFILE/users.279.1201188471' to '+DATANEW/ORA19DB/DATAFILE/users.279.1201188471';
 
SQL> 
select 'alter database rename file '''||name||''' to '''||REGEXP_REPLACE(name, '^\+DATA/', '+DATANEW/')||''';' cmd
from v$tempfile;
 
CMD
-------------------------------------------------------------------------------------------------------------------------------
alter database rename file '+DATA/ORA19DB/TEMPFILE/temp.277.1201188465' to '+DATANEW/ORA19DB/TEMPFILE/temp.277.1201188465';

 

 

위 sql 모두 실행

1
2
3
4
5
6
7
SQL>
alter database rename file '+DATA/ORA19DB/DATAFILE/system.274.1201188459' to '+DATANEW/ORA19DB/DATAFILE/system.274.1201188459';
alter database rename file '+DATA/ORA19DB/DATAFILE/sysaux.275.1201188461' to '+DATANEW/ORA19DB/DATAFILE/sysaux.275.1201188461';
alter database rename file '+DATA/ORA19DB/DATAFILE/undotbs1.276.1201188463' to '+DATANEW/ORA19DB/DATAFILE/undotbs1.276.1201188463';
alter database rename file '+DATA/ORA19DB/DATAFILE/undotbs2.278.1201188471' to '+DATANEW/ORA19DB/DATAFILE/undotbs2.278.1201188471';
alter database rename file '+DATA/ORA19DB/DATAFILE/users.279.1201188471' to '+DATANEW/ORA19DB/DATAFILE/users.279.1201188471';
alter database rename file '+DATA/ORA19DB/TEMPFILE/temp.277.1201188465' to '+DATANEW/ORA19DB/TEMPFILE/temp.277.1201188465';

 

 

dbf 파일 경로 확인

1
2
3
4
5
6
7
8
9
10
11
12
SQL> 
set lines 200 pages 1000
col name for a50
select file#, name from v$datafile;
 
     FILE# NAME
---------- --------------------------------------------------
         1 +DATANEW/ORA19DB/DATAFILE/system.274.1201188459
         2 +DATANEW/ORA19DB/DATAFILE/sysaux.275.1201188461
         3 +DATANEW/ORA19DB/DATAFILE/undotbs1.276.1201188463
         4 +DATANEW/ORA19DB/DATAFILE/undotbs2.278.1201188471
         5 +DATANEW/ORA19DB/DATAFILE/users.279.1201188471

정상적으로 변경됨

 

 

temp 파일 경로 확인

1
2
3
4
5
6
7
8
SQL> 
set lines 200 pages 1000
col name for a50
select file#, name from v$tempfile;
 
     FILE# NAME
---------- --------------------------------------------------
         1 +DATANEW/ORA19DB/TEMPFILE/temp.277.1201188465

정상적으로 변경됨

 

 

리두 경로 확인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SQL>
set lines 200
set pages 1000
col member for a60
select l.group#, member, archived, l.status, (bytes/1024/1024) MB
from v$log l, v$logfile f
where f.group# = l.group#
order by 1;
 
    GROUP# MEMBER                                                       ARC STATUS                   MB
---------- ------------------------------------------------------------ --- ---------------- ----------
         1 +DATA/ORA19DB/ONLINELOG/group_1.272.1201188457               YES INACTIVE                200
         2 +DATA/ORA19DB/ONLINELOG/group_2.273.1201188459               YES INACTIVE                200
         3 +DATA/ORA19DB/ONLINELOG/group_3.280.1201189697               NO  CURRENT                 200
         4 +DATA/ORA19DB/ONLINELOG/group_4.281.1201189697               YES INACTIVE                200

 

 

리두 경로 확인

1
2
3
4
5
6
7
8
9
10
SQL>
select 'alter database rename file '''||member||''' to '''||REGEXP_REPLACE(member, '^\+DATA/', '+DATANEW/')||''';' cmd
from v$logfile;
 
CMD
-------------------------------------------------------------------------------------------------------------------------------------
alter database rename file '+DATA/ORA19DB/ONLINELOG/group_1.272.1201188457' to '+DATANEW/ORA19DB/ONLINELOG/group_1.272.1201188457';
alter database rename file '+DATA/ORA19DB/ONLINELOG/group_2.273.1201188459' to '+DATANEW/ORA19DB/ONLINELOG/group_2.273.1201188459';
alter database rename file '+DATA/ORA19DB/ONLINELOG/group_3.280.1201189697' to '+DATANEW/ORA19DB/ONLINELOG/group_3.280.1201189697';
alter database rename file '+DATA/ORA19DB/ONLINELOG/group_4.281.1201189697' to '+DATANEW/ORA19DB/ONLINELOG/group_4.281.1201189697';

 

 

리두 경로 변경

1
2
3
4
5
SQL>
alter database rename file '+DATA/ORA19DB/ONLINELOG/group_1.272.1201188457' to '+DATANEW/ORA19DB/ONLINELOG/group_1.272.1201188457';
alter database rename file '+DATA/ORA19DB/ONLINELOG/group_2.273.1201188459' to '+DATANEW/ORA19DB/ONLINELOG/group_2.273.1201188459';
alter database rename file '+DATA/ORA19DB/ONLINELOG/group_3.280.1201189697' to '+DATANEW/ORA19DB/ONLINELOG/group_3.280.1201189697';
alter database rename file '+DATA/ORA19DB/ONLINELOG/group_4.281.1201189697' to '+DATANEW/ORA19DB/ONLINELOG/group_4.281.1201189697';

 

 

리두 경로 재확인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SQL>
set lines 200
set pages 1000
col member for a60
select l.group#, member, archived, l.status, (bytes/1024/1024) MB
from v$log l, v$logfile f
where f.group# = l.group#
order by 1;
 
    GROUP# MEMBER                                                       ARC STATUS                   MB
---------- ------------------------------------------------------------ --- ---------------- ----------
         1 +DATANEW/ORA19DB/ONLINELOG/group_1.272.1201188457            YES INACTIVE                200
         2 +DATANEW/ORA19DB/ONLINELOG/group_2.273.1201188459            YES INACTIVE                200
         3 +DATANEW/ORA19DB/ONLINELOG/group_3.280.1201189697            NO  CURRENT                 200
         4 +DATANEW/ORA19DB/ONLINELOG/group_4.281.1201189697            YES INACTIVE                200

정상적으로 변경됨

 

 

db open 상태로 전환

1
2
3
4
5
6
7
SQL> alter database open;
 
Database altered.
 
SQL> select * from v$recover_file;
 
no rows selected

정상적으로 기동됨

 

 

패스워드 파일 경로 변경

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
$ srvctl modify database -d ora19db -pwfile '+DATANEW/ora19db/PASSWORD/pwdora19db.270.1201188441'
$ srvctl config database -d ora19db
Database unique name: ORA19DB
Database name:
Oracle home: /oracle/app/oracle/product/19c
Oracle user: oracle
Spfile: +datanew/ora19db/parameterfile/spfile.294.1203586513
Password file: +DATANEW/ora19db/PASSWORD/pwdora19db.270.1201188441
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools:
Disk Groups: DATA,DATANEW
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

정상적으로 변경됨
하지만 Diskgroup에 DATA가 여전히 남아있음

 

 

asmcmd에서 이전 디스크그룹명 있는지 확인

1
2
3
4
5
$ asmcmd
ASMCMD> ls
DATANEW/
OCRVOTE/
RECONEW/

존재하지 않음

 

 

crsctl 명령으로 이전 디스크그룹 삭제

1
2
3
4
$ crsctl delete res ora.RECO.dg
CRS-4995:  The command 'Delete  resource' is invalid in crsctl. Use srvctl for this command.
$ crsctl delete res ora.RECO.dg -f
CRS-4995:  The command 'Delete  resource' is invalid in crsctl. Use srvctl for this command.

srvctl 명령을 쓰라고 나옴

 

 

srvctl 명령으로 이전 디스크그룹 삭제

1
2
3
4
5
$ srvctl remove diskgroup -g DATA
PRCA-1002 : Failed to remove CRS resource ora.DATA.dg for ASM Disk Group DATA
PRCR-1028 : Failed to remove resource ora.DATA.dg
PRCR-1072 : Failed to unregister resource ora.DATA.dg
CRS-2730: Resource 'ora.ora19db.db' depends on resource 'ora.DATA.dg'

srvctl 명령으로는 지워지지 않음(이미 지워진(이름이 변경된) 디스크그룹이기 때문)

 

 

f옵션 줘서 지워야함

1
2
$ srvctl remove diskgroup -g DATA -f
$ srvctl remove diskgroup -g RECO -f

 

 

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
$ 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
               OFFLINE OFFLINE      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
ora.DATANEW.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       ora19rac2                STABLE
ora.OCRVOTE.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.RECONEW.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                Started,STABLE
      2        ONLINE  ONLINE       ora19rac2                Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.cvu
      1        ONLINE  ONLINE       ora19rac2                STABLE
ora.ora19db.db
      1        ONLINE  ONLINE       ora19rac1                Open,HOME=/oracle/ap
                                                             p/oracle/product/19c
                                                             ,STABLE
      2        ONLINE  OFFLINE                               Dismounted,Mount Ini
                                                             tiated,HOME=/oracle/
                                                             app/oracle/product/1
                                                             9c,STABLE
ora.ora19rac1.vip
      1        ONLINE  ONLINE       ora19rac1                STABLE
ora.ora19rac2.vip
      1        ONLINE  ONLINE       ora19rac2                STABLE
ora.qosmserver
      1        ONLINE  ONLINE       ora19rac2                STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       ora19rac2                STABLE
--------------------------------------------------------------------------------

정상적으로 DATA와 RECO 디스크그룹 리소스가 지워짐

 

 

추가
db 재기동시 startup 시 에러가 발생함

1
2
3
4
5
6
SQL> startup force
ORA-39511: Start of CRS resource for instance '222' failed with error:[CRS-2640: Required resource 'ora.DATA.dg' is missing.
CRS-0222: Resource 'ora.ora19db.db' has dependency error.
clsr_start_resource:260 status:222
clsrapi_start_db:start_asmdbs status:222
]

 

 

srvctl로 기동도 안됨

1
2
3
$ srvctl start database -d ora19db
PRCR-1079 : Failed to start resource ora.ora19db.db
CRS-2640: Required resource 'ora.DATA.dg' is missing.

 

 

db config 확인

1
2
3
4
5
$ srvctl config database -d ora19db
PRCD-1012 : Failed to retrieve disk group list for database ORA19DB.
PRCR-1035 : Failed to look up CRS resource ora.DATA.dg for ORA19DB
PRCA-1000 : ASM Disk Group DATA does not exist
PRCR-1001 : Resource ora.DATA.dg does not exist

DATA 그룹때문에 조회도 안됨

 

 

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
$ srvctl modify database -d ora19db -a "DATANEW","RECONEW"
$ srvctl config database -d ora19db
Database unique name: ORA19DB
Database name:
Oracle home: /oracle/app/oracle/product/19c
Oracle user: oracle
Spfile: +datanew/ora19db/parameterfile/spfile.294.1203586513
Password file: +DATANEW/ora19db/PASSWORD/pwdora19db.270.1201188441
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools:
Disk Groups: DATANEW,RECONEW
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

 

 

다시 기동

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
$ srvctl start database -d ora19db
$ 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
               OFFLINE OFFLINE      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
ora.DATANEW.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       ora19rac2                STABLE
ora.OCRVOTE.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.RECONEW.dg(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                Started,STABLE
      2        ONLINE  ONLINE       ora19rac2                Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       ora19rac1                STABLE
      2        ONLINE  ONLINE       ora19rac2                STABLE
ora.cvu
      1        ONLINE  ONLINE       ora19rac2                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       ora19rac2                STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       ora19rac2                STABLE
--------------------------------------------------------------------------------

정상적으로 기동됨

 

 

결론 :
db 데이터가 없는 디스크그룹 이름을 변경하는것은 큰 문제가 되지 않지만,
db 데이터가 존재하는 디스크그룹 이름을 변경하는것은 수정해야하는 부분이 꽤나 많으므로 작업시 유의해야함
실 작업시 본문 절차를 보고 에러가 나는 부분은 미리 조치를 하게끔 작업계획서를 작성하면 될듯함

 

 

참고로 위 작업 이후 addnode시 ORA-15001: diskgroup "DATA" does not exist or is not mounted 와 같은 메세지가 발생하였음, 이부분도 어딘가에 설정이 있는듯 한데 찾지못함

참고 : https://positivemh.tistory.com/1308

 

 

참조 : 

How To Rename A Diskgroup On ASM 11gR2? (Doc ID 948040.1)
AFD :: Rename a ASM Diskgroup Created By AFD Managed Disks (Doc ID 2467306.1)
Rename Diskgroup having OCR , Vote File , ASM SPILE (Doc ID 1335975.1)
PRCR-1001 : Resource ora.DG_NAME.dg does not exist Error When Running 'srvctl config database' (Doc ID 2424818.1)
https://orakim.tistory.com/entry/ASM-DiskGroup-%EC%82%AD%EC%A0%9C#google_vignette