Breadcrumbs

Como resolver o erro ORA-03113: Fim de arquivo no canal de comunicação?

Introdução

Em um de nossos clientes, estamos com um incidente ao processar arquivos. Os mesmos ficam com extensão .filter e na sequência apresenta o erro:

[TP_E1]; ERROR; 2016-16-03 08:09:57.910; [GerenciadorFalhasDeBanco]; Ocorreu um erro de banco de dados na execução do seguinte processo:
Nome: ConnectorFilterProcessor
ProcessID: 0
JobName: JOB MATRIZ BAURU-SP IMP01 HMG
JobID: 6
Arquivo: D:\NDDTemp\ENTRADA\HOMOLOGACAO\MATRIZ BAURU-SP IMP01\250\envi_H0156216795.TXT
Comando executado: ADDPROCESSDATA

Passo a passo

No entanto, não se trata de um incidente com a aplicação, mas sim com o Oracle. Um dos motivos é que a fast_recovery_area possa estar full, causando falso-positivo de falha de comunicação. Com isso, foram enviadas as seguintes instruções ao DBA do cliente:

1 – Verificar a porcentagem de uso da área de recuperação rápida

SQL> select * from v$flash_recovery_area_usage;

2 – Verificar os backups

SQL> select * from v$recovery_file_dest;

3 – Deletar os archive log desnecessários do disco

4 – Conectar no RMAN

rman target / nocatalog

5 – Rodar o comando de checagem

rman> crosscheck archivelog all;

6 – Rodar o comando que irá deletar os arquivos catalogados que foram deletados do disco

rman> delete expired archivelog all;

7 – Caso tenha feito shutdown da db, não esquecer de dar open;

SQL> alter database open;

Um DBA tem condições de entender o que a rotina supracitada sugere, e já é o suficiente para corrigir o incidente.

Outras informações

Fonte: Alechandro Antonio Schmitt