Chiappa, tenho que confessar que sou seu fã.:) Em Terça-feira, 9 de Agosto de 2016 13:54, "jlchia...@yahoo.com.br [oracle_br]" <oracle_br@yahoogrupos.com.br> escreveu:
Tudo jóia ? Bom, vc não diz mas eu vou ** SUPOR ** aqui que vc tem provas Diretas que esse wait é problemático no seu ambinete , ie, vc mediu NÂO SÓ UMA VEZ mas Múltiplas vezes no seu ambiente, usando intervalos de coleta ** CURTOS ** (talvez 15 minutos entre cada coleta, ou até pouco menos), e esse wait tava sempre entre os TOPs e ** SEMPRE ** o percentual dele em relação à lista toda de waits era significativo, ie, tava sempre acima dos 20 e tantos percento, ou coisa assim, ** E ** as suas medições consecutivas SEMPRE mostram que a qtdade desses WAITs tem sempre aumentado entre as medições.... Medir só uma vez, ou medir com um intervalor de HORAS e HORAS entre as coletas OBVIAMENTE não prova Coisa Alguma, né??? Igualmente, desconhecer que as estatísticas de wait são CUMULATIVAS pode te levar a engano, vc vê um número lá grande enorme, se não ver que a DIFERENÇA entre as coletas tá crescendo vc não sabe dizer se esse "acumulado" tão grande é algo ocorrendo no momento ou não... Isso posto, vamos por partes aí : antes de tudo, para enterder o problema, veja na nota metalink 'Resolving Issues of "Library Cache Pin" or "Cursor Pin S wait on X"' (Doc ID 1476663.1) que esse evento mostra o resultado dos mecanismos de proteção ao acesso concorrente às estruturas do library cache/cache de SQLs, então NÂO, por princípio NÂO TEM A VER com alterações de tabelas, estamos falando de processamento de SQL aqui, então a sua resposta para : "...A principio, este evento só poderia ocorrer se a tabela sofresse alguma alteração em modo exclusivo correto ? ..." é NÃO, essa suposição Não Está Correta.... PROVAVELMENTE vc se confundiu aí : esse modo "exclusivo" (X) do evento indica que o LATCH está sendo usado em modo exclusivo, e NÂO A TABELA, ok ?? Via de regra, para que alguém use um latch relacionado a Cursor em modo eXclusivo, isso indica que por qquer motivo OU o SQL em preparo para ser executado não pôde reusar a versão que estava no cache OU o SQL não existia/não foi encontrado no cache.... SQL, e não "tabela" okdoc ?? Adicionalmente, até podem haver Outros processamentos internos no database que causem isso - exemplo típico é o gerenciamento automático de memória, pois (obviamente) resize de memória potencialmente IMPLICA/PODE IMPLICAR em resize de TODAs as estruturas que residem em memória, o que inclui o cache de SQLs/library cache , como indicado na nota metalink "High 'Cursor: Pin S Wait On X', 'Library Cache Lock' And "Latch: Shared Pool" Waits due to Shared Pool/Buffer Cache Resize Activity" (Doc ID 742599.1)... SERÁ que não pode ser algo nesse estilo a sua issue ?? Talvez... A mesma nota indica que até houveram alguns bugs que causavam aumento em processamento interno/resize de memória sob AMM mas em tese eles já deveriam ter sido corrigidos : ok, o software do Exadata não segue ao pé de letra o mesmo agendamento de patches mas bugs tão antigos quanto os indicados na nota em questão já corrigidos no RDBMS já deveriam ter sido portados/corrigidos no software Exadata há muito.... Confira no Suporte Oracle mas não tem muita chance de ser isso, não... Falando em Ações com o Suporte Oracle, o que vc deveria checar são casos mais próximos, como os das notas "High Waits On 'cursor: pin S wait on X' Or 'library cache lock' When Remote Functions Are Called" (Doc ID 1146428.1) e "Cursor Pin S Wait On X High During Select With Parallel" (Doc ID 1915053.1)... ==> EM PARALELO, enquanto vc checa essas possibilidades internas (digamos assim), vc ** VAI ** levantar e descobrir QUEM está causando o wait, ie, QUEM está segurando o latch por muito mais tempo do que devia... Note que eu estou apontando uma ANOMALIA : um SQL que está sendo re-executado PELO CACHE, bonitinho, sem PARSES, sem ESTRUTURAS físicas (como colunas) e/ou estruturas lógicas (como CONSTRAINTs) sendo frequementemente alteradas, deveria obter e liberar esse latch em microsegundos, coisa EXTREMAMENTE Rápida - assim mesmo que hajam " milhares de consultas" às tais tabelas que vc identificou serem muito acessadas, SE ESSES SQLs TODOS estivessem sendo reusados via cache, sem parse, E sem gerenciamento do cache (ie, não há LEAKING de cursores que forcem o RDBMS a ficar limpando entradas no array de cursores, digamos), vc ABSOLUTAMENTE NÂO DEVERIA ver esperas Significativas por esse evento.... Para vc LEVANTAR quem está usando e abusando tanto desse latch, siga os procedimentos da nota "How to Determine the Blocking Session for Event: 'cursor: pin S wait on X' " (Doc ID 786507.1) - basicamente consultar na V$SESSION (GV$SESSION no seu caso já que vc está em RAC) pelas colunas de P1/P2/P3 quem é o "bloqueador" (não gosto de falar em bloqueador/bloqueado quando discutimos LATCH, tecnicamente isso não é correto mas enfim) e pelo SQL_ID ver quem é o SQL tanto no "bloqueado" quano no "bloqueador", e depois tentar obter pela (G)V$SQL as estats de execução desses SQLs, ao Rowid em veja que... Outro caminho ** muito possível ** , já que estamos falando de latch controlado por default via MUTEXes no 11g em diante, é usar a GV$MUTEX_SLEEP_HISTORY , mais ou menos cfrme http://oracledbascriptsfromajith.blogspot.com.br/2015/09/oracle-cursor-pin-s-wait-on-x-wait-event.html mostra... []s Chiappa #yiv2539423796 #yiv2539423796 -- #yiv2539423796ygrp-mkp {border:1px solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv2539423796 #yiv2539423796ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv2539423796 #yiv2539423796ygrp-mkp #yiv2539423796hd {color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 0;}#yiv2539423796 #yiv2539423796ygrp-mkp #yiv2539423796ads {margin-bottom:10px;}#yiv2539423796 #yiv2539423796ygrp-mkp .yiv2539423796ad {padding:0 0;}#yiv2539423796 #yiv2539423796ygrp-mkp .yiv2539423796ad p {margin:0;}#yiv2539423796 #yiv2539423796ygrp-mkp .yiv2539423796ad a {color:#0000ff;text-decoration:none;}#yiv2539423796 #yiv2539423796ygrp-sponsor #yiv2539423796ygrp-lc {font-family:Arial;}#yiv2539423796 #yiv2539423796ygrp-sponsor #yiv2539423796ygrp-lc #yiv2539423796hd {margin:10px 0px;font-weight:700;font-size:78%;line-height:122%;}#yiv2539423796 #yiv2539423796ygrp-sponsor #yiv2539423796ygrp-lc .yiv2539423796ad {margin-bottom:10px;padding:0 0;}#yiv2539423796 #yiv2539423796actions {font-family:Verdana;font-size:11px;padding:10px 0;}#yiv2539423796 #yiv2539423796activity {background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv2539423796 #yiv2539423796activity span {font-weight:700;}#yiv2539423796 #yiv2539423796activity span:first-child {text-transform:uppercase;}#yiv2539423796 #yiv2539423796activity span a {color:#5085b6;text-decoration:none;}#yiv2539423796 #yiv2539423796activity span span {color:#ff7900;}#yiv2539423796 #yiv2539423796activity span .yiv2539423796underline {text-decoration:underline;}#yiv2539423796 .yiv2539423796attach {clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 0;width:400px;}#yiv2539423796 .yiv2539423796attach div a {text-decoration:none;}#yiv2539423796 .yiv2539423796attach img {border:none;padding-right:5px;}#yiv2539423796 .yiv2539423796attach label {display:block;margin-bottom:5px;}#yiv2539423796 .yiv2539423796attach label a {text-decoration:none;}#yiv2539423796 blockquote {margin:0 0 0 4px;}#yiv2539423796 .yiv2539423796bold {font-family:Arial;font-size:13px;font-weight:700;}#yiv2539423796 .yiv2539423796bold a {text-decoration:none;}#yiv2539423796 dd.yiv2539423796last p a {font-family:Verdana;font-weight:700;}#yiv2539423796 dd.yiv2539423796last p span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv2539423796 dd.yiv2539423796last p span.yiv2539423796yshortcuts {margin-right:0;}#yiv2539423796 div.yiv2539423796attach-table div div a {text-decoration:none;}#yiv2539423796 div.yiv2539423796attach-table {width:400px;}#yiv2539423796 div.yiv2539423796file-title a, #yiv2539423796 div.yiv2539423796file-title a:active, #yiv2539423796 div.yiv2539423796file-title a:hover, #yiv2539423796 div.yiv2539423796file-title a:visited {text-decoration:none;}#yiv2539423796 div.yiv2539423796photo-title a, #yiv2539423796 div.yiv2539423796photo-title a:active, #yiv2539423796 div.yiv2539423796photo-title a:hover, #yiv2539423796 div.yiv2539423796photo-title a:visited {text-decoration:none;}#yiv2539423796 div#yiv2539423796ygrp-mlmsg #yiv2539423796ygrp-msg p a span.yiv2539423796yshortcuts {font-family:Verdana;font-size:10px;font-weight:normal;}#yiv2539423796 .yiv2539423796green {color:#628c2a;}#yiv2539423796 .yiv2539423796MsoNormal {margin:0 0 0 0;}#yiv2539423796 o {font-size:0;}#yiv2539423796 #yiv2539423796photos div {float:left;width:72px;}#yiv2539423796 #yiv2539423796photos div div {border:1px solid #666666;min-height:62px;overflow:hidden;width:62px;}#yiv2539423796 #yiv2539423796photos div label {color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv2539423796 #yiv2539423796reco-category {font-size:77%;}#yiv2539423796 #yiv2539423796reco-desc {font-size:77%;}#yiv2539423796 .yiv2539423796replbq {margin:4px;}#yiv2539423796 #yiv2539423796ygrp-actbar div a:first-child {margin-right:2px;padding-right:5px;}#yiv2539423796 #yiv2539423796ygrp-mlmsg {font-size:13px;font-family:Arial, helvetica, clean, sans-serif;}#yiv2539423796 #yiv2539423796ygrp-mlmsg table {font-size:inherit;font:100%;}#yiv2539423796 #yiv2539423796ygrp-mlmsg select, #yiv2539423796 input, #yiv2539423796 textarea {font:99% Arial, Helvetica, clean, sans-serif;}#yiv2539423796 #yiv2539423796ygrp-mlmsg pre, #yiv2539423796 code {font:115% monospace;}#yiv2539423796 #yiv2539423796ygrp-mlmsg * {line-height:1.22em;}#yiv2539423796 #yiv2539423796ygrp-mlmsg #yiv2539423796logo {padding-bottom:10px;}#yiv2539423796 #yiv2539423796ygrp-msg p a {font-family:Verdana;}#yiv2539423796 #yiv2539423796ygrp-msg p#yiv2539423796attach-count span {color:#1E66AE;font-weight:700;}#yiv2539423796 #yiv2539423796ygrp-reco #yiv2539423796reco-head {color:#ff7900;font-weight:700;}#yiv2539423796 #yiv2539423796ygrp-reco {margin-bottom:20px;padding:0px;}#yiv2539423796 #yiv2539423796ygrp-sponsor #yiv2539423796ov li a {font-size:130%;text-decoration:none;}#yiv2539423796 #yiv2539423796ygrp-sponsor #yiv2539423796ov li {font-size:77%;list-style-type:square;padding:6px 0;}#yiv2539423796 #yiv2539423796ygrp-sponsor #yiv2539423796ov ul {margin:0;padding:0 0 0 8px;}#yiv2539423796 #yiv2539423796ygrp-text {font-family:Georgia;}#yiv2539423796 #yiv2539423796ygrp-text p {margin:0 0 1em 0;}#yiv2539423796 #yiv2539423796ygrp-text tt {font-size:120%;}#yiv2539423796 #yiv2539423796ygrp-vital ul li:last-child {border-right:none !important;}#yiv2539423796