Criando diskgroup via asmcmd

Olá galera, outra vez aqui com uma dica super rápida, desta vez vamos ver como criar um novo diskgroup utilizando o asmcmd.

asmcmd

Vamos primeiro listar os discos disponíveis para serem utilizados:

ASMCMD> lsdsk --candidate -p
Group_Num  Disk_Num      Incarn  Mount_Stat  Header_Stat  Mode_Stat  State   Path
        0         0           0  CLOSED      FORMER       ONLINE     NORMAL  AFD:DATA01

O status do disco “AFD:DATA01” é “FORMER”, pois eu já havia o utilizado em outro diskgroup anteriormente e como este diskgroup foi excluído o disco aparece com este status.

Para criar um diskgroup utilizando o asmcmd é necessário gerar um arquivo XML e informar algumas tags.

Vamos ver um exemplo:

<dg name="DATA" redundancy="external">
     <dsk string="AFD:DATA01"/>
     <a name="compatible.asm" value="12.2.0.1.0" />
     <a name="compatible.rdbms" value="12.2.0.1.0" />
     <a name="compatible.advm" value="12.2.0.1.0" />
</dg>

Inclua este conteúdo num arquivo utilizando o “vi”:

[oracle@london2 ~]$ vi dg_data.xml

Acesse o utilitário asmcmd e crie o diskgroup:

[oracle@london2 ~]$ asmcmd
ASMCMD> mkdg dg_data.xml

Se não houver erros no procedimento acima o diskgroup será criado com sucesso.

Vamos verificar:

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     40960     6900                0            6900              0             Y  CONFIG/
MOUNTED  EXTERN  N         512             512   4096  1048576     12288    12234                0           12234              0             N  DATA/

Como podemos ver o diskgroup DATA foi criado com sucesso.

Observe abaixo que ele só está montado na instância 2:

ASMCMD> lsdg -g
Inst_ID  State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
      1  MOUNTED  EXTERN  N         512             512   4096  4194304     40960     6900                0            6900              0             Y  CONFIG/
      2  MOUNTED  EXTERN  N         512             512   4096  4194304     40960     6900                0            6900              0             Y  CONFIG/
      2  MOUNTED  EXTERN  N         512             512   4096  1048576     12288    12234                0           12234              0             N  DATA/

ASMCMD> lsdsk -gp
Inst_ID  Group_Num  Disk_Num      Incarn  Mount_Stat  Header_Stat  Mode_Stat  State   Path
      1          1         1  4042311022  CACHED      MEMBER       ONLINE     NORMAL  AFD:CONFIG01
      2          1         1  4042305785  CACHED      MEMBER       ONLINE     NORMAL  AFD:CONFIG01
      1          1         0  4042311023  CACHED      MEMBER       ONLINE     NORMAL  AFD:CONFIG02
      2          1         0  4042305786  CACHED      MEMBER       ONLINE     NORMAL  AFD:CONFIG02
      1          1         3  4042311024  CACHED      MEMBER       ONLINE     NORMAL  AFD:CONFIG03
      2          1         3  4042305787  CACHED      MEMBER       ONLINE     NORMAL  AFD:CONFIG03
      1          1         2  4042311025  CACHED      MEMBER       ONLINE     NORMAL  AFD:CONFIG04
      2          1         2  4042305788  CACHED      MEMBER       ONLINE     NORMAL  AFD:CONFIG04
      2          2         0  4042305796  CACHED      MEMBER       ONLINE     NORMAL  AFD:DATA01

Vamos então montá-lo remotamente na instância 1:

[oracle@london2 ~]$ srvctl start diskgroup -diskgroup DATA -n london1

Agora verificamos novamente para confirmar:

ASMCMD> lsdg -g
Inst_ID  State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
      1  MOUNTED  EXTERN  N         512             512   4096  4194304     40960     6900                0            6900              0             Y  CONFIG/
      2  MOUNTED  EXTERN  N         512             512   4096  4194304     40960     6900                0            6900              0             Y  CONFIG/
      1  MOUNTED  EXTERN  N         512             512   4096  1048576     12288    12190                0           12190              0             N  DATA/
      2  MOUNTED  EXTERN  N         512             512   4096  1048576     12288    12190                0           12190              0             N  DATA/

ASMCMD> lsdsk -pg
Inst_ID  Group_Num  Disk_Num      Incarn  Mount_Stat  Header_Stat  Mode_Stat  State   Path
      2          1         1  4042305785  CACHED      MEMBER       ONLINE     NORMAL  AFD:CONFIG01
      1          1         1  4042311022  CACHED      MEMBER       ONLINE     NORMAL  AFD:CONFIG01
      2          1         0  4042305786  CACHED      MEMBER       ONLINE     NORMAL  AFD:CONFIG02
      1          1         0  4042311023  CACHED      MEMBER       ONLINE     NORMAL  AFD:CONFIG02
      2          1         3  4042305787  CACHED      MEMBER       ONLINE     NORMAL  AFD:CONFIG03
      1          1         3  4042311024  CACHED      MEMBER       ONLINE     NORMAL  AFD:CONFIG03
      2          1         2  4042305788  CACHED      MEMBER       ONLINE     NORMAL  AFD:CONFIG04
      1          1         2  4042311025  CACHED      MEMBER       ONLINE     NORMAL  AFD:CONFIG04
      2          2         0  4042305796  CACHED      MEMBER       ONLINE     NORMAL  AFD:DATA01
      1          2         0  4042311035  CACHED      MEMBER       ONLINE     NORMAL  AFD:DATA01

Agora sim, tudo certo. Neste momento o diskgroup está pronto para ser utilizado para armazenar um banco de dados em cluster, por exemplo.

É isso aí. Espero que gostem.

Abraços,

Franky