Buenas.
Na migração do Oracle 9i para o 11gR2, um módulo passou a fazer LOCK em todos os outros usuários.
Executamos um trace e verificamos que o LOCK é executado pelo seguinte SQL.
SELECT ped_nmro
,nfs_nmro_refat
,fil_filial_refat
,nfs_serie_refat
,emp_empresa_refat
,ite_seqn
,lin_cdgo
,ref_cdgo
,ite_descricao
,cab_cdgo
,ite_stat
,ite_situ
,cor_cdgo
,codigo_corrugado
,les_codigo
,tes_codigo
,gde_cdgo
,ite_preco_venda
,ite_largura
,ite_qtde
,ite_prco
,codigo_marca
,empresa_fatura_proforma
,ano_fatura_proforma
,numero_fatura_proforma
,numero_item_fatura_proforma
FROM ite
WHERE ROWID = :1
FOR UPDATE OF ped_nmro NOWAIT
O problema é que essa SQL é executada internamente pelo bloco no forms.
Alguém já passou por isso?
O Forms usado aqui é o 6i.
PS.: Não posso fazer nada quanto ao fato do Forms 6i não ser compatível com o 11g. Aliás, posso sim: corrigir o problema 😆