Hoy vamos a ver una entrada muy rapida sobre como renombrar un diskgroup exsistente en ASM.
Lo primero que tenemos que tener en cuenta es que , deberemos de parar todas las bases de datos que esten escribiendo sobre ese diskgroup.
Para nuestro caso hemos creado un grupo llamado WRONG_DATA01
test1.pamplona.name:oracle crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
ONLINE ONLINE test1 STABLE
ora.WRONG_DATA01.dg
OFFLINE OFFLINE test1 STABLE
ora.test1_FRA_01.dg
OFFLINE OFFLINE test1 STABLE
ora.test1_REDO_01.dg
ONLINE OFFLINE test1 STABLE
ora.test1_REDO_02.dg
OFFLINE OFFLINE test1 STABLE
ora.asm
ONLINE OFFLINE test1 Instance Shutdown,STARTING
ora.ons
OFFLINE OFFLINE test1 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
1 ONLINE ONLINE test1 STABLE
ora.diskmon
1 OFFLINE OFFLINE STABLE
ora.evmd
1 ONLINE INTERMEDIATE test1 STABLE
--------------------------------------------------------------------------------
Lo primero y mas logico, es que deberemos de desmontar el dislkgroup a renombrar
test1.pamplona.name:oracle srvctl stop diskgroup -diskgroup WRONG_DATA01
test1.pamplona.name:oracle crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
ONLINE ONLINE test1 STABLE
ora.WRONG_DATA01.dg
OFFLINE OFFLINE test1 STABLE
ora.test1_FRA_01.dg
ONLINE ONLINE test1 STABLE
ora.test1_REDO_01.dg
ONLINE ONLINE test1 STABLE
ora.test1_REDO_02.dg
ONLINE ONLINE test1 STABLE
ora.asm
ONLINE ONLINE test1 Started,STABLE
ora.ons
OFFLINE OFFLINE test1 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
1 ONLINE ONLINE test1 STABLE
ora.diskmon
1 OFFLINE OFFLINE STABLE
ora.evmd
1 ONLINE ONLINE test1 STABLE
--------------------------------------------------------------------------------
Una vez desmontado, procedermos a renombrarlo.
EL renombrado cuenta con dos fases
- Fase 1 : Esta fase solamente genera el fichero de configuracion
- Fase 2 Basandose en la fase uno lleva a cabo el cambio .
Veamos a cabo como se lleva a cabo.
Fase 1
A pesar de ser la fase 1 la llamaremos como phase=both y añadiremos el flag check=true , esto nos asegura que no llevara a cabo cambios en las cabeceras de los discos ASM .
renamedg phase=both dgname=WRONG_DATA01 newdgname=test1_DATA_01 asm_diskstring=’/dev/oracleasm/disks/’ check=true verbose=true
test1.pamplona.name:oracle renamedg phase=both dgname=WRONG_DATA01 newdgname=test1_DATA_01 asm_diskstring='/dev/oracleasm/disks/' check=true verbose=true
Parsing parameters..
Parameters in effect:
Old DG name : WRONG_DATA01
New DG name : test1_DATA_01
Phases :
Phase 1
Phase 2
Discovery str : /dev/oracleasm/disks/
Check : TRUE
Clean : TRUE
Raw only : TRUE
renamedg operation: phase=both dgname=WRONG_DATA01 newdgname=test1_DATA_01 asm_diskstring=/dev/oracleasm/disks/ check=true verbose=true
Executing phase 1
Discovering the group
Performing discovery with string:/dev/oracleasm/disks/
Identified disk UFS:/dev/oracleasm/disks/test1_DATA_01_0001 with disk number:0 and timestamp (33066256 1704307712)
Identified disk UFS:/dev/oracleasm/disks/test1_DATA_01_0002 with disk number:1 and timestamp (33066256 1704307712)
Checking for hearbeat...
Re-discovering the group
Performing discovery with string:/dev/oracleasm/disks/
Identified disk UFS:/dev/oracleasm/disks/test1_DATA_01_0001 with disk number:0 and timestamp (33066256 1704307712)
Identified disk UFS:/dev/oracleasm/disks/test1_DATA_01_0002 with disk number:1 and timestamp (33066256 1704307712)
Checking if the diskgroup is mounted or used by CSS
Checking disk number:0
Checking disk number:1
Generating configuration file..
Completed phase 1
Executing phase 2
Looking for /dev/oracleasm/disks/test1_DATA_01_0001
Leaving the header unchanged
Looking for /dev/oracleasm/disks/test1_DATA_01_0002
Leaving the header unchanged
Completed phase 2
Terminating kgfd context 0x7fb9d6aff0a0
Esta fase nos habra dejado un fichero de configuracion llamado renamedg_config
Fase 2
Este es el comendo que realmente nos llevara a cabo el cambio
renamedg phase=two dgname=WRONG_DATA01 newdgname=test1_DATA_01 asm_diskstring=’/dev/oracleasm/disks/’ verbose=true config=’./renamedg_config’
importanteComo podeis ver es muy sencillo, pero es muy importante tener en cuenta que, este cambio solo se lleva a cabo a nivel de sistema operativo y ASM , no a nivel de ficheros de configuracion o de base de datos, por lo que tendreis que revisar:
- Ubicacion de pfiles y spfiles
- Ubicacion de controlfiles dentro de los ficheros de arranque
- Ubicacion de ficheros de base datos (datafiles,tempfiles, redologs)

