Oracle ASM - Adicionando discos a um Diskgroup com ASMLIB
Olá pessoal, nesse artigo vou mostrar como adicionar discos, em um Diskgroup para um banco Oracle RAC de 2 nodes, seja para o diskgroup de DATA, FRA ou RECO, o procedimento será aplicável.
Para iniciar, devemos ter em mãos as informações dos discos disponibilizados pela equipe de Infraestrutura, geralmente a adição no ASM, criação do label do disco, particionamento se necessário e feito pela equipe de infra, mas, já trabalhei em lugares que a responsabilidade por todas as etapas descritas acima fica a cargo do DBA, então dessa forma vou cobrir todos os passos para que o material sirva para todos os casos.
1 - Com as informações do disco, vamos validar se eles tem o tamanho correto, e estão corretamente apresentados no SO, abaixo os discos criados simulando um ambiente real
mpathap (3600c0ff000647f7d4e2f376901000000) dm-21
mpathaq (3600c0ff000647f7d4f2f376901000000) dm-22Nesse exemplo temos o Diskgroup DG_DATA onde vamos adicionar 2 discos de 190G demonstrados acima, dessa forma vamos seguir realizando algumas validações
Disco disponível no SO:
Comando : lsblk | grep <disk name>ls -l /dev/mapper/mpathapls -l /dev/mapper/mpathaq. oraenv ORACLE_SID = [root] ? +ASM1 The Oracle base has been changed from /home/oracle to /u01/app/oracle
[root@ol8-vm1 ~]# oracleasm listdisks[root@ol8-vm1 ~]# for d in $(/usr/sbin/oracleasm listdisks); do dq=$(/usr/sbin/oracleasm querydisk -d $d); dqn=$(echo $dq | cut -d[ -f2 | cut -d] -f1); dq1=$(echo $dqn | cut -d, -f1);
> dq2=$(echo $dqn | cut -d, -f2); dev=$(ls -ld /dev/* | egrep " $dq1, *$dq2 " | awk '{print $NF}'); echo $d $dq $dev; doneset lines 9999
set pages 9999
SET SQLFORMAT
COL NAME HEADING "Disksgroup"
COL TYPE HEADING "Redundancy"
COL TOTAL_GB HEADING "Total GB" FORMAT 999,999,999,999
COL FREE_GB HEADING "Free GB" FORMAT 999,999,999,999
COL PERCFREE HEADING "Free %" FORMAT 999.99
SELECT NAME, TYPE, TOTAL_GB, FREE_GB, ROUND(FREE_GB/TOTAL_GB*100,2) AS PERCFREE
FROM (
SELECT NAME,
TYPE,
( TOTAL_MB / DECODE(TYPE,'HIGH',3,'NORMAL',2,1) ) / 1024 AS TOTAL_GB,
USABLE_FILE_MB/1024 AS FREE_GB
FROM V$ASM_DISKGROUP
);oracleasm createdisk DATA002 /dev/mapper/mpathap
oracleasm createdisk DATA003 /dev/mapper/mpathaq1- ACESSAR TODOS OS NOS E EXECUTAR :
oracleasm scandisks (root)
oracleasm listdisks (root). oraenv : +ASM1
sqlplus / as sysasm
column path format a50
set lines 9999 pages 9999
select path,os_mb,header_Status from v$asm_Disk where header_Status!='MEMBER';alter diskgroup DG_DATA add disk '/dev/oracleasm/disks/DATA002','/dev/oracleasm/disks/DATA003' rebalance power 10;
select INST_ID, OPERATION, STATE, POWER, SOFAR, EST_WORK, EST_RATE, EST_MINUTES from GV$ASM_OPERATION;- Como formatar discos com FDISK no linux
- Como criar, deletar e gerenciar labels com ASMLIB
- Como adicionar discos a um Diskgroup com ASMLIB
- Como adicionar discos a um diskgroup com ASMLIB em ambientes RAC
- Como validar o rebalance de um operação de Adição
Comentários
Postar um comentário