Oracle – ASM – Re-Adicionando um disco expulso do failgroup
Você sofreu alguma desconexão com o storage e o disco foi removido do ASM?
Algum outro fator levou seu disco a sair do Failgroup mas ele continua íntegro?
Veja como re-adicionar este disco no tutorial abaixo!
1 – Verifique o disco em falha:
SELECT
NVL(a.name, '[CANDIDATE]') disk_group_name
, b.path disk_file_path
, b.name disk_file_name
, b.failgroup disk_file_fail_group
FROM
v$asm_diskgroup a RIGHT OUTER JOIN v$asm_disk b USING (group_number)
ORDER BY
2;
DISK_GROUP_NAME DISK_FILE_PATH DISK_FILE_NAME DISK_FILE_FAIL_GROUP
------------------------------ ------------------------------ ------------------------------ ------------------------------
DATA /dev/oracleasm/disks/DATAVOL1 DATA_0002 DATA_0002
DATA /dev/oracleasm/disks/DATAVOL2 DATA_0001 DATA_0001
DATA /dev/oracleasm/disks/DATAVOL3 DATA_0003 DATA_0002
DATA /dev/oracleasm/disks/DATAVOL4 DATA_0004 DATA_0002
[CANDIDATE] /dev/oracleasm/disks/DATAVOL5
DATA /dev/oracleasm/disks/DATAVOL6 DATA_0006 DATA_0001
VOTING /dev/oracleasm/disks/VOTING1 VOTING_0000 VOTING_0000
VOTING /dev/oracleasm/disks/VOTING2 VOTING_0001 VOTING_0001
VOTING /dev/oracleasm/disks/VOTING3 VOTING_0002 VOTING_0002
2 – Rode o seguinte comando no SQL para re-adicionar o disco candidato:
Obs: Antes de executar o comando, verifique se você está adicionando o disco no failgroup correto! Ex: Neste caso é o FAILGROUP DATA_0001!
. oraenv "+ASM1" sqlplus / as sysasm ALTER DISKGROUP DATA ADD FAILGROUP DATA_0001 DISK '/dev/oracleasm/disks/DATAVOL5' NAME DATA_0005 FORCE; Diskgroup altered.
3 – Verifique se o disco foi re-adicionado com sucesso:
SELECT NVL(a.name, '[CANDIDATE]') disk_group_name , b.path disk_file_path , b.name disk_file_name , b.failgroup disk_file_fail_group FROM v$asm_diskgroup a RIGHT OUTER JOIN v$asm_disk b USING (group_number) ORDER BY 2; DISK_GROUP_NAME DISK_FILE_PATH DISK_FILE_NAME DISK_FILE_FAIL_GROUP ------------------------------ ------------------------------ ------------------------------ ------------------------------ DATA /dev/oracleasm/disks/DATAVOL1 DATA_0002 DATA_0002 DATA /dev/oracleasm/disks/DATAVOL2 DATA_0001 DATA_0001 DATA /dev/oracleasm/disks/DATAVOL3 DATA_0003 DATA_0002 DATA /dev/oracleasm/disks/DATAVOL4 DATA_0004 DATA_0002 DATA /dev/oracleasm/disks/DATAVOL5 DATA_0005 DATA_0001 DATA /dev/oracleasm/disks/DATAVOL6 DATA_0006 DATA_0001 VOTING /dev/oracleasm/disks/VOTING1 VOTING_0000 VOTING_0000 VOTING /dev/oracleasm/disks/VOTING2 VOTING_0001 VOTING_0001 VOTING /dev/oracleasm/disks/VOTING3 VOTING_0002 VOTING_0002
4 – Caso você possua muitos dados, o rebalanceamento do ASM pode demorar um pouco… Verifique o status da operação com o comando abaixo:
SQL> SELECT group_number, operation, state, power, est_minutes FROM v$asm_operation; GROUP_NUMBER OPERA STAT POWER EST_MINUTES ------------ ----- ---- ---------- ----------- 1 REBAL RUN 1 64
Pronto! Ao final do processo seu disco será adicionado novamente ao Failgroup indicado!