Falhas em backup “cannot be opened. Reason: errno”
Este post é sobre um erro muito comum em rotinas de backups. Sendo assim, segue um post, teórico, sobre o “errno” . Muitas rotinas de backups, executadas utilizando a ferramenta BRBACKUP que possuem seus backups schedulados em Tivoli Storage Manager em ambientes com Banco de Dados utilizando a aplicação SAP, reportam o seguinte erro:
BKI4009E: File ‘/oracle/datafiledbbruno1/sapdata2/srbruno01/srbruno01.data2’ cannot be opened. Reason: errno(22) A system call received a parameter that is not valid.
ou similares como :
BKI4009E: File ‘/oracle/datafiledbbruno2/102_64/dbs/initdbbruno.bki’ cannot be opened. Reason: errno(24) Too many open files
Este erro normalmente é reportado em AIX 6.1 com Oracle versão 11.2.0.2 ou superiores devido ao bug ” Bug : 9310972 – ENHANCEMENT : INTRODUCING O_CIOR FLAG WHEN OPENING DATAFILES IN AIX 6.1″ que possuem como declaração no MOS (Doc ID 1478924.1), a seguinte explicação:
With AIX 6.1, IBM introduced a new open flag O_CIOR which is same as O_CIO, but this allows subsequent open calls without CIO. The advantage of this enhancement is that other applications like cp, dd, cpio, dbv can access database files in read only mode without having to open them with CIO.
Starting with Oracle 11.2.0.2 when AIX 6.1 is detected, Oracle will use O_CIOR option to open a file on JFS2.Therefore you should no longer mount the filesystems with mount option “-o cio”.
-> A ação para sanar este problema seria:
- STOP aplicação (caso houver uma) no ambiente;
- Posteriormente o STOP do banco Dados e do listener;
- Checklist prévio do sistema operacional ;
- Desmontamento dos filesystems;
- Retiramento do parâmetro CIO dos filesystems;
- Montagem dos filesystems;
- Efetuar uma nova validação no ambiente;
- START do banco e do Listener,;
- Start da aplicação;
- Retornar a rotinar de backup.
Retirando o parâmetro CIO, irá prevenir futuramente os seguintes erros:
cp: A system call received a parameter that is not valid.
0653-902 Cannot open the specified file for reading.
DBV-00100: Specified FILE not accessible
errno(22) A system call received a parameter that is not valid.
Espero tê-lo ajudado, abraços!