An example of ORA-00257 archiver error. error Solution
An Oracle vulnerability is found here. For example:
DELETE JEW_LOG WHERE C_ID IN (SELECT C_ID FROM BAS_BATCHNO WHERE C_WARID = '028' AND C_BATCHNOTYPE = 'P ')
The subquery in this DELETE statement reports an error because the C_ID field is not found. Therefore, the JEW_LOG table is corrupted, and 98292 data records are deleted directly. Thanks to the habit of First delete, after commit ). data will not be lost. Rollback; the result is always waiting, and other users cannot be connected.
Reported ORA-00257: archiver error. Connect internal only, until freed ......
This is because the archive log is full.
Installing Oracle 12C in Linux-6-64
Install Oracle 11gR2 (x64) in CentOS 6.4)
Steps for installing Oracle 11gR2 in vmwarevm
Install Oracle 11g XE R2 In Debian
Provides the following ORA-00257: archiver error. Connect internal only, until freed error Solution
1. Log On with the sys user
Sqlplus sys/pass @ ORCL as sysdba
2. Check the location of the archiv log.
SQL> show parameter log_archive_dest;
NAME TYPE VALUE
-----------------------------------------------------------------------------
Log_archive_dest string
Log_archive_dest_1 string
Log_archive_dest_10 string
3. If the VALUE is null, you can use archive log list to check the archive directory and log sequence.
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 360
Next log sequence to archive 360
Current log sequence 362
4. Check the usage of the flash recovery area. We can see that archivelog is already large, reaching 96.62.
SQL> select * from V $ FLASH_RECOVERY_AREA_USAGE;
FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
----------------------------------------------------------------------
CONTROLFILE. 13 0 1
ONLINELOG 2.93 0 3
ARCHIVELOG 96.62 0 141
BACKUPPIECE 0 0 0
IMAGECOPY 0 0 0
FLASHBACKLOG 0 0 0
5. Calculate the space occupied by the flash recovery area
SQL> select sum (percent_space_used) * 3/100 from v $ flash_recovery_area_usage;
SUM (PERCENT_SPACE_USED) * 3/100
-----------------------------
2.9904
6. Find the recovery directory, show parameter recover
SQL> show parameter recover;
NAME TYPE VALUE
-----------------------------------------------------------------------------
Db_recovery_file_dest string/u01/app/oracle/flash_recovery_area
Db_recovery_file_dest_size big integer 5G
Recovery_parallelism integer 0
7. The above results show that the default archive location is stored in flash_recovery_area (db_recovery_file_dest directory =/u01/app/oracle/flash_recovery_area)
[Root @ sha3 10.2.0] # echo $ ORACLE_BASE
/U01/app/oracle
[Root @ sha3 10.2.0] # cd $ ORACLE_BASE/flash_recovery_area/ORCL/archivelog
Transfer or clear the corresponding archive log, delete some files in the date directory that are not used, and keep the last few files (for example, files later than 360)
Bytes ---------------------------------------------------------------------------------------
Note:
After deleting archived logs, you must use the RMAN maintenance control file. Otherwise, the space is still not released.
Bytes ---------------------------------------------------------------------------------------
8. rman target sys/pass
[Root @ sha3 oracle] # rman target sys/pass
Recovery Manager: Release 10.2.0.4.0-Production on Tue Jan 20 01:41:26 2009
Copyright (c) 1982,200 7, Oracle. All rights reserved.
Connected to target database: tt (DBID = 4147983671)
9. Check for useless archivelog
RMAN> crosscheck archivelog all;
10. Delete expired Archives
RMAN> delete archivelog until time 'sysdate-1'; -- delete all archivelog files that expire on the previous day.
Delete expired archivelog all; ---- delete all archivelog
Do you really want to delete the above objects (yes or no) yes
For more details, please continue to read the highlights on the next page: