LogMiner

Dúvidas, dicas e atualizações sobre o Treinamento Oracle Performance Diagnostics & Tuning.
Post Reply
roavbr

LogMiner

Post by roavbr » Tue Oct 09, 2018 5:00 pm

Boa tarde Portilho,

Recentemente a empresa adquiriu o Sap Replication e o mesmo utiliza o LogMiner.
Gostaria de saber se ativação do LogMiner a nível de tabela prejudica a performance da base de dados Oracle 12 rack
Foi ativado nas principais tabelas do sistema e estas sofrem muitas operações dmls.
Minha preocupação é quando temos um cenário critico onde estamos com pico de CPU e esse "log complementar" não vai enfileiras mais processos e onerar ainda mais a base e podendo até derrubar as instancias?

Outro ponto esse log gera um consumo de storage?

Exemplo de ativação de log:
ALTER TABLE producao.acerfpgt ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;

Obrigado,
Robson Avila (Kroton)

portilho
Site Admin
Posts: 482
Joined: Wed May 29, 2013 8:51 am

Re: LogMiner

Post by portilho » Fri Oct 12, 2018 9:16 am

O SUPPLEMENTAL LOG (requisito para o Log Miner) é necessário também para outras ferramentas de replicação, como o Golden Gate.

De acordo com a documentação, "... whenever a column in any database table is changed, the entire row containing that column (except columns for LOBs, LONGs, and ADTs) will be placed in the redo log file".
Fonte: https://docs.oracle.com/database/121/SU ... 19F5FE.htm

Ou seja, mais REDO LOGs (e portanto mais ARCHIVED REDO LOGs) serão gerados durante os UPDATEs. Isto potencialmente causará um impacto de I/O. No teste que eu fiz em uma tabela simples, vi que este impacto não é grande (veja o "redo size" no teste abaixo). Mas meu teste foi em 18c, talvez seja diferente em sua versão.

Code: Select all

09:04:51 RICARDO@OTSQL> CREATE TABLE T AS SELECT * FROM ALL_OBJECTS;

Table created.

Elapsed: 00:00:03.90
09:05:14 RICARDO@OTSQL> UPDATE T SET OBJECT_TYPE = 'NEW' WHERE OBJECT_TYPE = 'TABLE';

1621 rows updated.

Elapsed: 00:00:00.38

Statistics
----------------------------------------------------------
         54  recursive calls
       1686  db block gets
       1328  consistent gets
       1296  physical reads
     449816  redo size
        873  bytes sent via SQL*Net to client
        996  bytes received via SQL*Net from client
          3  SQL*Net roundtrips to/from client
          4  sorts (memory)
          0  sorts (disk)
       1621  rows processed

09:06:02 RICARDO@OTSQL> DROP TABLE T;

Table dropped.

Elapsed: 00:00:00.64
09:06:12 RICARDO@OTSQL> CREATE TABLE T AS SELECT * FROM ALL_OBJECTS;

Table created.

Elapsed: 00:00:03.22
09:06:17 RICARDO@OTSQL> ALTER TABLE T ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;

Table altered.

Elapsed: 00:00:00.09
09:06:23 RICARDO@OTSQL> UPDATE T SET OBJECT_TYPE = 'NEW' WHERE OBJECT_TYPE = 'TABLE';

1621 rows updated.

Elapsed: 00:00:00.05

Statistics
----------------------------------------------------------
         53  recursive calls
       1666  db block gets
       1327  consistent gets
       1275  physical reads
     449932  redo size
        874  bytes sent via SQL*Net to client
        996  bytes received via SQL*Net from client
          3  SQL*Net roundtrips to/from client
          4  sorts (memory)
          0  sorts (disk)
       1621  rows processed

09:06:27 RICARDO@OTSQL>

roavbr

Re: LogMiner

Post by roavbr » Tue Oct 16, 2018 12:09 pm

Obrigado Portilho.

portilho
Site Admin
Posts: 482
Joined: Wed May 29, 2013 8:51 am

Re: LogMiner

Post by portilho » Tue Oct 23, 2018 7:55 am

:-)

Post Reply