반응형
■ [2025-06-06] ORACLE RAC 환경 ASM Disk Group명 변경 (19c)

 

[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

 

반응형

+ Recent posts