Índice do fórum Treinamentos Avançados Treinamento Oracle Performance Diagnostics & Tuning LogMiner

LogMiner

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

Mensagem Ter Out 09, 2018 8:00 pm

Mensagens: 0
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)

Mensagem Sex Out 12, 2018 12:16 pm
portilho Site Admin

Mensagens: 465
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.

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>

Mensagem Ter Out 16, 2018 3:09 pm

Mensagens: 0
Obrigado Portilho.

Mensagem Ter Out 23, 2018 10:55 am
portilho Site Admin

Mensagens: 465
:-)


Voltar para Treinamento Oracle Performance Diagnostics & Tuning

cron