Estou pensando em um impasse estranho e depois de verificar todos os outros componentes, estou considerando que seja um problema INITRANS no Oracle 11.2.
Agora surgiram três perguntas:
Existe alguma maneira de analisar o quão cheios estão os blocos?
Meu banco de dados atingiu seu tamanho máximo de espaço de tabela há um tempo e começou a rejeitar inserções, então adicionei outro arquivo de dados, mas isso só aumenta se quase todo o espaço for usado. Meu PCT_USED é de 96%. Minha suposição está correta de que todos os blocos de dados serão totalmente preenchidos e um impasse INITRANS é provável?
Existe alguma maneira de ver um problema INITRANS em um rastreamento de deadlock?
Estou feliz com respostas parciais também.
Initrans é mais importante para inserções simultâneas nos mesmos blocos de uma tabela. Você normalmente reconhece isso quando há contenção para os cabeçalhos de bloco. Enquanto houver espaço livre suficiente no bloco, a lista pode crescer no espaço livre do bloco. Portanto, se você sabe que para algumas tabelas você tem muitos trabalhos simultâneos inserindo dados no mesmo final da tabela, será útil definir o INITRANS com um valor semelhante ao número de trabalhos simultâneos.
pct_used significa que - no seu caso - assim que um bloco obtiver 4% de espaço livre, esse bloco entrará na lista livre para aceitar novas linhas.
pct_free significa que assim que o espaço livre em um bloco cair abaixo de pct_free, o bloco não aceitará mais novas linhas, a fim de manter espaço para atualizações onde as linhas podem crescer.
As estatísticas da tabela mostram uma estatística como AVG_SPACE, AVG_ROW_LEN.