11032 - Lock ao inicializar sistema
Problema: Descrição do Problema:
Problemas ao inicializar os sistemas Senior. O mesmo fica em status conectando ao banco de dados (10 min) e primeira conexão esta bloqueando as demais no banco de dados.
Segue analise do DBA:
A consulta que está sendo executada no Senior é a seguinte:
SELECT numsec
FROM rhsap.r911sec r
WHERE NOT EXISTS (
SELECT 1
FROM v$session s, v$process p
WHERE s.audsid = r.numsec
AND s.status <> 'KILLED'
AND s.paddr = p.addr
AND s.logon_time
- (TO_DATE ('30121899', 'DDMMYYYY') + r.dattim) = 0)
Solução: Solução:
Identificamos que o problema incial estava em um lock na Tabela de Tecnologia R911SEC, conforme descrito por vocês na abertura do chamado:
SELECT numsec
FROM rhsap.r911sec r
WHERE NOT EXISTS (
SELECT 1
FROM v$session s, v$process p
WHERE s.audsid = r.numsec
AND s.status <> 'KILLED'
AND s.paddr = p.addr
AND s.logon_time
- (TO_DATE ('30121899', 'DDMMYYYY') + r.dattim) = 0)
FOR UPDATE
Desta forma, se fez necessário a execução de alguns procedimentos para verificar a situação:
- Solicitamos a execução pelo DBA do cliente das estatísticas do Banco de Dados;
- O comando deverá ser executado com usuário SYS;
- Comando:
exec dbms_stats.gather_fixed_objects_stats();
Problemas ao inicializar os sistemas Senior. O mesmo fica em status conectando ao banco de dados (10 min) e primeira conexão esta bloqueando as demais no banco de dados.
Segue analise do DBA:
A consulta que está sendo executada no Senior é a seguinte:
SELECT numsec
FROM rhsap.r911sec r
WHERE NOT EXISTS (
SELECT 1
FROM v$session s, v$process p
WHERE s.audsid = r.numsec
AND s.status <> 'KILLED'
AND s.paddr = p.addr
AND s.logon_time
- (TO_DATE ('30121899', 'DDMMYYYY') + r.dattim) = 0)
Solução: Solução:
Identificamos que o problema incial estava em um lock na Tabela de Tecnologia R911SEC, conforme descrito por vocês na abertura do chamado:
SELECT numsec
FROM rhsap.r911sec r
WHERE NOT EXISTS (
SELECT 1
FROM v$session s, v$process p
WHERE s.audsid = r.numsec
AND s.status <> 'KILLED'
AND s.paddr = p.addr
AND s.logon_time
- (TO_DATE ('30121899', 'DDMMYYYY') + r.dattim) = 0)
FOR UPDATE
Desta forma, se fez necessário a execução de alguns procedimentos para verificar a situação:
- Solicitamos a execução pelo DBA do cliente das estatísticas do Banco de Dados;
- O comando deverá ser executado com usuário SYS;
- Comando:
exec dbms_stats.gather_fixed_objects_stats();