Pessoal, Deparei-me com a seguinte situação em uma base de dados Oracle 10.2.0.1 (Standard Edition) / Sistema Operacional: Windows Server 2008 R2
A aplicação do ERP utiliza as seguintes tabelas abaixo: - PEDIDO - NOTA_FISCAL (filha da Pedido / Relação 1..N) - NOTA_FISCAL_MERC (filha da Nota Fiscal / Relação 1.. N) Ao analisar as views V_$Lock, V_$Locked_Object, dba_objects e V$Session, pude observar que uma determinada rotina do ERP, mantém a tabela NOTA_FISCAL_MERC em Lock do tipo Row Exclusive por alguns minutos (até que o usuário feche a janela do sistema - parece que o botão SALVAR não realizada o commit). Porém, nessa situação e momento, as tabelas NOTA_FISCAL e PEDIDO também apresentam Lock, porém ambas do tipo Row Share. Minha dúvida é referente as tabelas que estão com Row Share e sua performance quando outras sessões estiverem acessando elas: Se uma outra sessão, executar uma consulta envolvendo as tabelas que estão com Row Share, pode acontecer da performance de execução do SQL ser afetada, como por exemplo, não utilizar os índices existentes para otimização? Tenho relatos de usuários, de que no momento desses locks, mesmo quando não ocorre bloqueio de uma sessão devido o row exclusive, o sistema apresenta uma queda de performance em transações que envolvem consultas das respectivas tabelas citadas. Um abraço,
