Vous avez un groupe de disques ASM qui est sur le point d'être plein et vous devez ajouter un nouveau disque à ce groupe de disques. Avant d'ajouter un disque au groupe de disques, vous pouvez effectuer quelques étapes de validation pour vérifier si le ou les disques candidats sont en bon état et accessibles depuis chaque nœud (sans endommager les groupes de disques de production existants).
Création du nouveau disque sous ASMLib
Créez les nouveaux disques ASMLIB à l'aide de la commande "/etc/init.d/oracleasm createdisk" en tant qu'utilisateur racine du système d'exploitation :
# /etc/init.d/oracleasm createdisk NEW_DISK_01 /dev/mapper/mpathbp1
Le nom du disque "NEW_DISK_01" peut être de votre choix et devrait de préférence indiquer le but du disque.
Analyser les nouveaux disques de tous les nœuds
1. Il est important que les nouveaux disques soient visibles depuis tous les nœuds en cas d'environnement RAC. Si ASMLib est installé, vous pouvez utiliser les commandes ci-dessous pour vérifier que les nouveaux disques sont accessibles sur chaque nœud.
Exécuter en tant qu'utilisateur root
/etc/init.d/oracleasm scandisks
Exécuter en tant qu'utilisateur de la grille
$ /etc/init.d/oracleasm listdisks
2. Exécutez la commande ci-dessous en tant qu'utilisateur de grille sur chacun des nouveaux disques découverts à partir de la commande "listdisks".
$ /etc/init.d/oracleasm querydisk new_disk_01 $ /etc/init.d/oracleasm querydisk new_disk_02 ....
Assurez-vous que tous les disques sont visibles depuis tous les nœuds en cas de configuration RAC.
Utiliser dd pour vérifier la visibilité des disques par le système d'exploitation
1. Confirmez que les disques sont visibles (E/S) au niveau du système d'exploitation (en tant qu'utilisateur oracle ou grid OS) à partir de chaque nœud :
Syntaxe
dd if=[raw/character or block partition device in question] of=/dev/null count=100 bs=8192
Exemple :Disque brut
$ dd if=/dev/mapper/DATA05 of=/dev/null count=100 bs=8192
Exemple :périphérique ASMLIB
dd if=/dev/oracleasm/disks/DATA05 of=/dev/null count=100 bs=8192
Utiliser kfed pour lire des disques
1. Vérifiez que kfed peut lire sur le(s) disque(s) candidat(s) au niveau du système d'exploitation (en tant qu'utilisateur du système d'exploitation oracle ou grille) à partir de chaque nœud :
Syntaxe
$ kfed read [raw/character or block partition device in question]
Exemple :Disque brut
$ kfed read /dev/mapper/DATA05
Exemple :appareil ASMLIB :
$ kfed read /dev/mapper/DATA05Remarque :Si le disque n'est pas un ANCIEN disque, alors kfed sur les nouveaux disques renverra :kfbh.type :0; 0x002 : KFBTYP_INVALID et c'est prévu.
Création d'un groupe de disques temporaire
Il est toujours recommandé de créer un groupe de disques temporaire à l'aide du ou des nouveaux disques pour vérifier que tout fonctionne correctement sans toucher aux groupes de disques de production. Dans le pire des cas, le groupe de disques de test échouerait, ce qui est bien.
1. Pour créer un nouveau groupe de disques, utilisez la commande ci-dessous.
SQL> CREATE DISKGROUP TEST EXTERNAL REDUNDANCY DISK '[YOUR CANDIDATE DISK]';
2. Vérifiez si le groupe de disques est créé et monté :
SQL> SELECT STATE, NAME FROM V$ASM_DISKGROUP;
3. S'il n'est pas monté, montez-le manuellement à l'aide de la commande ci-dessous :
SQL> ALTER DISKGROUP TEST MOUNT; SQL> SELECT STATE, NAME FROM V$ASM_DISKGROUP;
Assurez-vous d'essayer de monter le groupe de disques TEST à partir de chaque instance ASM en cas de configuration RAC.
Suppression du groupe de disques TEST
Si les étapes précédentes ont réussi et que le groupe de disques TEST peut être monté avec succès (sur chaque instance ASM), supprimez le groupe de disques TEST comme suit.
1. Commencez par démonter le groupe de disques TEST de toutes les instances ASM, sauf une d'où vous allez le déposer.
SQL> ALTER DISKGROUP TEST DISMOUNT;
2. Maintenant, supprimez le groupe de disques TEST de l'instance ASM où il est toujours monté.
SQL> DROP DISKGROUP TEST;
Ajouter le disque au groupe de disques souhaité
Enfin, après avoir rigoureusement validé les nouveaux disques, nous pouvons les ajouter au groupe de disques souhaité. Ajoutez le disque candidat au groupe de disques à l'aide de la commande ci-dessous.
Syntaxe :
SQL> ALTER DISKGROUP [my production diskgroup] ADD DISK '[your candidate disk]';
Par exemple :
SQL> ALTER DISKGROUP PROD_DG ADD DISK NEW_DISK_01
Le nom du disque "NEW_DISK_01" est tiré de la commande où nous avons créé le disque à l'aide de la commande "oracleasm createdisk" au début de l'article.