ORA-00257 archiving logs full resolution
April 3, 2016
Customer environment: Linux + RAC
Client account login, error prompt: ORA-00257: archiver error. Connect internal only, until freed
Use PUTTY to connect to the server
Enter the Oracle account:
[Root @ hisrac2 ~] # Su-oracle
[Oracle @ hisrac2 ~] $ Sqlplus
SQL * Plus: Release 10.2.0.4.0-Production on Sunday April 3 15:06:57 2016
Copyright (c) 1982,200 7, Oracle. ALL Rights Reserved.
SQL> conn/as sysdba;
Connected.
SQL> Archive log list;
Database log mode Archive Mode
Automatic archive Enabled
Archive destination/u01/app/oracle/archivelog
Oldest online log sequence 1716
[Oracle @ hisrac2 ~] $ Rman target/
Recovery MANAGER: Release 11.2.0.1.0-Production on Tuesday April 5 15:23:09 2016
Copyright (c) 1982,200 9, Oracle and/or its affiliates. All rights reserved.
Connect to the target database: ORCL (DBID = 1285975621)
-- Clears archived logs 45 days ago;
RMAN> delete archivelog all completed before 'sysdate-45 ';
Use the target database control file to replace the recovery directory
Allocated channel: ORA_DISK_1
Channel ORA_DISK_1: SID = 30 device type = DISK
List of archived log copies of databases whose db_unique_name is ORCL
========================================================== ==================================
Keyword thread sequence S lower limit of time
-----------------------------
173 1 142 A-16
Name: \ u01 \ app \ oracle \ archivelog \ 2016_04_02 \ o1_mf_1_142_chy1_6fk_.arc
174 1 143 A 01-4 months-16
Name: \ u01 \ app \ oracle \ archivelog \ 2016_04_02 \ O1_MF_1_143_CHYQFH52_.ARC
175 1 144 A 01-4 months-16
Name: \ u01 \ app \ oracle \ archivelog \ 2016_04_02 \ O1_MF_1_144_CHYQH98G_.ARC
176 1 145 A-16 months
Name: \ u01 \ app \ oracle \ archivelog \ 2016_04_02 \ O1_MF_1_145_CHYQNRXX_.ARC
177 1 146 A-16 months
Name: \ u01 \ app \ oracle \ archivelog \ 016_04_02 \ O1_MF_1_146_CHYQNX6S_.ARC
178 1 147 A-16 months
Name: \ u01 \ app \ oracle \ archivelog \ 2016_04_02 \ O1_MF_1_147_CHYQRC6C_.ARC
.........
Are you sure you want to delete the above objects (enter YES or NO )? YES
Deleted archived logs
Archive log file name = \ u01 \ app \ oracle \ archivelog \ 2016_04_02 \ o1_mf_1_142_chy1_6fk_.arc RECID = 173 STAMP = 908113836
Deleted archived logs
Archive log file name = \ u01 \ app \ oracle \ archivelog \ 2016_04_02 \ O1_MF_1_143_CHYQFH52_.ARC RECID = 174 STAMP = 908113848
..........
XX object deleted
RMAN>
The client account is logged on again.
Summary:
Error message: ORA-00257: archiver error. Connect internal only, until freed
-- First query the archived log usage. If the result exceeds 99%, the archived log is full.
SQL> select * from V $ FLASH_RECOVERY_AREA_USAGE where file_type = 'archived log ';
-- (1). solution 1: increase the size of the archive Log Path
-- View the archive Log Path quota
SQL> show parameter db_recovery_file_dest;
NAME TYPE VALUE
-------------------------------------------------------------------------
Db_recovery_file_dest string D: \ app \ Administrator \ flash_recovery_area
Db_recovery_file_dest_size large integer 4000 M
-- You can adjust the size of db_recovery_file_dest_size (10*1024*1024*1024), 10 GB
SQL> alter system set db_recovery_file_dest_size = 10737418240;
-- (2). solution 1: Delete archived log files
-- RMAN logon cross-check
RMAN> crosscheck archivelog all;
-- Delete expired archived logs
RMAN> delete expired archivelog all;
-- Delete archived logs earlier than the specified time...
RMAN> delete archivelog all completed before 'sysdate-7 ';
The following attachment is provided: rman_delarc.rar.
I personally created a. bat file in windows. The function is as follows:
(1) double-click to delete all archived logs;
(2). Generate a log file;
(3) Each execution clears the log file content and writes the generated log Content again.