ORA-00600
Erro interno do código Oracle
⚠ Pontos de atenção antes de executar
Evite improvisar em cima de um ORA-600. Em especial: forçar OPEN repetidamente, recriar o controlfile ou usar parâmetros não documentados (_allow_resetlogs_corruption e afins) sem orientação do Suporte Oracle são caminhos que costumam transformar um problema recuperável em perda de dados. O roteiro seguro é: colete o trace, preserve o estado atual dos arquivos e abra um SR antes de agir.
O que significa
Exceção interna do kernel. Quase sempre bug, corrupção ou condição não prevista. O primeiro argumento entre colchetes identifica a verificação que falhou.
Ação imediata
Não ignore se recorrente. Colete o trace/incidente gerado (ADR) e identifique o primeiro argumento [xxxx].
Como diagnosticar somente leitura — seguro de executar
- Trace referenciado no alert
- ADRCI: 'show incident'.
- No MOS, use a ferramenta 'ORA-600/ORA-7445/ORA-700 Error Look-up Tool' (Doc ID 153788.1) com o 1º argumento.
Correção definitiva
Depende do argumento: normalmente patch/PSU/RU indicado pelo MOS, ou reparo de corrupção. Abra SR se envolver corrupção ou não houver doc.
Como prevenir
Manter RU/patches em dia; monitorar recorrência por argumento.
Regras de ouro antes de agir
- Preserve o estado atual. Antes de qualquer reparo, copie os arquivos como estão (datafiles, controlfiles, redo) — é a sua única volta se algo der errado.
- Diagnostique antes de executar. As consultas desta página são somente leitura; rode-as primeiro e entenda o cenário antes de qualquer comando que altere o ambiente.
- Teste fora de produção sempre que possível, e tenha um plano de rollback.
- Em corrupção, recovery ou ORA-600: abra um SR no Suporte Oracle. Tentativa e erro nesses cenários costuma transformar um problema recuperável em perda de dados.