Tiene un grupo de discos ASM que está a punto de llenarse y necesita agregar un nuevo disco a ese grupo de discos. Antes de agregar cualquier disco al grupo de discos, puede realizar algunos pasos de validación para verificar si los discos candidatos están en buenas condiciones y se puede acceder a ellos desde cada nodo (sin dañar los grupos de discos de producción existentes).
Creando el Nuevo disco bajo ASMLib
Cree los nuevos discos ASMLIB utilizando el comando "/etc/init.d/oracleasm createdisk" como usuario raíz del sistema operativo:
# /etc/init.d/oracleasm createdisk NEW_DISK_01 /dev/mapper/mpathbp1
El nombre del disco "NEW_DISK_01" puede ser de su elección y preferiblemente debe indicar el propósito del disco.
Escaneando los nuevos discos de todos los nodos
1. Es importante que los nuevos discos sean visibles desde todos los nodos en caso de que se trate de un entorno RAC. Si tiene ASMLib instalado, puede usar los siguientes comandos para verificar que se pueda acceder a los nuevos discos en cada nodo.
Ejecutar como usuario root
/etc/init.d/oracleasm scandisks
Ejecutar como usuario de cuadrícula
$ /etc/init.d/oracleasm listdisks
2. Ejecute el siguiente comando como usuario de grid en cada uno de los nuevos discos descubiertos desde el comando "listdisks".
$ /etc/init.d/oracleasm querydisk new_disk_01 $ /etc/init.d/oracleasm querydisk new_disk_02 ....
Asegúrese de que todos los discos estén visibles desde todos los nodos en caso de configuración de RAC.
Uso de dd para verificar la visibilidad del sistema operativo de los discos
1. Confirme que los discos estén visibles (E/S) en el nivel del sistema operativo (como usuario de sistema operativo Oracle o Grid) desde cada nodo:
Sintaxis
dd if=[raw/character or block partition device in question] of=/dev/null count=100 bs=8192
Ejemplo:disco sin formato
$ dd if=/dev/mapper/DATA05 of=/dev/null count=100 bs=8192
Ejemplo:dispositivo ASMLIB
dd if=/dev/oracleasm/disks/DATA05 of=/dev/null count=100 bs=8192
Uso de kfed para leer discos
1. Verifique que kfed pueda leer en los discos candidatos a nivel de sistema operativo (como usuario de sistema operativo Oracle o grid) desde cada nodo:
Sintaxis
$ kfed read [raw/character or block partition device in question]
Ejemplo:disco sin formato
$ kfed read /dev/mapper/DATA05
Ejemplo:dispositivo ASMLIB :
$ kfed read /dev/mapper/DATA05Nota :Si el disco no es un disco ANTERIOR, kfed en discos nuevos devolverá:kfbh.type:0; 0x002:KFBTYP_INVALID y eso se espera.
Creación de un grupo de discos temporal
Siempre es una buena práctica crear un grupo de discos temporal utilizando los discos nuevos para verificar que todo funcione bien sin tocar los grupos de discos de producción. En el peor de los casos, el grupo de discos de prueba fallaría, lo cual está bien.
1. Para crear un nuevo grupo de discos, use el siguiente comando.
SQL> CREATE DISKGROUP TEST EXTERNAL REDUNDANCY DISK '[YOUR CANDIDATE DISK]';
2. Compruebe si el grupo de discos está creado y montado:
SQL> SELECT STATE, NAME FROM V$ASM_DISKGROUP;
3. Si no está montado, móntelo manualmente usando el siguiente comando:
SQL> ALTER DISKGROUP TEST MOUNT; SQL> SELECT STATE, NAME FROM V$ASM_DISKGROUP;
Asegúrese de intentar montar el grupo de discos de PRUEBA desde cada instancia de ASM en caso de una configuración RAC.
Descartar el grupo de discos TEST
Si los pasos anteriores tuvieron éxito y el grupo de discos de PRUEBA se puede montar correctamente (en cada instancia de ASM), descarte el grupo de discos de PRUEBA de la siguiente manera.
1. Primero desmonte el grupo de discos de PRUEBA de todas las instancias de ASM excepto una desde donde lo soltará.
SQL> ALTER DISKGROUP TEST DISMOUNT;
2. Ahora, suelte el grupo de discos de PRUEBA de la instancia de ASM donde todavía está montado.
SQL> DROP DISKGROUP TEST;
Agregue el disco al grupo de discos deseado
Finalmente, tras validar rigurosamente los nuevos discos, podemos añadirlos al grupo de discos deseado. Agregue el disco candidato al grupo de discos usando el siguiente comando.
Sintaxis :
SQL> ALTER DISKGROUP [my production diskgroup] ADD DISK '[your candidate disk]';
Por ejemplo :
SQL> ALTER DISKGROUP PROD_DG ADD DISK NEW_DISK_01
El nombre del disco "NEW_DISK_01" se toma del comando donde creamos el disco usando el comando "oracleasm createdisk" al principio de la publicación.