Este erro é causado normalmente quando o parâmetro “db_recovery_file_dest_size” está no limite ou excedido…
Ocorre principalmente quando o “usuário comum” tenta se conectar através de uma aplicação ou mesmo com o sqlplus, pois neste caso constata-se que o banco pode estar em modo backup, não finalizado pois o mesmo não consegue escrever.
Verificando o espaço que está sendo usado para DB_RECOVERY_FILE_DEST_SIZE, que neste caso está praticamente no limite.
SQL> SELECT * FROM V$RECOVERY_FILE_DEST;
NAME
——————————————————————————–
SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES
———– ———- —————– —————
/u01/app/oracle/fast_recovery_area
3.4360E+10 3.4353E+10 0 1628
Verifique se o banco de dados ainda esta fazendo backup, se estiver no modo backup e se for diferente de 0(zero)
SQL> select count(*) from v$backup where status=’ACTIVE’;
COUNT(*)
———-
5
verifique o tamanho da pasta pela linha de comando…
du -h /u01/app/oracle/fast_recovery_area/
32,0G /u01/app/oracle/fast_recovery_area/
[oracle@sgbd ~]$ sqlplus / as sysdba
SQL> show parameter db_recovery_file;
NAME TYPE VALUE
———————————— ———– ——————————
db_recovery_file_dest string /u01/app/oracle/fast_recovery_
area
db_recovery_file_dest_size big integer 32G
Se estiver no máximo, deve-se urgentemente redimensionar.
SQL> alter system set db_recovery_file_dest_size = 48g;
System altered.
SQL> alter system switch logfile;
System altered.
SQL> show parameter db_recovery_file;
NAME TYPE VALUE
———————————— ———– ——————————
db_recovery_file_dest string /u01/app/oracle/fast_recovery_
area
db_recovery_file_dest_size big integer 48G
SQL> SELECT * FROM V$RECOVERY_FILE_DEST;
NAME
——————————————————————————–
SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES
———– ———- —————– —————
/u01/app/oracle/fast_recovery_area
5.1540E+10 3.4637E+10 0 1643
Após redomensionar, se necessário, faça um shutdown do banco e inicie novamente para ver se esta tudo normal agora
Verifique novamente nos próximos backups se o espaço utilizado continua aumentando, neste caso será necessário uma nova intervenção, que também pode ser feita neste momento.
conectar no Recovery Manager como “sysdba” basta usar o comando “rman target /”
sh> rman target /
Verifique a configuração atual da ferramenta execute:
RMAN> SHOW ALL;
Se os próximos parâmetros estiverem desativados ou não especificados altere-os
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS;
Saia e entre novamente
sh> rman target /
RMAN > crosscheck archivelog all;
RMAN > delete noprompt expired archivelog all;
RMAN > crosscheck backup;
RMAN > delete noprompt obsolete;
RMAN > backup archivelog all delete input;
Verifique novamente o espaço do RECOVERY_FILE_DEST
SQL> SELECT * FROM V$RECOVERY_FILE_DEST;
NAME
——————————————————————————–
SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES
———– ———- —————– —————
/u01/app/oracle/fast_recovery_area
5.3687E+10 1.4807E+10 0 10
Outros erros relacionados….
ORA-16038: log 1 sequence# xxxx cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 1 thread 1: ‘/u01/app/oracle/oradata/….