Question: I am running Oracle Applications R 12
and getting a ORA-00257 error:
ORA-00257: archiver error. Connect internal only,
Answer: The oerr utility says
this about the ORA-00257 error:
archiver error. Connect internal only, until freed.
The archiver process received an error while trying to archive a
redo log. If the problem is not resolved soon, the database will
stop executing transactions. The most likely cause of this message
is the destination device is out of space to store the redo log
Check the archiver trace file for a detailed description of the
problem. Also, verify that the device specified in the
archive_log_dest is set up
properly for archiving.
The Oracle ARCH background process is responsible for taking the
redo logs from the online redo log file system and writing them to
the flat file
ORA-00257 outside of Oracle Applications
ADRCI and Error 19809 creating archive log file
For Oracle we examine the ADRCI alert.log entries and see a
* 2015-10-27 16:24:51.990 4265 krsh.c
ARC1: Error 19809 Creating archive log file to
ORA-19809 error involves adjusting a parameter and bouncing your
instance. The docs note:
ORA-19809: limit exceeded
for recovery files
Cause: The limit for recovery files specified by the
db_recovery_file_dest_size was exceeded.
Action: The error is accompanied by 19804. See
message 19804 for further details
ORA-19804: cannot reclaim string bytes disk
space from string limit
Cause: Oracle cannot reclaim disk space of
specified bytes from the DB_RECOVERY_FILE_DEST_SIZE limit.
Action: There are five possible solutions:
1) Take frequent backup of recovery area using
2) Consider changing RMAN retention policy.
3) Consider changing RMAN archivelog deletion
4) Add disk space and increase
5) Delete files from
recovery area using RMAN.
In this case the The Fast Recovery Area (FRA) is full with old
archive log files so we need to clean this up by removing old
archive logs. If this is a production instance you back up the
FRA log files to disk for storage for recovery and archival
Login to RMAN and run the following commands:
RMAN> CONNECT target
connected TO target DATABASE: INSTANT
RMAN> crosscheck archivelog ALL;
Note: that the crosscheck command does NOT DELETE the
information about the logs that it could NOT find ON disk, it just
updates their STATUS IN the repository AS 'EXPIRED'. TO obtain
a list OF logs marked AS 'EXPIRED' USE the following command:
RMAN> list expired archivelog ALL;
IF it IS NOT necessary TO keep the information about these
logs IN the repository, DELETE them WITH command:
RMAN> DELETE expired archivelog ALL;
RMAN> delete archivelog all completed before
The above RMAN command will delete old
archive logs past 24 hours.
Now you should be able to
connect to the database.
Below are some useful queries to
check on FRA available space:
207743 511992 40.5754387
LOG 306958 307191 99.9241514
set lines 100
col name format a60
floor(space_limit / 1024 / 1024) "Size MB".
ceil(space_used / 1024 / 1024)
order by name
Size MB Used MB
+FRA 102400 302965
you want to change the default size for the FRA you can issue the
following command from SQL*PLUS:
SQL> alter system set
Then you should archive logs:
SQL> archive log all;
3 logs archived.