HCM – Motor eSocial – [# DD/MM/AAA HH:HH:HH Thd=main Ctx=br.com.senior.rh.esocial.motor.uenginecontroller.EngineController ERROR #] Já existe um Motor eSocial em execução. Origem da execução: Computador: "SERVIDOR" Usuário: "USUÁRIO" [# DD/MM/AAA
Incidente
No módulo Administração de Pessoal ao acessar a tela de consulta pendências os leiautes estão com situação Aguardando envio automático. Ao verificar os logs do motor é retornada a seguinte mensagem:
[# DD/MM/AAAA HH:HH:HH Thd=main Ctx=br.com.senior.rh.esocial.motor.uenginecontroller.EngineController ERROR #] Já existe um Motor eSocial em execução.
Origem da execução: Computador: "SERVIDOR" Usuário: "USUÁRIO"
[# DD/MM/AAAA HH:HH:HH Thd=main Ctx=br.com.senior.rh.esocial.motor.uenginecontroller.EngineController WARN #] A aplicação será finalizada.
Causa
Este incidente ocorre, quando o campo DATTIM está zerado e o usuário da base de dados não tem permissão OWNER.
Solução
Para que esse incidente não ocorra, realize os passos a seguir:
1. Realize os comandos abaixo no CBDS para verificar como está o campo DATTIM nestas tabelas:
SELECT DATTIM FROM R000LCK
SELECT DATTIM FROM R911SEC
2. Com o retorno dos selects, identifique se o campo DATTIM das tabelas R911SEC e R000LCK estão zerados;
2.1. Neste caso, isso pode ser o motivo do erro no log do motor referente as instâncias do novo controle de instancias que foi liberado na versão 6.2.33.66.
Para banco de dados SQL SERVER:
Importante: Antes de iniciar o procedimento, pare o serviço do Senior Motor eSocial.
Execute na ferramenta de banco de dados - não é possível no CBDS.
1. Verifique no SeniorConfigCenter o usuário de banco informado:
2. Efetue validação de OWNER dos objetos e certifique-se que foi dada a permissão: GRANT VIEW SERVER STATE TO para o usuário do banco configurado no SeniorConfigCenter;
3. Caso não possua, acesse a ferramenta de banco com usuário administrador e aplique o comando abaixo para o usuário, substituindo o XX pelo usuário configurado no SeniorConfigCenter:
USE MASTER GO GRANT VIEW SERVER STATE TO XX
Observação
Aplique o comando sem nenhum usuário conectado ao sistema e com o serviço Senior Motor eSocial parado.
3. Exclua os registros da tabela R000LCK através do comando abaixo:
DELETE FROM R000LCK
4. Inicie o serviço Senior Motor eSocial e verifique se o problema foi resolvido;
5. Acesse o modulo Administração de Pessoal com qualquer usuário;
5.1. Realize o comando abaixo no CBDS:
SELECT DATTIM FROM R911SEC
5.2. Se o campo DATTIM estiver zerado, a permissão não foi aplicada, ou os usuários não desconectaram ao aplicar a permissão;
6. No caso de SQL Server, execute o comando abaixo na ferramenta de banco de dados:
SP_WHO
Observação
Se retornar apenas 1 linha, a permissão não está aplicada. Deve-se realizar novamente os procedimentos acima, seguindo a ordem de passos indicada.
No caso de banco Oracle:
1. via CBDS realize os seguintes comandos:
SELECT * FROM V$SESSION ou
SELECT * FROM GV$SESSION (se for cluster).
Observação
Se retornar 0 linhas, o usuário não tem permissão. Deve-se realizar novamente os procedimentos acima, seguindo a ordem de passos indicada.
Atenção! Antes de realizar qualquer alteração, analise o impacto que poderá ter em outros lançamentos/processos do sistema.
A orientação é que esses procedimentos sejam realizados pelo responsável do banco de dados.