ORA-00494: enqueue held for too long by 'inst N, osid M' (enqueue mantido por tempo demais)
OracleO que significa?
Um enqueue de recurso crítico (por exemplo, CF - control file enqueue) foi mantido por um processo por muito mais tempo do que o permitido, e o Oracle encerrou esse processo para evitar que o sistema travasse. Aparece no alert.log junto com uma entrada 'killing enqueue blocker'.
Por que acontece?
Um processo de background ou de usuário manteve um enqueue importante além do tempo permitido por causa de um gargalo de I/O, forte pressão de CPU ou uma paralisação do sistema operacional (swapping, discos lentos); para o enqueue do control file (CF), esse tempo é definido por _controlfile_enqueue_timeout (padrão 900 s). Parâmetros ocultos (com underscore) só devem ser alterados sob orientação do Oracle Support. Geralmente causado por latência de armazenamento ou processos lentos como LGWR/CKPT.
Como resolver
Analise o alert.log e o arquivo de trace do processo encerrado para determinar qual enqueue (geralmente o do control file) e qual processo de background é responsável. A causa real costuma ser a latência de armazenamento/I/O: verifique os tempos de resposta do disco, o multipath e a saúde da controladora. Reduza a pressão de CPU/memória e o uso de swap. Se o erro se repetir, compartilhe a análise do trace com o Oracle Support.
Mais entradas deste banco
- ORA-01102cannot mount database in EXCLUSIVE mode
- ORA-29913error in executing ODCIEXTTABLEOPEN callout (erro ao executar o callout ODCIEXTTABLEOPEN)
- ORA-19804cannot reclaim N bytes disk space from M bytes limit (não é possível recuperar N bytes de espaço em disco do limite de M bytes)
- ORA-04021timeout occurred while waiting to lock object (timeout ao aguardar o lock de um objeto)
- ORA-04061existing state of package/procedure has been invalidated (o estado existente do package/procedure foi invalidado)
- ORA-01466unable to read data - table definition has changed (não é possível ler os dados; a definição da tabela mudou)
- ORA-08176consistent read failure; rollback data not available (falha de leitura consistente; dados de rollback indisponíveis)