#Dica - Renomear um ASM disk group



Na dica de hoje, estarei mostrando o processo para renomear um diskgroup. Vale ressaltar que o diskgroup que estarei renomeando ainda não esta sendo utilizado. Caso estivesse em utilização, além de renomear o disk group, seria necessário ajustar os arquivos de banco que estariam contidos nele.

Neste exemplo tenho um disk group chamado RECO e estarei renomeando para DGRECO.


SQL> select NAME,STATE from v$asm_diskgroup;

NAME                           STATE
------------------------------ -----------
RECO                           MOUNTED
DGDATA                         MOUNTED
Para efetuar o processo de rename é preciso primeiramente desmontar o disk group RECO.
[grid@lamimtst:+ASM ~]$ sqlplus

SQL*Plus: Release 12.1.0.2.0 Production on Fri Apr 12 08:43:14 2019

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

Enter user-name: / as sysasm

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Automatic Storage Management option

SQL> alter diskgroup RECO dismount;
alter diskgroup RECO dismount
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15027: active use of diskgroup "RECO" precludes its dismount


SQL> alter diskgroup RECO dismount force;

Diskgroup altered.

SQL> exit
Agora pode ser executado o processo de rename com o usuário grid (utilizado para a instalação do grid). Para isso será usado o comando renamedg, conforme abaixo.
[grid@lamimtst:+ASM ~]$ renamedg dgname=RECO newdgname=DGRECO asm_diskstring='/dev/oracleasm/disks/'

Parsing parameters..
renamedg operation: dgname=RECO newdgname=DGRECO asm_diskstring=/dev/oracleasm/disks/
Executing phase 1
Discovering the group
Checking for hearbeat...
Re-discovering the group
Generating configuration file..
Completed phase 1
Executing phase 2
Completed phase 2
[grid@lamimtst:+ASM ~]$
Apos renomear o DG, basta monta-lo e estará pronto para utilização.
SQL> select NAME,STATE from v$asm_diskgroup;

NAME                           STATE
------------------------------ -----------
DGRECO                         DISMOUNTED
DGDATA                         MOUNTED

SQL> alter diskgroup DGRECO mount;

Diskgroup altered.

SQL> select NAME,STATE from v$asm_diskgroup;

NAME                           STATE
------------------------------ -----------
RECO                           MOUNTED
DGDATA                         MOUNTED

SQL>

Lembrando que se você tiver dados no disco (datafiles, redo, controlfile, spfile) você precisará ajustar no banco de dados.

Comentários