Uma falha noturna no disco rígido teve vários efeitos colaterais, incluindo deixar um único arquivo de dados precisando de recuperação:
SQL> select count(*) from v$datafile where status='RECOVER';
COUNT(*)
----------
1
Tudo voltou ao normal, mas um mistério permanece: antes da recuperação, o aplicativo cliente registrou um ORA-00376 em uma tabela de registro quando um trabalho em lote tentou acessar um segmento no arquivo de dados. Porém esse erro não apareceu no log de alerta, como isso pode acontecer?
No momento do erro ORA-00376, o seguinte apareceu no log de alerta:
Errors in file /app/oracle/admin/live33/bdump/live33_j002_938224.trc:
ORA-12012: error on auto execute of job 24760001
ORA-20001: Error during batch run
ORA-06512: at "*******.***_*****", line 266
ORA-06512: at "*******.***_***_***_*****", line 355
ORA-06512: at line 1
E na época da edição original:
KCF: write/open error block=0x2fb23 online=1
file=177 /data/ora9i/live/db3b/nsbme.dbf
error=27072 txt: 'IBM AIX RISC System/6000 Error: 5: I/O error
Additional information: 195363'
Automatic datafile offline due to write error on
file 177: /data/ora9i/live/db3b/nsbme.dbf
O Oracle fornece as seguintes informações para esta mensagem de erro:
A lógica deles para não incluir essa mensagem de erro no log de alerta está relacionada ao fato de que o log de alerta é para mostrar as mensagens recebidas pelos processos em segundo plano que compõem a instância. As mensagens de erro da sessão do usuário podem indicar problemas maiores com a instância, mas todas as mensagens de erro da sessão do usuário não são indicadores de problemas da instância. (ORA-00001, por exemplo)