Error 19809 creating archive log file

HelloFollowing some maintenance on our server (change raid battery + reboot) my database (Oracle 11g) is not available anymore. I m a newbie in Oracle and I have been through the forum and I can t fin...

Hello

Following some maintenance on our server (change raid battery + reboot) my database (Oracle 11g) is not available anymore. I m a newbie in Oracle and I have been through the forum and I can t find the solution of my pb, I can t fix the ORA-19809 error since I can t connect to the DB as sysdba, all the solution that I have found need to be connected as sysdba. Please help I have been struggling on that for days and I seems to go in circle at the moment. Here is what I ve got :

C:>set oracle_sid=MYTIKKA

C:>sqlplus /nolog

SQL>connect / as sysdba

ERROR ORA-12560: TNS:protocol adapter error

Here are the errors I have in my c:/oracle/diag/rdbms/mytikka/mytikka/trace/alert_mytikka.log :

Errors in file c:oraclediagrdbmsmytikkamytikkatracemytikka_arc1_6420.trc:

ORA-19809: limit exceeded for recovery files

ORA-19804: cannot reclaim 30839808 bytes disk space from 10485760000 limit

ARC1: Error 19809 Creating archive log file to ‘C:ORACLEFLASH_RECOVERY_AREAMYTIKKAARCHIVELOG2015_03_31O1_MF_1_88141_%U_.ARC’

Errors in file c:oraclediagrdbmsmytikkamytikkatracemytikka_ora_7524.trc:

ORA-19815: WARNING: db_recovery_file_dest_size of 10485760000 bytes is 99.86% used, and has 14655488 remaining bytes available.

************************************************************************

You have following choices to free up space from recovery area:

1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,

   then consider changing RMAN ARCHIVELOG DELETION POLICY.

2. Back up files to tertiary device such as tape using RMAN

   BACKUP RECOVERY AREA command.

3. Add disk space and increase db_recovery_file_dest_size parameter to

   reflect the new space.

4. Delete unnecessary files using RMAN DELETE command. If an operating

   system command was used to delete files, then use RMAN CROSSCHECK and

   DELETE EXPIRED commands.

************************************************************************

Errors in file c:oraclediagrdbmsmytikkamytikkatracemytikka_ora_7524.trc:

ORA-19809: limit exceeded for recovery files

ORA-19804: cannot reclaim 30839808 bytes disk space from 10485760000 limit

ARCH: Error 19809 Creating archive log file to ‘C:ORACLEFLASH_RECOVERY_AREAMYTIKKAARCHIVELOG2015_03_31O1_MF_1_88141_%U_.ARC’

Errors in file c:oraclediagrdbmsmytikkamytikkatracemytikka_ora_7524.trc:

ORA-16038: log 1 sequence# 88141 cannot be archived

ORA-19809: limit exceeded for recovery files

ORA-00312: online log 1 thread 1: ‘C:ORACLEORADATAMYTIKKAREDO01.LOG’

USER (ospid: 7524): terminating the instance due to error 16038

Tue Mar 31 16:08:06 2015

ARC3 started with pid=23, OS id=8104

Instance terminated by USER, pid = 7524

TNSPING seems to work

C:>tnsping mytikka

TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 — Production on 01-APR-2

015 02:32:14

Copyright (c) 1997, 2010, Oracle.  All rights reserved.

Used parameter files:

C:oracleproduct11.2.0dbhome_1networkadminsqlnet.ora

Used TNSNAMES adapter to resolve the alias

Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 420025-w

eb1)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = mytikka)

))

OK (0 msec)

C:>lsnrctl status

LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 — Production on 01-APR-2015 02:35:21

Copyright (c) 1991, 2010, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=420025-web1)(PORT=1521))

)

STATUS of the LISTENER

————————

Alias                     LISTENER

Version                   TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 — Produ

ction

Start Date                31-MAR-2015 16:08:17

Uptime                    0 days 10 hr. 27 min. 4 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Parameter File   C:oracleproduct11.2.0dbhome_1networkadminlisten

er.ora

Listener Log File         c:oraclediagtnslsnr420025-web1listeneralertlog.

xml

Listening Endpoints Summary…

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=420025-web1)(PORT=1521)))

  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipeEXTPROC1521ipc)))

The listener supports no services

The command completed successfully

Here is my tnsnames.ora :

# tnsnames.ora Network Configuration File: C:oracleproduct11.2.0dbhome_1networkadmintnsnames.ora

# Generated by Oracle configuration tools.

MYTIKKA =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 420025-web1)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = mytikka)

    )

  )

TSAPIDB =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 420025-web1)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = mytikka)

    )

  )

We usually watch the space usage of log archive destination very closely because the database will be suspended if the space is full. Particularly, if the log archive destination is USE_DB_RECOVERY_FILE_DEST, then you must watch the usage of Fast Recovery Area (FRA) instead to prevent ORA-19809.

When you meet the following error, you hit the space limit of FRA.

ORA-16038: log 2 sequence# 230348 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 1 thread 1: 'd:/oracle/oradata/dbname/redo/redo02.log'

If you have already shutdown the database, the error prevents you from startup, it could be severe.

Let’s see the content of this error:

Description

ORA-19809: limit exceeded for recovery files

Cause

The limit for recovery files specified by the DB_RECOVERY_FILE_DEST_SIZE was exceeded.

Action

There are five possible solutions:

  1. Take frequent backup of recovery area using RMAN.
  2. Consider changing RMAN retention policy.
  3. Consider changing RMAN archived log deletion policy.
  4. Add disk space and increase DB_RECOVERY_FILE_DEST_SIZE.
  5. Delete files from recovery area using RMAN.

Then check current initialization parameters:

SQL> show parameter db_recovery

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string      d:oracleflash_recovery_areadbname
db_recovery_file_dest_size           big integer 10G

Solutions

Several ways that can solve ORA-19809 are listed in the following:

1. Resize FRA

Resize FRA to a larger value if disks still have more space available for FRA. Assuming that your database cannot be opened normally.

SQL> STARTUP MOUNT;
SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=200G SCOPE=SPILE;
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP;

Actually, starting up the database to MOUNT or NOMOUNT is no difference. Just make sure that the value does not exceed the overall disk space for FRA.

If your database is still online, then use SCOPE=BOTH

SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=200G SCOPE=BOTH;

2. Delete Expired Archived Logs

Delete expired archive logs if there have no more space for archived logs. Assuming a lot of expired archive logs are available to be deleted.

[oracle@test ~]$ rman target /
...
RMAN> CROSSCHECK ARCHIVELOG ALL;
RMAN> DELETE EXPIRED ARCHIVELOG ALL;

Adding NOPROMPT right after DELETE makes RMAN to directly delete all archived logs without user’s confirmation.

If the space is still full, you need a stronger medication like the next one.

3. Delete All Archived Logs

Delete all archive logs, no matter what.

RMAN> DELETE ARCHIVELOG ALL;

Or do it directly without asking.

RMAN> DELETE NOPROMPT ARCHIVELOG ALL;

Then make the archived log list consistent.

RMAN> CROSSCHECK ARCHIVELOG ALL;

4. Switch FRA to Another Location

Change log archive destination to another location

SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST=e:oracleflash_recovery_area2dbname SCOPE=SPFILE;

Don’t forget to bounce the database service in order to apply the new change.

5. Change Destination of Archived Logs

Again, you have to restart the database to make it work.

SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_1=e:oracledbnamearchivelog SCOPE=SPFILE;

Preventive Actions

Here are preventive actions that you can consider to take to prevent ORA-19809.

1. Larger FRA or Destination

Set a reasonable size for FRA in advance. Just like we talked about in solution #1, #4 and #5.

2. Smaller Recovery Window

Impose a smaller recovery window on the retention period, if the current recovery windows is significantly big. For example, we change the recovery window from 60 days into 7 days.

RMAN> SHOW ALL;
...
RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

Then we delete some obsolete backups like the following command according to the new policy immediately, or put it into your backup scripts.

RMAN> DELETE OBSOLETE;

Consequently, there should have fewer backups left in FRA.

3. Fewer Backup of Archived Logs

Change archived log deletion policy. Assuming the current setting is to backup 2 times, we set to 1 time or NONE.

RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 1 TIMES TO SBT;
RMAN> DELETE OBSOLETE;

4. Apply NOLOGGING

Set tables NOLOGGING temporarily before importing or bulk data loading.

SQL> ALTER TABLE tablename1 NOLOGGING;
SQL> ALTER TABLE tablename2 NOLOGGING;
...

I hope this post can help you to solve ORA-19809.

Archive log destination full raised error 19809

Oracle database is not open its give error in alert log. Error occurred due to archive log space is full. Please check the location where archive log is configured.

You can check the location of archive log by connecting as SYS user

sqlplus sys as sysdba
password:
SQL>archive log list;

Solution:
Step 1: Go to RMAN terminal.

rman> CONNECT target /
rman> crosscheck archivelog ALL;
rman> DELETE expired archivelog ALL;

After delete some archive log which expired if some space released for sufficient work then you can continue.

Other wise you copy some needed archive in other location.then use the following command for delete archive up to specific date:

Before one day:
RMAN> delete archivelog all completed before 'SYSDATE-1';

Before two day:
RMAN> delete archivelog all completed before 'SYSDATE-2';

Another way
If you have enough space on drive you may also increase the size from 20 GB to 50 Gb.

Check the size of db_recovery_file_dest_size

show parameter db_recovery_file_dest_size

Increase the size of db_recovery_file_dest_size parameter

alter system set db_recovery_file_dest_size=50G;

Oracle 11g Logo

Error log itself self explanatory, due to limit exceeded at DB_RECOVERY_FILE_DEST_SIZE database not able to open.

Error logs:

Errors in file d:oracle_filesdiagrdbmstesttesttracetest_ora_6196.trc:
ORA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim 50111488 bytes disk space from 2307915776 limit
ARCH: Error 19809 Creating archive log file to 'D:ORACLE_FILESFLASH_RECOVERY_AREATESTARCHIVELOG2017_06_27O1_MF_1_393_%U_.ARC'
Errors in file d:oracle_filesdiagrdbmstesttesttracetest_ora_6196.trc:
ORA-16038: log 3 sequence# 393 cannot be archived 
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 3 thread 1: 'D:DATABASETESTREDO031.LOG'
ORA-00312: online log 3 thread 1: 'D:DATABASETESTREDO032.ORA'
USER (ospid: 6196): terminating the instance due to error 16038
2017-06-27 12:51:40.592000 +05:30
Instance terminated by USER, pid = 6196

Error log itself self-explanatory, due to limit exceeded at DB_RECOVERY_FILE_DEST_SIZE database not able to open.

Solution:

Increase DB_RECOVERY_FILE_DEST_SIZE parameter size, and startup database. In my case 10G is sufficient.

SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE = 10G SCOPE=BOTH

According to Oracle suggestions in ADRCI alert logs, you have following choices to clean up space from recovery area:

  1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard, then consider changing RMAN ARCHIVELOG DELETION POLICY.
  2. Back up files to tertiary device such as tape using RMAN BACKUP RECOVERY AREA command.
  3. Add disk space and increase db_recovery_file_dest_size parameter to reflect the new space.
  4. Delete unnecessary files using RMAN DELETE command. If an operating system command was used to delete files, then use RMAN CROSSCHECK and DELETE EXPIRED commands.

Full error logs:

Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
Picked latch-free SCN scheme 3
2017-06-27 12:51:31.042000 +05:30
Using LOG_ARCHIVE_DEST_1 parameter default value as USE_DB_RECOVERY_FILE_DEST
Autotune of undo retention is turned on.
IMODE=BR
ILAT =27
LICENSE_MAX_USERS = 0
SYS auditing is disabled
Starting up:
Oracle Database 11g Release 11.2.0.1.0 - 64bit Production.
Using parameter settings in server-side spfile D:ORACLE_FILESDB_HOME1DATABASESPFILETEST.ORA
System parameters with non-default values:
processes = 150
sessions = 248
shared_pool_size = 608M
large_pool_size = 32M
java_pool_size = 160M
nls_length_semantics = "BYTE"
control_files = "D:DATABASETESTCONTROL01.CTL"
control_files = "D:ORACLE_FILESFLASH_RECOVERY_AREATESTCONTROL02.CTL"
control_files = "D:DATABASETESTCONTROL03.CTL"
db_block_size = 8192
db_cache_size = 608M
compatible = "11.2.0.0.0"
db_recovery_file_dest = "D:oracle_filesflash_recovery_area"
db_recovery_file_dest_size= 2201M
dml_locks = 800
undo_tablespace = "UNDOTBS1"
undo_retention = 3600
remote_login_passwordfile= "EXCLUSIVE"
db_domain = ""
dispatchers = "(PROTOCOL=TCP) (SERVICE=testXDB)"
job_queue_processes = 4
audit_file_dest = "D:ORACLE_FILESADMINTESTADUMP"
audit_trail = "DB"
db_name = "test"
open_cursors = 2048
optimizer_index_cost_adj = 10
query_rewrite_enabled = "FALSE"
query_rewrite_integrity = "enforced"
pga_aggregate_target = 400M
diagnostic_dest = "D:ORACLE_FILES"
PMON started with pid=2, OS id=3156
VKTM started with pid=3, OS id=5324 at elevated priority
VKTM running at (10)millisec precision with DBRM quantum (100)ms
GEN0 started with pid=4, OS id=6464
DIAG started with pid=5, OS id=8932
DBRM started with pid=6, OS id=3824
PSP0 started with pid=7, OS id=8204
DIA0 started with pid=8, OS id=6920
MMAN started with pid=9, OS id=6040
DBW0 started with pid=10, OS id=4948
LGWR started with pid=11, OS id=8984
CKPT started with pid=12, OS id=7280
SMON started with pid=13, OS id=7588
RECO started with pid=14, OS id=6064
MMON started with pid=15, OS id=8720
starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
MMNL started with pid=16, OS id=8104
starting up 1 shared server(s) ...
ORACLE_BASE from environment = D:oracle_files
ALTER DATABASE MOUNT
2017-06-27 12:51:35.391000 +05:30
Successful mount of redo thread 1, with mount id 2245910739
Database mounted in Exclusive Mode
Lost write protection disabled
Completed: ALTER DATABASE MOUNT
ALTER DATABASE OPEN
LGWR: STARTING ARCH PROCESSES
ARC0 started with pid=20, OS id=4564
2017-06-27 12:51:36.787000 +05:30
ARC0: Archival started
LGWR: STARTING ARCH PROCESSES COMPLETE
ARC0: STARTING ARCH PROCESSES
ARC1 started with pid=21, OS id=2748
ARC2 started with pid=22, OS id=8640
ARC1: Archival started
ARC3 started with pid=23, OS id=3032
ARC2: Archival started
ARC2: Becoming the 'no FAL' ARCH
ARC2: Becoming the 'no SRL' ARCH
ARC1: Becoming the heartbeat ARCH
Errors in file d:oracle_filesdiagrdbmstesttesttracetest_arc2_8640.trc:
ORA-19815: WARNING: db_recovery_file_dest_size of 2307915776 bytes is 100.00% used, and has 0 remaining bytes available.
************************************************************************
You have following choices to free up space from recovery area:
1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,
then consider changing RMAN ARCHIVELOG DELETION POLICY.
2. Back up files to tertiary device such as tape using RMAN
BACKUP RECOVERY AREA command.
3. Add disk space and increase db_recovery_file_dest_size parameter to
reflect the new space.
4. Delete unnecessary files using RMAN DELETE command. If an operating
system command was used to delete files, then use RMAN CROSSCHECK and
DELETE EXPIRED commands.
************************************************************************
Errors in file d:oracle_filesdiagrdbmstesttesttracetest_arc2_8640.trc:
ORA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim 50094592 bytes disk space from 2307915776 limit
ARC2: Error 19809 Creating archive log file to 'D:ORACLE_FILESFLASH_RECOVERY_AREATESTARCHIVELOG2017_06_27O1_MF_1_3
94_%U_.ARC'
ARCH: Archival stopped, error occurred. Will continue retrying
Errors in file d:oracle_filesdiagrdbmstesttesttracetest_arc2_8640.trc:
ORA-16038: log 1 sequence# 394 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 1 thread 1: 'D:DATABASETESTREDO011.LOG'
ORA-00312: online log 1 thread 1: 'D:DATABASETESTREDO012.ORA'
2017-06-27 12:51:37.810000 +05:30
ARC3: Archival started
ARC0: STARTING ARCH PROCESSES COMPLETE
Errors in file d:oracle_filesdiagrdbmstesttesttracetest_arc0_4564.trc:
ORA-19815: WARNING: db_recovery_file_dest_size of 2307915776 bytes is 100.00% used, and has 0 remaining bytes available.
************************************************************************
You have following choices to free up space from recovery area:
1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,
then consider changing RMAN ARCHIVELOG DELETION POLICY.
2. Back up files to tertiary device such as tape using RMAN
BACKUP RECOVERY AREA command.
3. Add disk space and increase db_recovery_file_dest_size parameter to
reflect the new space.
4. Delete unnecessary files using RMAN DELETE command. If an operating
system command was used to delete files, then use RMAN CROSSCHECK and
DELETE EXPIRED commands.
************************************************************************
Errors in file d:oracle_filesdiagrdbmstesttesttracetest_arc0_4564.trc:
ORA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim 50094592 bytes disk space from 2307915776 limit
ARC0: Error 19809 Creating archive log file to 'D:ORACLE_FILESFLASH_RECOVERY_AREATESTARCHIVELOG2017_06_27O1_MF_1_3
94_%U_.ARC'
Errors in file d:oracle_filesdiagrdbmstesttesttracetest_ora_6196.trc:
ORA-19815: WARNING: db_recovery_file_dest_size of 2307915776 bytes is 100.00% used, and has 0 remaining bytes available.
************************************************************************
You have following choices to free up space from recovery area:
1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,
then consider changing RMAN ARCHIVELOG DELETION POLICY.
2. Back up files to tertiary device such as tape using RMAN
BACKUP RECOVERY AREA command.
3. Add disk space and increase db_recovery_file_dest_size parameter to
reflect the new space.
4. Delete unnecessary files using RMAN DELETE command. If an operating
system command was used to delete files, then use RMAN CROSSCHECK and
DELETE EXPIRED commands.
************************************************************************
Errors in file d:oracle_filesdiagrdbmstesttesttracetest_ora_6196.trc:
ORA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim 50111488 bytes disk space from 2307915776 limit
ARCH: Error 19809 Creating archive log file to 'D:ORACLE_FILESFLASH_RECOVERY_AREATESTARCHIVELOG2017_06_27O1_MF_1_3
93_%U_.ARC'
Errors in file d:oracle_filesdiagrdbmstesttesttracetest_ora_6196.trc:
ORA-16038: log 3 sequence# 393 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 3 thread 1: 'D:DATABASETESTREDO031.LOG'
ORA-00312: online log 3 thread 1: 'D:DATABASETESTREDO032.ORA'
USER (ospid: 6196): terminating the instance due to error 16038
2017-06-27 12:51:40.592000 +05:30
Instance terminated by USER, pid = 6196

Thanks, Stay Tune. 🙂

 I faced ORA-19809 when
backup of one of my databases failed during archived log backup phase. In our
backup script we had a statement “ALTER SYSTEM ARCHIVE LOG CURRENT” just before
the backup command for archived redo logs. When ALTER SYSTEM ARCHIVE LOG
CURRENT statement was executed, following error stack was returned.

sql statement: alter system archive log current
released channel: dsk1 released channel: dsk2
RMAN-00571:
===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK
FOLLOWS ==============
RMAN-00571:
===========================================================
RMAN-03009: failure of sql command on default
channel at 02/09/2018 02:36:10
RMAN-11003: failure during parse/execution of SQL
statement: alter system archive log current
ORA-16038: log 9 sequence# 52279 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 9 thread 1: ‘/oradata/mydb/redolog07.log’
 

Recovery Manager complete.

Meanwhile we also saw
following errors/warning appearing in the alert log file

ARCH:
Archival stopped, error occurred. Will continue retrying
ORACLE
Instance mcrspos — Archival Error
ORA-16038:
log 9 sequence# 52279 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312:
online log 9 thread 1: ‘/oradata/mydb/redolog07.log’
Fri Feb
09 07:56:27 2018
ARCH:
Archival stopped, error occurred. Will continue retrying
ORACLE
Instance mydb — Archival Error
ORA-16014:
log 7 sequence# 52279 not archived, no available destinations
ORA-00312:
online log 9 thread 1: ‘/oradata/mydb/redolog07.log’
Fri Feb
09 07:56:57 2018
Errors in
file /u01/app/oracle/diag/rdbms/mydb/mydb/trace/mydb_m005_5103.trc:
ORA-19815:
WARNING: db_recovery_file_dest_size of 59055800320 bytes is 99.97% used, and
has 20135936 remaining bytes available.

************************************************************************

You have
following choices to free up space from recovery area:
1.
Consider changing RMAN RETENTION POLICY. If you are using Data Guard,
   then consider changing RMAN ARCHIVELOG
DELETION POLICY.
2. Back
up files to tertiary device such as tape using RMAN
   BACKUP RECOVERY AREA command.
3. Add
disk space and increase db_recovery_file_dest_size parameter to
   reflect the new space.
4. Delete
unnecessary files using RMAN DELETE command. If an operating
   system command was used to delete files,
then use RMAN CROSSCHECK and
   DELETE EXPIRED commands.

After seeing above, it
can easily be judged that problem was with fast recovery area. If fast recover
area is full, no more archived logs could be created and ORA-19809 is evident.

To solve this problem the
suggestions appearing in alert log file can be follows. Either free up the fast
recovery area by deleting the files in the FRA, or space in the FRA can be
increased. A soft increase in the FRA space is to rest
DB_RECOVERY_FILE_DEST_SIZE to a value closer to the actual size of the FRA file
system, thus allowing more files to be created under FRA.

If archive generation has
increased over time, or flashback logs are there in the FRA for a guaranteed
restore point that you cannot drop, you might consider adding more space to the
FRA file system.

PROBLEM:

While taking rman backup, it failed with below error ( ORA-19809 & ORA-19804)

RMAN> backup archivelog all;

Starting backup at 26-MAY-17
current log archived
using channel ORA_DISK_1
channel ORA_DISK_1: starting archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=1942 RECID=1750 STAMP=944758808
input archived log thread=1 sequence=1943 RECID=1751 STAMP=944773254
channel ORA_DISK_1: starting piece 1 at 26-MAY-17
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 05/26/2017 11:53:47
ORA-19809: limit exceeded for recovery files          ---------------------------------------- >  ERROR 
ORA-19804: cannot reclaim 882983936 bytes disk space from 5368709120 bytes limit    ----------->  ERROR

SOLUTION:

1. Check the value of db_recovery_file_dest_size:

SQL> show parameter db_recovery

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string      /archive/TESTDB
db_recovery_file_dest_size           big integer 5G

2. Check the space usage in recovery_dest

SQL> select SPACE_USED/1024/1024/1024 "SPACE_USED(GB)" ,SPACE_LIMIT/1024/1024/1024 "SPACE_LIMIT(GB)" from  v$recovery_file_dest;

SPACE_USED(GB) SPACE_LIMIT(GB)
----------      -----------
4.5                5 

We can see out of 5G, 4.5G is already used. Let’s increase the value of db_recovery_file_dest to a higher value.

3. Increase db_recovery_file_dest

SQL> alter system set db_recovery_file_dest_size=8G;

System altered.

SQL> select SPACE_USED/1024/1024/1024 "SPACE_USED(GB)" ,SPACE_LIMIT/1024/1024/1024 "SPACE_LIMIT(GB)" from  v$recovery_file_dest;

SPACE_USED(GB) SPACE_LIMIT(GB)
-------------- ---------------
    5.31985807               8

Run the rman job again, It will complete successfully.

RMAN> backup archivelog all;

Starting backup at 26-MAY-17
current log archived
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=282 device type=DISK
channel ORA_DISK_1: starting archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=1942 RECID=1750 STAMP=944758808
input archived log thread=1 sequence=1943 RECID=1751 STAMP=944773254
input archived log thread=1 sequence=1989 RECID=1797 STAMP=944999626
input archived log thread=1 sequence=1990 RECID=1798 STAMP=944999713
channel ORA_DISK_1: starting piece 1 at 26-MAY-17
channel ORA_DISK_1: finished piece 1 at 26-MAY-17
piece handle=/archive/TESTDB/TESTDB/backupset/2017_05_26/o1_mf_annnn_TAG20170526T115514_dlhvcm48_.bkp tag=TAG20170526T115514 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:07
Finished backup at 26-MAY-17

Starting Control File and SPFILE Autobackup at 26-MAY-17
piece handle=/archive/TESTDB/TESTDB/autobackup/2017_05_26/o1_mf_s_944999722_dlhvctjw_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 26-MAY-17

RMAN

if following error occurred on Oracle database or database hanged due to this error

Errors in file /opt/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_arc3_1202.trc:
ORA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim 44131328 bytes disk space from 4070572032 limit
ARC3: Error 19809 Creating archive log file to ‘/opt/app/oracle/flash_recovery_area/ORCL/archivelog/2011_04_29/o1_mf_1_330_%u_.arc’

check space is fill !!!!!!!!!

set lines 100
col name format a60
select name
, floor(space_limit / 1024 / 1024) «Size MB»
, ceil(space_used / 1024 / 1024) «Used MB»
from v$recovery_file_dest
order by name
/

oracle@apt-amd-02:~> id
uid=1001(oracle) gid=1000(oinstall) groups=1000(oinstall)
oracle@apt-amd-02:~> rman

Recovery Manager: Release 11.2.0.1.0 — Production on Fri Apr 29 06:56:30 2011

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

RMAN> connect target /

connected to target database: ORCL (DBID=1267852645)

RMAN> delete force archivelog until time ‘sysdate -1’; —- delete some archive log file

using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=50 device type=DISK
List of Archived Log Copies for database with db_unique_name ORCL
=====================================================================

Key Thrd Seq S Low Time
——- —- ——- — ———
91 1 330 A 13-APR-11
Name: /opt/app/oracle/flash_recovery_area/ORCL/archivelog/2011_04_29/o1_mf_1_330_6vnqzs5c_.arc

92 1 331 A 13-APR-11
Name: /opt/app/oracle/flash_recovery_area/ORCL/archivelog/2011_04_29/o1_mf_1_331_6vnr0q87_.arc

93 1 332 A 13-APR-11
Name: /opt/app/oracle/flash_recovery_area/ORCL/archivelog/2011_04_29/o1_mf_1_332_6vnr0x7c_.arc

Do you really want to delete the above objects (enter YES or NO)? yes
deleted archived log
archived log file name=/opt/app/oracle/flash_recovery_area/ORCL/archivelog/2011_04_29/o1_mf_1_330_6vnqzs5c_.arc RECID=91 STAMP=749717522
deleted archived log
archived log file name=/opt/app/oracle/flash_recovery_area/ORCL/archivelog/2011_04_29/o1_mf_1_331_6vnr0q87_.arc RECID=92 STAMP=749717587
deleted archived log
archived log file name=/opt/app/oracle/flash_recovery_area/ORCL/archivelog/2011_04_29/o1_mf_1_332_6vnr0x7c_.arc RECID=93 STAMP=749717596
Deleted 3 objects

check all the file deleted ….

RMAN> delete force archivelog until time ‘sysdate -1’;

released channel: ORA_DISK_1
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=50 device type=DISK
specification does not match any archived log in the repository

When you try to connect with Oracle Database and it throws an error message ORA-19809: limit exceeded for recovery files. It means archive destination (db_recovery_file_dest) has been full.

Following error will appear in the alert log file if you try to shutdown a database or switch a log file:

ORACLE Instance flash – Archival Error
ORA-16038: log 1 sequence# 45 cannot be archived
ORA-19809: limit exceeded for recovery files

ORA-19809 limit exceeded

To resolve this issue follow below steps:

Step-1: Issue Shutdown Abort command

SQL> conn sys/sys as sysdba

Connected.

SQL> shutdown abort;

ORACLE instance shut down.

Step-2: Mount the Oracle Database

SQL> startup mount;

ORACLE instance started.

Total System Global Area 1071333376 bytes

Fixed Size                  1388352 bytes

Variable Size             620757184 bytes

Database Buffers          444596224 bytes

Redo Buffers                4591616 bytes

Database mounted.

Step-3: Format Column Size

SQL> col name format A50

SQL> col space_limit format A10

SQL> col space_used format A10

Step-4: Check Total Size and Used Space

SQL> select  name,  (space_limit/1024/1024) ||'MB' as Space_Limit,
(space_used/1024/1024)||'MB' as Space_Used from  v$recovery_file_dest;

NAME                                               SPACE_LIMI SPACE_USED
-------------------------------------------------- ---------- ----------
C:oraclexeapporaclefast_recovery_area          10240MB    10230MB

Step-5: Increase Archive Log Destination Size or Delete Archive Log Files

If the space is full then you have two options:

Option-A) You can increase archive destination size (db_recovery_file_dest_size)

SQL> alter system set db_recovery_file_dest_size=4096m scope=both;

Or

Option-B) You can copy all the archive log files manually at some other location and delete all those archive log files using RMAN.

C:>rman target /

Recovery Manager: Release 11.2.0.2.0 - Production on Thu Nov 20 15:16:56 2013

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

connected to target database: XE (DBID=2712423074)

RMAN> DELETE ARCHIVELOG ALL;

It will prompt you for Yes/No option, Type Yes and press Enter to delete all archive log files from your Hard Disk.

Note: Backup all the archive log files before issuing DELETE ARCHIVELOG ALL command.

Step-6: Open the database

SQL> alter database open;

Database altered.

SQL>

Now check your database functioning again by shutdown and startup command.

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup;

ORACLE instance started.

Total System Global Area 1071333376 bytes

Fixed Size                  1388352 bytes

Variable Size             620757184 bytes

Database Buffers          444596224 bytes

Redo Buffers                4591616 bytes

Database mounted.Database opened.

Posted by John Hallas on July 16, 2008

I have long been plagued by the parameter db_recovery_file_dest_size causing a problem when the size limit is exceeded.
As I have been working on development systems my normal work around was to free up some space in the db_recovery_file_dest and hope that
that the database would continue after the archiver logger error.
Invariably I needed to restart the database and hope that the problem resolves itself.
Today I decided to take some action and work out how to fix the problem.

I logged onto the ASM disk using asmcmd -p (the -p shows the current working directory) and moved to the archive log directory
ASCMD > cd FRA/SID/ARCHIVELOG/2008-07-16
ASCMD > rm thr* (I did not need to keep the archive logs as we had no need to backup/restore the database as it could be rebuilt if necessary)
ASCMD > YES (to confirm the prompt)

I then waited for the database to continue from the archiver error but this did not happen

The alert log typically shows an entry as follows :-

ORA-19815: WARNING: db_recovery_file_dest_size of 42949672960 bytes is 100.00% used, and has 0 remaining bytes available.
************************************************************************
You have following choices to free up space from flash recovery area:
1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,
then consider changing RMAN ARCHIVELOG DELETION POLICY.
2. Back up files to tertiary device such as tape using RMAN
BACKUP RECOVERY AREA command.
3. Add disk space and increase db_recovery_file_dest_size parameter to
reflect the new space.
4. Delete unnecessary files using RMAN DELETE command. If an operating
system command was used to delete files, then use RMAN CROSSCHECK and
DELETE EXPIRED commands.
************************************************************************
Errors in file /u00/app/oracle/diag/rdbms/sid/SID/trace/SID_ora_20214.trc:
ORA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim 1063256064 bytes disk space from 42949672960 limit
ARCH: Error 19809 Creating archive log file to ‘+FRA’

I am sure that this message is either new in 11g or has been improved because I have never noticed the 4th option before.

I had previously configured RMAN on the database and I realised that I needed to ensure that the RMAN catalog was aware that the files had been removed manually and space was now available.

RMAN > CHANGE ARCHIVELOG ALL VALIDATE;
RMAN > DELETE EXPIRED ARCHIVELOG ALL;

Metalink Document https://metalink.oracle.com/metalink/plsql/f?p=200:27:9917209390401703684::::p27_id,p27_show_header,p27_show_help:621248.995,1,1 has an unpublished note on the subject

Cause
~~~~~~~

We register all the information about what we place in the flash recovery area in
the rman repository/controlfile. If we determine that there is not sufficient space
in the recovery file destination, as set by dest_size then we will fail.

Just deleting the old backups/archive logs from disk is not sufficient as it’s the rman repository/controlfile
that holds the space used information.

Fix
~~~~

There are a couple of possible options.

1) Increase the parameter db_recovery_file_dest_size
2) Stop using the db_recovery_file_dest by unsetting the parameter.
( This assumes you never really wanted to use this option )
3) Remove the Entries from the rman repository/Controlfile

The removal is desribed in the RMAN documentation but this is a quick and
dirty way if you don’t have an rman repository – but could endanger your ability
to recover – so be careful.

a) delete unwanted archive log files from disk ( rm /del )
b) connect to rman
c) rman crosscheck archivelog all – marks the controlfile that the archives have been deleted
d) rman delete expired archivelog all – deletes the log entries identified above.

This entry was posted on July 16, 2008 at 1:30 pm and is filed under Oracle.
Tagged: archiver, db_recovery_file_dest_size, ORa-19804, ORA-19809, ORA-19815. You can follow any responses to this entry through the RSS 2.0 feed.

You can leave a response, or trackback from your own site.

The Problem

Instance terminated due to error 16038 as its not able to archive the log in FRA:

ORA-19815: WARNING: db_recovery_file_dest_size of 99614720000 bytes is 100.00% used, and has 0 remaining bytes available. 
Sat Mar 8 00:57:07 2008 
************************************************************************ 
You have following choices to free up space from flash recovery area: 
1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard, then consider changing RMAN ARCHIVELOG DELETION POLICY. 
2. Back up files to tertiary device such as tape using RMAN BACKUP RECOVERY AREA command. 
3. Add disk space and increase db_recovery_file_dest_size parameter to reflect the new space. 
4. Delete unnecessary files using RMAN DELETE command. If an operating system command was used to delete files, then use RMAN CROSSCHECK and DELETE EXPIRED commands. 
************************************************************************ 

Sat Mar 8 00:57:07 2008 
Errors in file /usr/oracle/admin/ORAPTCMK/bdump/oraptcmk1_arc0_623454.trc: 
ORA-19809: limit exceeded for recovery files 
ORA-19804: cannot reclaim 308281344 bytes disk space from 99614720000 limit 
Sat Mar 8 00:57:07 2008 
ARC0: Error 19809 Creating archive log file to '+DATA' 
Sat Mar 8 00:57:07 2008 
Errors in file /usr/oracle/admin/ORAPTCMK/udump/oraptcmk1_ora_680508.trc: 
ORA-16038: log 17 sequence# 34003 cannot be archived 
ORA-19809: limit exceeded for recovery files 
ORA-00312: online log 17 thread 1: '+DATA/oraptcmk/onlinelog/redolog171.log' 
ORA-00312: online log 17 thread 1: '+FLRC/oraptcmk/onlinelog/redolog172.log' 
Sat Mar 8 00:57:07 2008 
USER: terminating instance due to error 16038

The Solution

Default archive log destination was set to Flash Recovery Area and FRA is 100% used. There is no space to create additional archive log. Similar situation also occur if the database is up and running and archive log’s destination for FRA is full then the database will hang.

Other similar issue because of archiving is stuck because of FRA space pressure are

  1. Database Hangs
  2. Users not able to connect to database
  3. Not able to open the database
  4. FRA space related error in the alert.log file ( ORA-19809 )

Make more space in Flash Recovery Area or change the archivelog destination to outside Flash Recovery Area. By default Archive log are created in FRA if no specific log_archive_dest_n parameter was set and Flash Recovery Area is enabled.

SQL>  show parameter db_recovery_file_dest 

NAME                            VALUE 
----------------------       -------------------------- 
db_recovery_file_dest        E:oracleproduct10.2.0flash_recovery_area 
db_recovery_file_dest_size   2G
SQL> archive log list; 
Database log mode              Archive Mode 
Automatic archival             Enabled 
Archive destination            USE_DB_RECOVERY_FILE_DEST 
Oldest online log sequence     174 
Next log sequence to archive   176 
Current log sequence           176

If you are using RMAN for the database backup then check the space distribution in FRA. For example:

SQL>select file_type, percent_space_used as used,percent_space_reclaimable as reclaimable, 
    number_of_files as "number" from v$flash_recovery_area_usage; 
     
    FILE_TYPE          USED RECLAIMABLE     number 
    ------------ ---------- ----------- ---------- 
    CONTROLFILE           0           0          0 
    ONLINELOG             0           0          0 
    ARCHIVELOG        89.94           0         53 
    BACKUPPIECE        9.51           0         11 
    IMAGECOPY             0           0          0 
    FLASHBACKLOG          0           0          0

In the Above example almost all the space are used by Archivelogs and backup pieces and there is no space to reclaim. In this type of case you can

  • Increase the FRA size
  • Take backup backup of the archivelogs to different location
  • If tape backup is a option then take backup of FRA to tape
  • Change archivelogs destination out of FRA
  • Delete archivelogs to make more space. ( should be the last option) and in case of standby database make sure those logs are already applied to standby

Usually archiving is configured to FRA for automatic management of archivelog files. This works well if you are using a standby configuration or using RMAN for backups so that there is a basis for archives to get obsolete and be cleaned up automatically from FRA. If you do not want to take advantage of automatic space management in FRA, you can set any non-FRA location for the archivelogs. For example

Set an archivelog destination:

SQL> alter system set log_archive_dest_1='LOCATION=E:oracleproduct' scope=both ; 

Unset the default setting for FRA:

SQL> alter system set log_archive_dest_10='' scope=both;

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Error 1962 no operating system found press any key to repeat boot sequence lenovo
  • Error 1962 no operating system found lenovo что делать моноблок
  • Error 1962 no operating system found boot sequence will automatically repeat что это
  • Error 1962 no operating system found boot sequence will automatically repeat что делать
  • Error 1962 no operating system found boot sequence will automatically repeat перевод

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии