Explorando o enigmático mundo Oracle

Monitorando o RMAN

Olá,

Vou passar 2 dicas preciosas para quem trabalha no dia-a-dia com o RMAN, e quer monitorar os processos realizados por ele. Segue as dicas.

1° Dica

A primeira dica é monitorar os processos de servidor (Channels) do RMAN ao efetuar um backup ou recover na instância de destino (TARGET), pois, nunca sabemos se irá demorar ou não para realizar o backup, para acabar com esse problema, existe o SELECT abaixo:

select sid,
         serial#,
         context,
         sofar,
         totalwork,
         round(sofar/totalwork*100,2) "%_complete"
  from
         v$session_longops
  where
         opname like 'RMAN%'
         and opname not like '%aggregate%'
         and totalwork != 0
         and sofar <> totalwork
  SID   SERIAL#   CONTEXT     SOFAR   TOTALWORK %_complete
 ----   -------  --------   ------- ----------- ----------
  312     54367         1    455672     1044904      43,61
  295     58222         1    435192     1076910      40,41

 Para cada canal (channel) alocado no banco de dados para realização da tarefa de backup ou recover, representa uma sessão no resultado acima. Para exemplificar, o script de RMAN utilizado para realizar o backup (de archives), segue abaixo:

RMAN> print script bkp_archives_diario
printing stored script: bkp_archives_diario
{
allocate channel t1 type disk format '/u02/backup/rman/BKP_ARCHIVES_DIARIO_%d_%t_%s.rman';
allocate channel t2 type disk format '/u02/backup/rman/BKP_ARCHIVES_DIARIO_%d_%t_%s.rman';
sql 'alter system checkpoint global';
backup archivelog all tag 'BKP_ARCHIVES_DIARIO';
release channel t2;
release channel t1;
}

Como nosso script acima está usando 2 canais (Channel t1 e Channel t2), será exibido o progresso de cada sessão que é o “%_complete” de cada canal utilizado. Resumindo, com esse simples SELECT feito na instância TARGET, conseguimos monitorar as tarefas básicas do RMAN.

2° Dica

Para acompanhar o status das tarefas realizadas pelo RMAN na sua base target, o SELECT abaixo pode lhe auxiliar, veja:

  select operation as "OPERACAO",
         object_type as "TIPO",
         status,
         output_device_type as "MEDIA",
         to_char(end_time,'DD-MM-RRRR HH24:MI:SS') as "DATA",
         round(MBYTES_PROCESSED/1024,2) as "TAMANHO(MB)"
  from
         v$rman_status
  where
         operation <> 'CATALOG'
         and trunc(end_time)>=trunc(sysdate-1)
  order by
         end_time

O resultado será todas as atividades feitas pelo RMAN que foram registradas pelo catálogo de recuperação, perceba que para cada atividade, a coluna TIPO nos mostra qual atividade foi feita na instância junto com o seu respectivo status. Deste modo conseguimos ter mais controle sobre as operações do RMAN em cada banco de dados gerenciado por ele.

A view v$rman_status fornece mais informações importantes que você poderá adaptar a sua necessidade, as outras opções existente estão abaixo, quando realizo o select abaixo, veja:

select column_name from dba_tab_columns where table_name = 'V_$RMAN_STATUS';
COLUMN_NAME
------------------------------
SID
RECID
STAMP
PARENT_RECID
PARENT_STAMP
SESSION_RECID
SESSION_STAMP
ROW_LEVEL
ROW_TYPE
COMMAND_ID
OPERATION
STATUS
MBYTES_PROCESSED
START_TIME
END_TIME
INPUT_BYTES
OUTPUT_BYTES
OPTIMIZED
OBJECT_TYPE
OUTPUT_DEVICE_TYPE

Espero que essas dicas possa ajudar.

Abraços,

Related Posts Plugin for WordPress, Blogger...
468 ad
PUBLICIDADE