Erro Archive Oracle

Erro= ORA-00257:archiver error. Connect internal only, until freed.

CASO:
— O processo de archive retorna este erro quando esta tentando arquivar os redo logs porém não esta conseguindo, com isso o banco para de executar as transações, o problema pode ocorrer quando falta espaço em disco para a gravação dos redo logs.

Como proceder ?
–Através do comando df-h verifique o espaço em disco.

$df -h

[oracle@sinacont ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 43G 17G 24G 41% /
/dev/sda1 487M 19M 444M 4% /boot
none 1004M 0 1004M 0% /dev/shm
/dev/sda4 316G 300G 0 100% /u01

Neste exemplo vemos que o filesystem /dev/sda4 esta sem espaço.

–Caso não saiba onde os archives estão armazenados, basta verificar no arquivo de parametrização o caminho.
–Para localizar o arquivo.

show parameter spfile

/u01/app/oracle/product/10.2.0/db/dbs/spfilex.ora

–Para verificar o arquivo =
$ cat /u01/app/oracle/product/10.2.0/db/dbs/spfilex.ora

–Podemos ver também de outro modo:

archive log list

Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/archive/
Oldest online log sequence 21
Next log sequence to archive 24
Current log sequence 24

–O archive log list mostrará o caminho e confirmará que o banco esta em modo archive.

Soluções de resolução:

1ª opção

= Deletar os archives anteriores ao último Backup, para liberar espaço;
–Dentro da pasta de archives =
$rm *Data_antes_ultimo_backup*

2ª opção

= Fazer um backup full em outro disco e deletar todos os archives;
–Backup
$rman target /
RMAN; backup database plus archivelog delete input;

3ª opção

= Alterar o caminho onde os archives são gravados para outro disco:
alter system set log_archive_dest = ‘/u02/archive/’;
System altered.

Leia mais artigos em nossa página de Tecnologia.
E relaxe em nossa página Boa Viagem.