Ajout d’un disque dans un disk groupe ASM oracle 11g

Chér(e)s Ami(e)s en oracle

Je tenais à partager avec vous une procédure que j’ai mis en place pour l’ajout d’un disque dans un disque groupe ASM sur un environnement windows 2008.

 

Pré-requis et informations importantes :

Recommandations :

  • L’opération étant coûteuse en I/O, il est vivement recommandé de planifier cette intervention lors d’une période d’activité faible de l’instance (Week-end)

Pré-requis :

  • Le disque physique devant être rattaché à l’ASM doit être visible par le Système d’Exploitation
  • La partition du disque doit être créée mais pas formatée (RAW device)
    • Dans l’utilitaire disk management ->click droit sur le nouveau disque non formaté ->New simple volum -> do not assiggn  adrive letter or drive path -> do not format this volume -> Finish

 

Tâche Préalable

  • Se connecter sur la machine cible
  • Lancer un invité de commande PowerShell
  • PS>asmtoolg

Capture_2

Selection du disk candidat et nommage :

Capture_3 Capture_4

Capture_5

 

  • PS> $env:ORACLE_SID=’+ASM’*
  • PS> sqlplus / as sysasm
SQL> set linesize 600;
SQL> col path format a30;
SQL> SELECT name, header_status, path FROM V$ASM_DISK;

Capture_6

  • Se connecter en tant que SYSASM à l’instance ASM :

Une fois le disque crée, lancer la commande asmtoolg afin de mettre un stamp sur le disque

PS> $env:ORACLE_SID=’+ASM’

PS> sqlplus / as sysasm

SQL> SELECT name, header_status, path FROM V$ASM_DISK;

Capture_7

 

  • Lancer la commande suivante pour vérifier que le nouveau disque est bien visible par ASM (et avec les bons droits) :

PS> kfod disk=all

Capture_9

  • En prévision de l’opération, lancer ASMCMD et sauvegarder les MetaDonnées du diskgroup qui va être modifié :

PS> asmcmd

asmcmd> md_backup <Fichier de sauvegarde> -G <DiskGroup>

Par exemple, pour le DiskGroup MP:

asmcmd> md_backup D:\Oracle\MP_metadatas.txt -G MP

Lancement de l’ajout du disque ASM

  • Lancer la commande SQL suivante et récupérer la valeur du « path » du disque candidat ajouté.
    Le champ « header_status » doit obligatoirement être à la valeur « CANDIDATE » ou « PROVISIONED » pour que le disque puisse être ajouté :
SQL> SELECT name, header_status, path FROM V$ASM_DISK;
  • En utilisant ce PATH, ajouter le disque et nommez-le de manière cohérente par rapport au nommage des disques déjà existants :

SQL> ALTER DISKGROUP MP ADD DISK ‘<PATH>’ NAME ‘<NOM>’;

Par exemple :

SQL> ALTER DISKGROUP MP ADD DISK ‘\\.\ORCLDISKDATA70’ NAME MP_0005;

L’opération va prendre un certain temps (dépendant de la volumétrie), car un rééquilibrage va être exécuté et répartir les données sur l’ensemble des disques du DiskGroup.

Nous pouvons suivre l’avancement de l’opération avec la requête suivante :

SQL> SELECT * FROM V$ASM_OPERATION;
Capture_8

Les champs retournés par la requête permettent d’avoir les informations suivantes :

  • STATE : Etat actuel de l’opération. Il faut que cette opération soit RUN.
  • SOFAR : Nombre d’unités d’allocation traités
  • EST_WORK : Nombre d’unités d’allocation à traiter
  • EST_RATE : Nombre d’unités d’allocation traités par minute
  • EST_MINUTES : Minutes restantes à l’opération pour aboutir

Vérification et validation

Afin de confirmer l’ajout de l’espace dans le DiskGroup, nous pouvons lancer la commande ASMCMD suivante :

PS> $env:ORACLE_SID=’+ASM’

PS> asmcmd

asmcmd> lsdg

SQL>SELECT MOUNT_STATUS,HEADER_STATUS,MODE_STATUS,STATE,TOTAL_MB,FREE_MB,NAME,PATH,LABEL

FROM V$ASM_DISK;

Aussi, une vérification de l’alert log  de l’instance ASM permettra de confirmer qu’aucune erreur n’est intervenue pendant l’opération.

Sur les environnements PROD, nous pouvons trouver le log dans le dossier suivant :

D:\Oracle\product\11.2.0\grid\log\diag\asm\+asm\+asm\trace\alert_+asm.log

OraclementVotre

Post Comment

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *