[2025-06-06] ORACLE RAC 환경에서 ASM Disk Group명 변경 (19c)
[실습
환경]
OS
: Oracle Linux Server 7.9 (Linux rdb01d 5.4.17-2102.201.3.el7uek.x86_64)
DB :
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production (Version
19.27.0.0.0)
RAC1 : ol7ora19r1(192.168.0.21) : ORA19R1
RAC2 :
ol7ora19r2(192.168.0.22) : ORA19R2
1. Database
Config 조회
[ORA19R1:oracle@ol7ora19r1][/home/oracle]$ srvctl config database -db
ORA19R
Database unique name: ORA19R
Database name:
Oracle home:
/u01/app/oracle/product/19c/db_1
Oracle user: oracle
Spfile:
+FRA1/ORA19R/PARAMETERFILE/spfile.270.1202820863
Password file:
+DATA1/ORA19R/PASSWORD/orapwora19r
Domain:
Start options: open
Stop
options: immediate
Database role: PRIMARY
Management policy:
AUTOMATIC
Server pools:
Disk Groups: FRA1,DATA1
Mount point
paths:
Services:
Type: RAC
Start concurrency:
Stop
concurrency:
OSDBA group: dba
OSOPER group: oper
Database instances:
ORA19R1,ORA19R2
Configured nodes: ol7ora19r1,ol7ora19r2
CSS critical:
no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network
number for database services:
Database is administrator
managed
2. asm
config 조회
[ORA19R1:oracle@ol7ora19r1][/home/oracle]$ srvctl config
asm
ASM home: <CRS home>
Password file:
+FRA1/orapwasm_backup
Backup of Password file: +FRA1/orapwasm_backup
ASM
listener: LISTENER
ASM instance count: 2
Cluster ASM listener:
ASMNET1LSNR_ASM
3. spfile을
pfile로 생성(파라미터 파일 백업) 및 pfile 수정 (파라미터 내 디스크 그룹명을 바꿀것임)
오라클 DB 인스턴스의 파라미터 파일을 백업 받는 것임
[ORA19R1:oracle@ol7ora19r1][/u01/app/oracle/product/19c/db_1/dbs]$ alias
ss
alias ss='rlwrap sqlplus "/as
sysdba"'
[ORA19R1:oracle@ol7ora19r1][/u01/app/oracle/product/19c/db_1/dbs]$ ss
SQL*Plus: Release 19.0.0.0.0 - Production on Fri Jun 6 17:04:05
2025
Version
19.27.0.0.0
Copyright (c) 1982, 2024, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release
19.0.0.0.0 - Production
Version 19.27.0.0.0
[ol7ora19r1]<SYS@ORA19R1> create pfile= '/u01/app/oracle/product/19c/db_1/dbs/initORA19R1.ora' from spfile;
File created.
Elapsed: 00:00:00.07
[ORA19R1:oracle@ol7ora19r1][/u01/app/oracle/product/19c/db_1/dbs]$ cat
/u01/app/oracle/product/19c/db_1/dbs/initORA19R1.ora
ORA19R1.__data_transfer_cache_size=0
ORA19R2.__data_transfer_cache_size=0
ORA19R1.__db_cache_size=3942645760
ORA19R2.__db_cache_size=4076863488
ORA19R1.__inmemory_ext_roarea=0
ORA19R2.__inmemory_ext_roarea=0
ORA19R1.__inmemory_ext_rwarea=0
ORA19R2.__inmemory_ext_rwarea=0
ORA19R1.__java_pool_size=0
ORA19R2.__java_pool_size=0
ORA19R1.__large_pool_size=16777216
ORA19R2.__large_pool_size=16777216
ORA19R1.__oracle_base='/u01/app/oracle'#ORACLE_BASE
set from environment
ORA19R2.__oracle_base='/u01/app/oracle'#ORACLE_BASE set
from
environment
ORA19R1.__pga_aggregate_target=1728053248
ORA19R2.__pga_aggregate_target=1728053248
ORA19R1.__sga_target=5167382528
ORA19R2.__sga_target=5167382528
ORA19R1.__shared_io_pool_size=134217728
ORA19R2.__shared_io_pool_size=50331648
ORA19R1.__shared_pool_size=1056964608
ORA19R2.__shared_pool_size=1006632960
ORA19R1.__streams_pool_size=0
ORA19R2.__streams_pool_size=0
ORA19R1.__unified_pga_pool_size=0
ORA19R2.__unified_pga_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/ORA19R/adump'
*.audit_trail='db'
*.cluster_database=true
*.compatible='19.0.0'
*.control_files='+DATA1/ORA19R/CONTROLFILE/current.256.1202820017','+FRA1/ORA19R/CONTROLFILE/current.261.1202820017'
*.db_block_size=8192
*.db_create_file_dest='+FRA1'
*.db_create_online_log_dest_1='+DATA1'
*.db_create_online_log_dest_2='+FRA1'
*.db_name='ORA19R'
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP)
(SERVICE=ORA19RXDB)'
family:dw_helper.instance_mode='read-only'
ORA19R1.instance_number=1
ORA19R2.instance_number=2
*.local_listener='-oraagent-dummy-'
*.log_archive_dest_1='LOCATION=+FRA1'
*.log_archive_format='%t_%s_%r.dbf'
*.nls_language='AMERICAN'
*.nls_territory='KOREA'
*.open_cursors=300
*.pga_aggregate_target=1638m
*.processes=1432
*.remote_login_passwordfile='exclusive'
*.sga_target=4915m
ORA19R2.thread=2
ORA19R1.thread=1
ORA19R2.undo_tablespace='UNDOTBS2'
ORA19R1.undo_tablespace='UNDOTBS1'
--> 여기서 DATA1은 DATA1_NEW로, FRA1은 FRA1_NEW로 바꿀것임 시작
[ORA19R1:oracle@ol7ora19r1][/u01/app/oracle/product/19c/db_1/dbs]$ vi /u01/app/oracle/product/19c/db_1/dbs/initORA19R1.ora
--> 여기서 DATA1은 DATA1_NEW로, FRA1은 FRA1_NEW로 바꿀것임 종료
--> 파라미터 파일 pfile 변경 후 확인
[ORA19R1:oracle@ol7ora19r1][/u01/app/oracle/product/19c/db_1/dbs]$ cat
/u01/app/oracle/product/19c/db_1/dbs/initORA19R1.ora | grep -E
'DATA1|FRA1'
*.control_files='+DATA1_NEW/ORA19R/CONTROLFILE/current.256.1202820017','+FRA1_NEW/ORA19R/CONTROLFILE/current.261.1202820017'
*.db_create_file_dest='+FRA1_NEW'
*.db_create_online_log_dest_1='+DATA1_NEW'
*.db_create_online_log_dest_2='+FRA1_NEW'
*.log_archive_dest_1='LOCATION=+FRA1_NEW'
4. db를 내림
[ORA19R1:oracle@ol7ora19r1][/home/oracle]$ srvctl stop database -db ORA19R
--> 자의적으로 내렸으니 다시 crs재기동 시 자동으로 안올라오게됨 (offline)
5. disk group 확인
[ORA19R1:oracle@ol7ora19r1][/home/oracle]$ crsctl stat res
-t
...생략
ora.CRS.dg(ora.asmgroup)
1 ONLINE
ONLINE
ol7ora19r1
STABLE
2 ONLINE
ONLINE
ol7ora19r2
STABLE
ora.DATA1.dg(ora.asmgroup)
1 ONLINE
ONLINE
ol7ora19r1
STABLE
2 ONLINE
ONLINE
ol7ora19r2
STABLE
ora.FRA1.dg(ora.asmgroup)
1 ONLINE
ONLINE
ol7ora19r1
STABLE
2 ONLINE
ONLINE
ol7ora19r2
STABLE
...생략
6. has
disable
[root@ol7ora19r1][/root]$ crsctl disable
has
CRS-4621: Oracle High Availability Services
autostart is disabled.
[root@ol7ora19r2][/root]$ crsctl disable has
CRS-4621: Oracle High Availability
Services autostart is disabled.
--rac1
[+ASM1:grid@ol7ora19r1][/home/grid]$ asmcmd
ASMCMD [+] > umount DATA1
ASMCMD [+] > umount FRA1
--rac2
[+ASM2:grid@ol7ora19r2][/home/grid]$ asmcmd
ASMCMD [+] > umount DATA1
ASMCMD [+] > umount FRA1
--양쪽 노드 모두 crs stop
[root@ol7ora19r1][/root]$ crsctl stop crs
[root@ol7ora19r2][/root]$ crsctl stop
crs
7. disk group의 이름 변경 (한쪽 노드에서만)
--rac1
[root@ol7ora19r1][/root]$ renamedg phase=both dgname=DATA1
newdgname=DATA1_NEW verbose=true
[root@ol7ora19r1][/root]$ renamedg phase=both dgname= FRA1 newdgname=FRA1_NEW verbose=
true
[root@ol7ora19r1][/root]$ crsctl start crs
[root@ol7ora19r1][/root]$ csrt
...
ora.DATA1.dg(ora.asmgroup)
1 ONLINE
OFFLINE
STABLE
2 OFFLINE
OFFLINE
STABLE
ora.FRA1.dg(ora.asmgroup)
1 OFFLINE
OFFLINE
STABLE
2 OFFLINE
OFFLINE
STABLE
...
--> crs 기동 후 확인해보면 디스크 그룹의 이름이 바뀌지 않았음
-- 수동으로 디스크 그룹을 remove 해줌 (DB가 참조하고 있기 때문에 -force 옵션을 줌)
srvctl remove diskgroup -diskgroup DATA1 -force
srvctl remove diskgroup -diskgroup FRA1 -force
[+ASM1:grid@ol7ora19r1][/home/grid]$ kfod
asm_diskstring='/dev/oracleasm/disks/*' disks=all
--------------------------------------------------------------------------------
Disk
Size
Path
User
Group
================================================================================
1: 40959 MB
/dev/oracleasm/disks/ACFS1_1
grid asmadmin
2: 2047 MB
/dev/oracleasm/disks/CRS1
grid asmadmin
3: 2047 MB
/dev/oracleasm/disks/CRS2
grid asmadmin
4: 2047 MB
/dev/oracleasm/disks/CRS3
grid asmadmin
5:
131071 MB
/dev/oracleasm/disks/DATA1_NEW_1
grid asmadmin
6: 40959 MB
/dev/oracleasm/disks/DATA1_NEW_2
grid asmadmin
7: 40959 MB
/dev/oracleasm/disks/DATA1_NEW_3
grid asmadmin
8: 131071 MB
/dev/oracleasm/disks/FRA1_NEW_1
grid
asmadmin
--------------------------------------------------------------------------------
ORACLE_SID
ORACLE_HOME
================================================================================
--> 여기서는 디스크 그룹 명이 바뀐것으로 확인됨
[+ASM1:grid@ol7ora19r1][/home/grid]$ 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 1048576
40959
30608
0
30608
0
N ACFS1/
MOUNTED NORMAL
N
512
512 4096 4194304
6132
5096
2044
1526
0
Y CRS/
--> 아직 마운드 되지
않았음
[+ASM1:grid@ol7ora19r1][/home/grid]$ asmcmd
ASMCMD [+] > mount
DATA1_NEW
ASMCMD [+] > mount FRA1_NEW
--> 마운트 시켜줌
[+ASM1:grid@ol7ora19r1][/home/grid]$
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 1048576
40959
30608
0
30608
0
N ACFS1/
MOUNTED NORMAL
N
512
512 4096 4194304
6132
5096
2044
1526
0
Y CRS/
MOUNTED EXTERN
N
512
512 4096 4194304 212980
206000
0
206000
0
N DATA1_NEW/
MOUNTED EXTERN
N
512
512 4096 4194304 131068
128876
0
128876
0
N FRA1_NEW/
[+ASM1:grid@ol7ora19r1][/home/grid]$ csrt
...
ora.DATA1_NEW.dg(ora.asmgroup)
1 ONLINE
ONLINE
ol7ora19r1
STABLE
2 OFFLINE
OFFLINE
STABLE
ora.FRA1_NEW.dg(ora.asmgroup)
1 ONLINE
ONLINE
ol7ora19r1
STABLE
2 OFFLINE
OFFLINE
STABLE
...
--> crs에서 바뀐 디스크그룹명으로 보이기 시작함
[+ASM1:grid@ol7ora19r1][/home/grid]$ srvctl modify asm -pwfile
+FRA1_NEW/orapwasm
[+ASM1:grid@ol7ora19r1][/home/grid]$
srvctl modify asm -pwfilebackup +FRA1_NEW/orapwasm_backup
[+ASM1:grid@ol7ora19r1][/home/grid]$ srvctl config asm
ASM home: <CRS
home>
Password file: +FRA1_NEW/orapwasm
Backup of Password file:
+FRA1_NEW/orapwasm_backup
ASM listener: LISTENER
ASM instance count:
2
Cluster ASM listener:
ASMNET1LSNR_ASM
ASMCMD [+]
> lspwusr
Username sysdba sysoper
sysasm
SYS TRUE TRUE
TRUE
ASMSNMP
TRUE FALSE FALSE
CRSUSER__ASM_001 TRUE
FALSE TRUE
--> CRSUSER__ASM_001 이 sysdba, sysasm 모두 TRUE인지 확인 (매주 중요!)
--rac2 (여기서 2번 노드를 올림)
[root@ol7ora19r2][/root]$ crsctl start
crs
[root@ol7ora19r2][/root]$ crsctl enable
has
[root@ol7ora19r2][/root]$ csrt
...
ora.DATA1.dg(ora.asmgroup)
1 ONLINE
ONLINE
ol7ora19r1
STABLE
2 OFFLINE
OFFLINE
STABLE
ora.FRA1.dg(ora.asmgroup)
1 ONLINE
ONLINE
ol7ora19r1
STABLE
2 OFFLINE
OFFLINE
STABLE
...
-- 중요! 오라클 DB가 바라보는 diskgroup을 변경함
[ORA19R1:oracle@ol7ora19r1][/u01/app/oracle/product/19c/db_1/dbs]$
srvctl config database -db ora19r
Database unique name:
ORA19R
Database name:
Oracle home:
/u01/app/oracle/product/19c/db_1
Oracle user: oracle
Spfile:
+DATA1/ORA19R/PARAMETERFILE/spfile.275.1208990061
Password file:
+DATA1/ORA19R/PASSWORD/pwdora19r.269.1202941215
Domain:
Start options:
open
Stop options: immediate
Database role: PRIMARY
Management policy:
AUTOMATIC
Server pools:
Disk Groups: DATA1,FRA1
Mount point
paths:
Services:
Type: RAC
Start concurrency:
Stop
concurrency:
OSDBA group: dba
OSOPER group: oper
Database instances:
ORA19R1,ORA19R2
Configured nodes: ol7ora19r1,ol7ora19r2
CSS critical:
no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network
number for database services:
Database is administrator
managed
[ORA19R1:oracle@ol7ora19r1][/u01/app/oracle/product/19c/db_1/dbs]$ srvctl modify database -db ORA19R -spfile +DATA1_NEW/ORA19R/PARAMETERFILE/spfile.275.1208990061
[ORA19R1:oracle@ol7ora19r1][/u01/app/oracle/product/19c/db_1/dbs]$ srvctl modify database -db ORA19R -pwfile +DATA1_NEW/ORA19R/PASSWORD/pwdora19r.269.1202941215
[ORA19R1:oracle@ol7ora19r1][/u01/app/oracle/product/19c/db_1/dbs]$ srvctl modify database -db ORA19R -diskgroup "DATA1_NEW,FRA1_NEW"
[ORA19R1:oracle@ol7ora19r1][/u01/app/oracle/product/19c/db_1/dbs]$
srvctl modify database -db ora19r -startoption OPEN -stopoption
IMMEDIATE
[ORA19R1:oracle@ol7ora19r1][/u01/app/oracle/product/19c/db_1/dbs]$
srvctl config database -db ora19r
Database unique name: ORA19R
Database
name:
Oracle home: /u01/app/oracle/product/19c/db_1
Oracle user:
oracle
Spfile:
+DATA1_NEW/ORA19R/PARAMETERFILE/spfile.275.1208990061
Password file:
+DATA1_NEW/ORA19R/PASSWORD/pwdora19r.269.1202941215
Domain:
Start options:
open
Stop options: immediate
Database role: PRIMARY
Management policy:
AUTOMATIC
Server pools:
Disk Groups: DATA1_NEW,FRA1_NEW
Mount point
paths:
Services:
Type: RAC
Start concurrency:
Stop
concurrency:
OSDBA group: dba
OSOPER group: oper
Database instances:
ORA19R1,ORA19R2
Configured nodes: ol7ora19r1,ol7ora19r2
CSS critical:
no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network
number for database services:
Database is administrator
managed
[현재까지의 상황]
CRS는 RAC1번 2번 모두 기동된 상태고
오라클 인스턴스는 내려가있는 상태임
8. DB를
기동
[ORA19R1:oracle@ol7ora19r1][/home/oracle]$
cdod
[ORA19R1:oracle@ol7ora19r1][/u01/app/oracle/product/19c/db_1/dbs]$ ls
-alrt
total 27460
-rw-r--r--. 1 oracle
oinstall 3079 May 14 2015 init.ora
drwxrwxr-x.
75 oracle oinstall 4096 Jun 3 12:55
..
-rw-r-----. 1 oracle asmadmin 19709952 Jun 3 13:05
snapcf_ORA19R1.f
-rw-r--r--. 1 oracle oinstall
1951 Jun 6 17:14 initORA19R1.ora
-rw-rw----. 1 oracle
asmadmin 1544 Jun 6 17:15
hc_ORA19R1.dat
-rw-r-----. 1 oracle asmadmin 8388608 Jun 6
17:15 id_ORA19R1.dat
drwxr-xr-x. 2 oracle
oinstall 4096 Jun 6 17:15
.
[ORA19R1:oracle@ol7ora19r1][/u01/app/oracle/product/19c/db_1/dbs]$ alias
ss
alias ss='rlwrap sqlplus "/as
sysdba"'
[ORA19R1:oracle@ol7ora19r1][/u01/app/oracle/product/19c/db_1/dbs]$ ss
SQL*Plus: Release 19.0.0.0.0 - Production on Fri Jun 6 18:22:29
2025
Version
19.27.0.0.0
Copyright (c) 1982, 2024, Oracle. All rights reserved.
Connected to an idle instance.
[ol7ora19r1]< SYS@ORA19R1> startup nomount
pfile=
'/u01/app/oracle/product/19c/db_1/dbs/initORA19R1.ora'
ORACLE instance started.
Total System Global Area 5167379008 bytes
Fixed
Size
8950336 bytes
Variable
Size
1073741824 bytes
Database
Buffers 4076863488 bytes
Redo
Buffers
7823360 bytes
[ol7ora19r1]<
SYS@ORA19R1> create spfile='+DATA1_NEW'
from
pfile='/u01/app/oracle/product/19c/db_1/dbs/initORA19R1.ora';
[ORA19R1:oracle@ol7ora19r1][/home/oracle]$
srvctl config database -db ora19r
Database unique name:
ORA19R
Database name:
Oracle home:
/u01/app/oracle/product/19c/db_1
Oracle user: oracle
Spfile:
+DATA1_NEW/ORA19R/PARAMETERFILE/spfile.276.1209052403
Password file:
+DATA1_NEW/ORA19R/PASSWORD/pwdora19r.269.1202941215
Domain:
Start options:
open
Stop options: immediate
Database role: PRIMARY
Management policy:
AUTOMATIC
Server pools:
Disk Groups:
DATA1_NEW,FRA1_NEW
Mount point
paths:
Services:
Type: RAC
Start concurrency:
Stop
concurrency:
OSDBA group: dba
OSOPER group: oper
Database instances:
ORA19R1,ORA19R2
Configured nodes: ol7ora19r1,ol7ora19r2
CSS critical:
no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network
number for database services:
Database is administrator
managed
[ol7ora19r1]< SYS@ORA19R1> alter database mount;
Database altered.
Elapsed: 00:00:05.30
[ol7ora19r1]< SYS@ORA19R1>
col name for a50
select name from
v$datafile;
NAME
--------------------------------------------------
+DATA1/ORA19R/DATAFILE/system.264.1202825797
+DATA1/ORA19R/DATAFILE/sysaux.265.1202825873
+DATA1/ORA19R/DATAFILE/undotbs1.266.1202826029
+DATA1/ORA19R/DATAFILE/undotbs2.267.1202826057
+DATA1/ORA19R/DATAFILE/users.268.1202826071
5 rows selected.
[+ASM2:grid@ol7ora19r2][/home/grid]$
asmcmd ls -sl +DATA1_NEW/ORA19R/DATAFILE
Type Redund
Striped
Time
Sys Block_Size Blocks
Bytes Space Name
DATAFILE
UNPROT COARSE JUN 06 17:00:00
Y 8192 189441
1551900672 1560281088 SYSAUX.265.1202825873
DATAFILE
UNPROT COARSE JUN 06 17:00:00
Y 8192 145921
1195384832 1203765248 SYSTEM.264.1202825797
DATAFILE
UNPROT COARSE JUN 06 17:00:00
Y 8192
105601 865083392 872415232
UNDOTBS1.266.1202826029
DATAFILE UNPROT COARSE JUN 06
17:00:00 Y
8192 9601 78651392
79691776 UNDOTBS2.267.1202826057
DATAFILE UNPROT
COARSE JUN 06 17:00:00
Y
8192 641
5251072 8388608
USERS.268.1202826071
col name for a200
select 'alter database rename file ' || ''''||name||''''
|| ' to ' || ''''||replace(name, '+DATA1', '+DATA1_NEW')||''''||';' as name from
v$datafile;
NAME
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
alter
database rename file '+DATA1/ORA19R/DATAFILE/system.264.1202825797' to
'+DATA1_NEW/ORA19R/DATAFILE/system.264.1202825797';
alter database rename
file '+DATA1/ORA19R/DATAFILE/sysaux.265.1202825873' to
'+DATA1_NEW/ORA19R/DATAFILE/sysaux.265.1202825873';
alter database rename
file '+DATA1/ORA19R/DATAFILE/undotbs1.266.1202826029' to
'+DATA1_NEW/ORA19R/DATAFILE/undotbs1.266.1202826029';
alter database rename
file '+DATA1/ORA19R/DATAFILE/undotbs2.267.1202826057' to
'+DATA1_NEW/ORA19R/DATAFILE/undotbs2.267.1202826057';
alter database rename file
'+DATA1/ORA19R/DATAFILE/users.268.1202826071' to
'+DATA1_NEW/ORA19R/DATAFILE/users.268.1202826071';
--> 이걸 실행 시켜줌 (한줄 한줄 실행 시킬것)
col member for a200
select 'alter database rename file ' ||
''''||member||'''' || ' to ' || ''''||replace(member, '+DATA1',
'+DATA1_NEW')||''''||';' as member from gv$Logfile where member like
'%DATA1%';
MEMBER
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
alter
database rename file '+DATA1/ORA19R/ONLINELOG/group_3.259.1202820019' to
'+DATA1_NEW/ORA19R/ONLINELOG/group_3.259.1202820019';
alter database rename
file '+DATA1/ORA19R/ONLINELOG/group_2.257.1202820019' to
'+DATA1_NEW/ORA19R/ONLINELOG/group_2.257.1202820019';
alter database rename
file '+DATA1/ORA19R/ONLINELOG/group_1.258.1202820019' to
'+DATA1_NEW/ORA19R/ONLINELOG/group_1.258.1202820019';
alter database rename
file '+DATA1/ORA19R/ONLINELOG/group_4.260.1202820853' to
'+DATA1_NEW/ORA19R/ONLINELOG/group_4.260.1202820853';
alter database rename
file '+DATA1/ORA19R/ONLINELOG/group_5.261.1202820855' to
'+DATA1_NEW/ORA19R/ONLINELOG/group_5.261.1202820855';
alter database rename file
'+DATA1/ORA19R/ONLINELOG/group_6.262.1202820857' to
'+DATA1_NEW/ORA19R/ONLINELOG/group_6.262.1202820857';
--> 이걸 실행 시켜줌 (한줄 한줄 실행 시킬것)
col member for a200
select 'alter database rename file ' ||
''''||member||'''' || ' to ' || ''''||replace(member, '+FRA1',
'+FRA1_NEW')||''''||';' as member from gv$Logfile where member like '%FRA1%';
MEMBER
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
alter
database rename file '+FRA1/ORA19R/ONLINELOG/group_3.264.1202820021' to
'+FRA1_NEW/ORA19R/ONLINELOG/group_3.264.1202820021';
alter database rename
file '+FRA1/ORA19R/ONLINELOG/group_2.262.1202820021' to
'+FRA1_NEW/ORA19R/ONLINELOG/group_2.262.1202820021';
alter database rename
file '+FRA1/ORA19R/ONLINELOG/group_1.263.1202820021' to
'+FRA1_NEW/ORA19R/ONLINELOG/group_1.263.1202820021';
alter database rename
file '+FRA1/ORA19R/ONLINELOG/group_4.267.1202820853' to
'+FRA1_NEW/ORA19R/ONLINELOG/group_4.267.1202820853';
alter database rename
file '+FRA1/ORA19R/ONLINELOG/group_5.268.1202820855' to
'+FRA1_NEW/ORA19R/ONLINELOG/group_5.268.1202820855';
alter database rename file
'+FRA1/ORA19R/ONLINELOG/group_6.269.1202820857' to
'+FRA1_NEW/ORA19R/ONLINELOG/group_6.269.1202820857';
--> 이걸 실행 시켜줌 (한줄 한줄 실행 시킬것)
col name for a200
select 'alter database rename file ' ||
''''||name||'''' || ' to ' || ''''||replace(name, '+FRA1',
'+FRA1_NEW')||''''||';' as name from v$tempfile where name like
'%FRA1%';
NAME
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
alter database rename file
'+FRA1/ORA19R/TEMPFILE/temp.265.1202820029' to
'+FRA1_NEW/ORA19R/TEMPFILE/temp.265.1202820029';
--> 이걸 실행 시켜줌
col name for a200
select 'alter database rename file ' || ''''||name||'''' ||
' to ' || ''''||replace(name, '+DATA1', '+DATA1_NEW')||''''||';' as name from
v$tempfile where name like '%DATA1%'; < /FONT> <
/STRONG>
NAME
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
alter
database rename file '+DATA1/ORA19R/TEMPFILE/tuner_temp.273.1203843951' to
'+DATA1_NEW/ORA19R/TEMPFILE/tuner_temp.273.1203843951'; < /STRONG>
< /STRONG>
--> 이걸 실행 시켜줌 (한줄 한줄 실행 시킬것)
--파라미터 파일과 패스워드 파일 확인
[+ASM1:grid@ol7ora19r1][/home/grid]$ asmcmd ls
-sl +DATA1_NEW/ORA19R/PARAMETERFILE
Type
Redund Striped
Time
Sys Block_Size Blocks Bytes Space
Name
PARAMETERFILE UNPROT COARSE JUN 06
18:00:00 Y
512 9 4608 4194304
spfile.270.1203101939 < /STRONG>
[ORA19R1:oracle@ol7ora19r1][/u01/app/oracle/product/19c/db_1/dbs]$
srvctl config database -db ora19r | grep -i spfile
Spfile:
+DATA1_NEW/ORA19R/PARAMETERFILE/spfile.270.1203101939
[+ASM1:grid@ol7ora19r1][/home/grid]$ asmcmd ls
-sl +DATA1_NEW/ORA19R/PASSWORD
Type Redund Striped
Time
Sys Block_Size Blocks Bytes Space
Name
PASSWORD UNPROT COARSE JUN 04 22:00:00
N
512 12
6144 0 orapwora19r =>
+DATA1_NEW/ORA19R/PASSWORD/pwdora19r.269.1202941215
PASSWORD
UNPROT COARSE JUN 04 22:00:00
Y
512 12
6144 0 pwdora19r.269.1202941215
[ORA19R1:oracle@ol7ora19r1][/u01/app/oracle/product/19c/db_1/dbs]$
srvctl config database -db ora19r | grep -i password
Password
file: +DATA1/ORA19R/PASSWORD/orapwora19r
[ORA19R1:oracle@ol7ora19r1][/u01/app/oracle/product/19c/db_1/dbs]$
srvctl config database -db ora19r
Database unique
name: ORA19R
Database name:
Oracle home:
/u01/app/oracle/product/19c/db_1
Oracle user: oracle
Spfile: +DATA1_NEW
/ORA19R/PARAMETERFILE/spfile.270.1203101939
Password file: +DATA1_NEW
/ORA19R/PASSWORD/orapwora19r
Domain:
Start options: open
Stop options:
immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server
pools:
Disk Groups: DATA1_NEW,FRA1_NEW
Mount point
paths:
Services:
Type: RAC
Start concurrency:
Stop
concurrency:
OSDBA group: dba
OSOPER group: oper
Database instances:
ORA19R1,ORA19R2
Configured nodes: ol7ora19r1,ol7ora19r2
CSS critical:
no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network
number for database services:
Database is administrator
managed
[ORA19R1:oracle@ol7ora19r1][/home/oracle]$
csrt
ora.ora19r.db
1 ONLINE INTERMEDIATE
ol7ora19r1
Dismounted,Mount
Ini
tiated,HOME=/u01/app
/oracle/product/19c/
db_1,STABLE
2 OFFLINE
OFFLINE
Instance
Shutdown,ST
ABLE
현재 DB는 아직 마운드 상태임 우선 디비를 내리고 asmdisk명도 바꾼 후 다시 올릴 것임
[ORA19R1:oracle@ol7ora19r1][/home/oracle]$ srvctl stop database -db ORA19R
9. asm disk 이름도 변경 (필수 작업 아님)
[+ASM1:grid@ol7ora19r1][/home/grid]$ sa
SQL*Plus: Release 19.0.0.0.0 - Production on Fri Jun 6 19:34:16
2025
Version 19.27.0.0.0
Copyright (c) 1982, 2024, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release
19.0.0.0.0 - Production
Version 19.27.0.0.0
set pagesize 200
set lines 299
col
disk_name for a19
col path for a78
select a.NAME DISKGROUP_NAME , b.NAME
DISK_NAME , b.path PATH from v$asm_diskgroup A , v$asm_disk b
where
a.group_number=b.group_number and
a.name='&DISKGROUP_NAME';
Enter value for
diskgroup_name: DATA1_NEW
old 2: where
a.group_number=b.group_number and
a.name='&DISKGROUP_NAME'
new 2: where
a.group_number=b.group_number and a.name='DATA1_NEW'
DISKGROUP_NAME
DISK_NAME
PATH
------------------------------------------------------------------------------------------
-------------------
------------------------------------------------------------------------------
DATA1_NEW
DATA1_0001
/dev/oracleasm/disks/DATA1_2
DATA1_NEW
DATA1_0002
/dev/oracleasm/disks/DATA1_3
DATA1_NEW
DATA1_1
/dev/oracleasm/disks/DATA1_1
3 rows selected.
set pagesize 200
set lines 299
col disk_name for a19
col
path for a78
select a.NAME DISKGROUP_NAME , b.NAME DISK_NAME , b.path PATH
from v$asm_diskgroup A , v$asm_disk b where a.group_number=b.group_number and
a.name='&DISKGROUP_NAME';
Enter value for
diskgroup_name: FRA1_NEW
old 2:
where a.group_number=b.group_number and
a.name='&DISKGROUP_NAME'
new 2: where
a.group_number=b.group_number and a.name='FRA1_NEW'
DISKGROUP_NAME
DISK_NAME
PATH
------------------------------------------------------------------------------------------
-------------------
------------------------------------------------------------------------------
FRA1_NEW
FRA1_1
/dev/oracleasm/disks/FRA1_1
1 row selected.
Elapsed: 00:00:00.10
--RAC1번에서!!
[ol7ora19r1]<SYS@+ASM1> alter diskgroup DATA1_NEW dismount;
--RAC2번에서!!
[ol7ora19r2]<SYS@+ASM2> alter diskgroup DATA1_NEW dismount;
[ol7ora19r1]<SYS@+ASM1> alter diskgroup DATA1_NEW mount restricted;
[ol7ora19r1]<SYS@+ASM1> alter
diskgroup DATA1_NEW rename disk 'DATA1_0001' to
'DATA1_NEW_0001';
[ol7ora19r1]<SYS@+ASM1> alter diskgroup DATA1_NEW rename disk 'DATA1_0002' to
'DATA1_NEW_0002';
[ol7ora19r1]<SYS@+ASM1> alter diskgroup DATA1_NEW rename disk 'DATA1_1' to
'DATA1_NEW_1';
--패스워드 파일은 CRS쪽으로 이동 시켜줌
ASMCMD [+] > pwmove --asm
+FRA1_NEW/orapwasm +CRS/orapwasm -f
moving +FRA1_NEW/orapwasm -> +CRS/orapwasm
ASMCMD [+] > pwmove --asm
+FRA1_NEW/orapwasm_backup +CRS/orapwasm_backup
-f
moving
+FRA1_NEW/orapwasm_backup -> +CRS/orapwasm_backup
[+ASM1:grid@ol7ora19r1][/home/grid]$ srvctl
config asm
ASM home: <CRS
home>
Password file: +CRS/orapwasm_backup
Backup of Password file:
+FRA1_NEW/orapwasm_backup
ASM listener: LISTENER
ASM instance count:
2
Cluster ASM listener: ASMNET1LSNR_ASM
--> pwmove로 이동 시켰다고 해서 모든 정보가 crs에 자동으로 갱신되는 것은 아님 (백업 패스워드 경로가 갱신안되어 있음)
-- srvctl 로도 변경해줌
[+ASM1:grid@ol7ora19r1][/home/grid]$ srvctl modify asm -pwfile
+CRS/orapwasm
[+ASM1:grid@ol7ora19r1][/home/grid]$ srvctl modify asm
-pwfilebackup +CRS/orapwasm_backup
[+ASM1:grid@ol7ora19r1][/home/grid]$ srvctl config
asm
ASM home: <CRS home>
Password file:
+CRS/orapwasm
Backup of Password file: +CRS/orapwasm_backup
ASM listener:
LISTENER
ASM instance count: 2
Cluster ASM listener:
ASMNET1LSNR_ASM
--RAC1번에서!!
[ol7ora19r1]<SYS@+ASM1> alter diskgroup FRA1_NEW dismount;
--RAC2번에서!!
[ol7ora19r2]<SYS@+ASM2> alter diskgroup FRA1_NEW dismount;
[ol7ora19r1]<SYS@+ASM1> alter diskgroup FRA1_NEW mount restricted;
[ol7ora19r1]<SYS@+ASM1> alter
diskgroup FRA1_NEW rename disk 'FRA1_1' to 'FRA1_NEW_1';
set pagesize 200
set lines 299
col disk_name for a19
col
path for a78
select a.NAME DISKGROUP_NAME , b.NAME DISK_NAME , b.path PATH
from v$asm_diskgroup A , v$asm_disk b where
a.group_number=b.group_number;
DISKGROUP_NAME
DISK_NAME
PATH
------------------------------------------------------------------------------------------
-------------------
------------------------------------------------------------------------------
ACFS1
ACFS1_1
/dev/oracleasm/disks/ACFS1_1
CRS
CRS_0000
/dev/oracleasm/disks/CRS1
CRS
CRS_0001
/dev/oracleasm/disks/CRS2
CRS
CRS_0002
/dev/oracleasm/disks/CRS3
DATA1_NEW
DATA1_NEW_0001
/dev/oracleasm/disks/DATA1_2
DATA1_NEW
DATA1_NEW_0002
/dev/oracleasm/disks/DATA1_3
DATA1_NEW
DATA1_NEW_1
/dev/oracleasm/disks/DATA1_1
FRA1_NEW
FRA1_NEW_1
/dev/oracleasm/disks/FRA1_1
8 rows selected.
Elapsed: 00:00:00.06
--RAC1번에서 restricted모드로 올렸던 디스크 그룹을 모두 dismount함
[ol7ora19r1]<SYS@+ASM1> alter diskgroup FRA1_NEW dismount;
Diskgroup altered.
Elapsed: 00:00:00.27
[ol7ora19r1]<SYS@+ASM1> alter
diskgroup DATA1_NEW dismount;
Diskgroup altered.
Elapsed: 00:00:00.25
--RAC1번에서 마운트해줌
[ol7ora19r1]<SYS@+ASM1> alter diskgroup FRA1_NEW mount;
Diskgroup altered.
Elapsed: 00:00:06.42
[ol7ora19r1]<SYS@+ASM1> alter diskgroup DATA1_NEW mount;
Diskgroup altered.
Elapsed: 00:00:06.51
--RAC2번에서 마운트해줌
[ol7ora19r2]<SYS@+ASM2> alter diskgroup FRA1_NEW mount;
Diskgroup altered.
Elapsed: 00:00:00.37
[ol7ora19r2]<SYS@+ASM2> alter diskgroup DATA1_NEW mount;
Diskgroup altered.
Elapsed: 00:00:00.34
[root@ol7ora19r1][/root]$ crsctl enable has
CRS-4622: Oracle High
Availability Services autostart is enabled.
[root@ol7ora19r2][/root]$ crsctl enable
has
CRS-4622:
Oracle High Availability Services autostart is
enabled.
10. 최종적으로 DB올림
[ORA19R1:oracle@ol7ora19r1][/home/oracle]$ srvctl start database -db ora19r