Início > Oracle > Oracle Log Miner

Oracle Log Miner

O Oracle Log Miner permite que você visualize o conteúdo de Archived Logs.

Entre os beneficios do LogMiner temos:
– Localizar um corrupção lógica devido a erros de aplicação
– Determinar que ações devem ser tomadas para executarmos um recover granular da transação
– Otimização de performance e plano de capacitação através da análise de tendencias.
– Pos auditoria.

Checkar antes que o banco de dados esta com a opção supplemental_log_data_min ativada no momento em que os arquivos de REDO foram criados:

SQL> SELECT name, supplemental_log_data_min FROM v$database;

NAME                           SUPPLEME
—————————— ——–
TESTE                          YES

Para habilitar a opção no banco, segue:

SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

Para identificar os archives gerados em uma determinada data, segue:

select NAME, to_char(FIRST_TIME,’dd-mm-yyyy hh24:mi:ss’) FIRST_TIME
from V$ARCHIVED_LOG
where first_time > to_date(’08-11-2011 08:00:00′,’dd-mm-yyyy hh24:mi:ss’)
and first_time < to_date(’10-11-2011 12:00:00′,’dd-mm-yyyy hh24:mi:ss’);

Vamos lá, é bem simples utilizar a dbms, segue:

SQL> execute DBMS_LOGMNR.ADD_LOGFILE(LOGFILENAME => ‘/archives/05_2835_DEV.arc’, OPTIONS => DBMS_LOGMNR.NEW);
execute DBMS_LOGMNR.START_LOGMNR(OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG + DBMS_LOGMNR.COMMITTED_DATA_ONLY);

Para visualizar todas alterações dos Archived Log analisado, segue algumas views:

V$LOGMNR_DICTIONARY – O arquivo de Dicionário de dados em uso.
V$LOGMNR_PARAMETERS – Parametros definidos para o LogMiner.
V$LOGMNR_LOGS – Quais arquivos de log estão sendo analisadas.
V$LOGMNR_CONTENTS – O conteúdo dos arquivos de redo log que estão sendo analisados.

SQL> SELECT OPERATION, SQL_REDO, SQL_UNDO
FROM V$LOGMNR_CONTENTS
WHERE SEG_OWNER = ‘OE’ AND SEG_NAME = ‘ORDERS’ AND
OPERATION = ‘DELETE’ AND USERNAME = ‘HR’;

OPERATION SQL_REDO SQL_UNDO
———- —————————— ——————————-
DELETE delete from “OE”.”ORDERS” insert into “OE”.”ORDERS”
where “ORDER_ID” = ‘2413’ (“ORDER_ID”,”ORDER_MODE”,
and “ORDER_MODE” = ‘direct’ “CUSTOMER_ID”,”ORDER_STATUS”,
and “CUSTOMER_ID” = ‘101’ “ORDER_TOTAL”,”SALES_REP_ID”,
and “ORDER_STATUS” = ‘5’ “PROMOTION_ID”)
and “ORDER_TOTAL” = ‘48552’ values (‘2413′,’direct’,’101′,
and “SALES_REP_ID” = ‘161’ ‘5’,’48552′,’161′,NULL);
and “PROMOTION_ID” IS NULL
and ROWID = ‘AAAHTCAABAAAZAPAAN’;

Para finalizar o Log Miner, segue:

SQL> execute DBMS_LOGMNR.END_LOGMNR;

Espero que ajudem vocês.
Abraço

Categorias:Oracle
  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: