OS Environment: Oracle Linux 8.7 (64bit)
DB Environment: Oracle Database 19.27.0.0
This article explains how to change the ASM disk group name in Oracle 19c. It covers how to rename both a disk group without DB data (such as DBF files) and a disk group containing DB data. For reference, in the current environment, RAC is configured using the oracleasm library.
Tests
- Renaming a disk group without DB data
- Renaming a disk group with DB data
Test
1. Renaming a disk group without DB data
Check CRS information:
$ 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
--------------------------------------------------------------------------------
Check with lsdg:
$ 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/
Check v$asm_diskgroup:
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.
If the disk is not in use, unmount it (if it’s a DG with DBF files, shut down the DB first):
# Node 1
# asmcmd umount
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/
# Node 2
# asmcmd umount
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/
Check v$asm_diskgroup:
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.
Rename the disk group (Run as the grid user) Example) $ renamedg phase=both dgname=<old_dg_name> newdgname=<new_dg_name> verbose=true
$ 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
Completed.
Check v$asm_diskgroup:
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.
The name was changed normally.
Mount Diskgroup
# Node 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/
# Node 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/
The Diskgroup was mounted normally.
2. Renaming a disk group with DB data
(The remainder of the disk group renaming process with DB data, such as finding file paths, generating dynamic rename scripts, and re-mounting after the rename follows the exact same pattern and commands.)
Check DBF file paths:
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
Change paths:
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';
Execute all the generated SQL commands:
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';
Check DBF file paths:
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
Paths changed normally.
Check temp file paths:
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
Paths changed normally.
Check Redo log paths:
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
Generate commands to rename Redo paths:
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';
Execute Redo path rename commands:
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';
Recheck Redo paths:
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
Paths changed normally.
Switch DB to open state:
SQL> alter database open;
Database altered.
SQL> select * from v$recover_file;
no rows selected
Started normally.
Change password file path:
$ 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
Changed normally.
