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,










