** Configuração: Oracle Enterprise Edition 11.2.0.4.8ASM standaloneAIX 64 bitsOption - todas as de tuning
** Cenário: Percebi um alto pico de concorrência (wait class) pelo gráfico do Cloud COntrol, resolvi então tirar um AWR no intervalo de 20 minutos aonde se deu o intervalo do problema. No "Top 10 Foreground Events by Total Wait Time" encontrei os 2 eventos mais problemáticos: a - latch: row cache objects (40% DBTIME)b - cursor: pin S wait on X (10% DBTIME) Wait Classes by Total Wait Time a - Concurrency (53% DB TIME) Em TIME MODEL STATISCS verifiquei que: a - parse time elapsed - (55% DBTIME)b - hard parse elapsed time (46% DBTIME)c - sql execute elapsed time (42% DBTIME) BOm, até onde eu sei, analisando alguns pontos do relatório da para perceber que o problema de concorrência está na shared pool e que o está havendo um grande problema de HARD PARSES, fazendo com que o seja mais lento o acesso a shared pool, se estiver errado me corrijam. Portanto, fui nos SQL's ordenados por PARSE para verificar se existe alguma consulta sem BIND, mas não encontrei: Segue os 3 TOPS SQL ordenados por parse. SELECT COUNT(1) FROM XUXA.VW_PROCESSO P WHERE NOT EXISTS (SELECT 1 FROM XUXA.INDICE_PROCESSO_MD IP INNER JOIN XUXA.DOCUMENTO_XX_MD D ON IP.SEQ_DOCUMENTO = D.SEQ_DOCUMENTO WHERE IP.SEQ_PROCESSO_MD = P.SEQ_PROCESSO_MD AND D.IND_EXCLUIDO <> 'S' AND IP.DT_VALIDACAO IS NULL ) AND EXISTS (SELECT 1 FROM XUXA.INDICE_PROCESSO_MD IP INNER JOIN XUXA.DOCUMENTO_XXX_MD D ON IP.SEQ_DOCUMENTO = D.SEQ_DOCUMENTO WHERE IP.SEQ_PROCESSO_MD = P.SEQ_PROCESSO_MD AND D.IND_EXCLUIDO <> 'S' AND IP.DT_VALIDACAO IS NOT NULL ) AND NOT EXISTS (SELECT 1 FROM XUXA.INDICE_PROCESSO_MD IP INNER JOIN XUXA.DOCUMENTO_XXX_MD D ON IP.SEQ_DOCUMENTO = D.SEQ_DOCUMENTO WHERE IP.SEQ_PROCESSO_MD = P.SEQ_PROCESSO_MD AND D.IND_EXCLUIDO <> 'S' AND IP.DT_INDEXACAO IS NULL AND IP.COD_TIPO_PECA = '63' ) AND EXISTS (SELECT 1 FROM XUXA.INDICE_PROCESSO_MD IP INNER JOIN XUXA.DOCUMENTO_XXX_MD D ON IP.SEQ_DOCUMENTO = D.SEQ_DOCUMENTO WHERE IP.SEQ_PROCESSO_MD = P.SEQ_ PROCESSO_MD AND D.IND_EXCLUIDO <> 'S' AND IP.DT_INDEXACAO IS NOT NULL AND IP.COD_TIPO_PECA = '63' ) AND P.COD_ST_PROC = '34' 2 - begin :result := sys.dbms_transaction.local_transaction_id; end; 3 - select condition from cdef$ where rowid=:1 Alguém poderia dar uma idéia do que eu possa fazer para evitar esse tipo de concorrência que está ocorrendo toda semana ? O servidor possui 36GB de memória RAM e está sendo utilizado para o database apenas 12GB. Estava pensando em aumentar razoavelmente o tamanho da memória e deixar um tamanho minímo aceitável para a shared pool. Em relação ao primeiro SQL alguma coisa a ser analisada?