Most people will first check whether the disk space in the archive directory is full and determine whether the archive space is full based on the free space of the archive directory, however, I think this method does not necessarily represent the actual situation. What you see may be a superficial phenomenon.
By default, when we create a database in dbca, the archive will be placed under $ Oracle_HOME/flash_recovery_area, And the size configured for FRA by oracle is 2 GB by default.
Here two parameters are required:
Db_recovery_file_dest string/oracle/flash_recovery_area
Db_recovery_file_dest_size big integer 2G
Here, if the archive size in db_recovery_file_dest reaches db_recovery_file_dest_size, oracle will not write data even if there is still disk space in the directory.
Here, we recommend that you follow the steps below to determine whether the archive space is full?
1. First, determine the disk space stored in the archive directory at the system level:
[Oracle @ localhost bdump] $ df-h
Filesystem Size Used Avail Use % Mounted on
/Dev/mapper/VolGroup00-LogVol00 26 GB 12G 14G 46%/
/Dev/sda2 19G 16G 2.8G 85%/oracle
/Dev/sda1 99 M 24 M 71 M 25%/boot
Tmpfs 978 M 508 M 470 M 52%/dev/shm
2. Determine the archive storage directory and the size of the archive storage directory.
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST ------- DB_RECOVERY_FILE_DEST is used by default.
Oldest online log sequence 17
Next log sequence to archive 20
Current log sequence 20
---- You can query the places where the archive is stored as follows:
SQL> show parameter db _
NAME TYPE VALUE
-----------------------------------------------------------------------------
Db_keep_cache_size big integer 0
Db_name string lixora
Db_recovery_file_dest string/oracle/flash_recovery_area
Db_recovery_file_dest_size big integer 2G
Db_recycle_cache_size big integer 0
Db_unique_name string lixora
----- Here we can see the space usage in the Flash recovery area:
SQL> select * From v $ flash_recovery_area_usage;
FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
----------------------------------------------------------------------
CONTROLFILE 0 0 0
ONLINELOG 4.88 0 1
ARCHIVELOG 76.05 0 47
BACKUPPIECE 3.1 0 3
IMAGECOPY 0 0 0
FLASHBACKLOG 0 0 0
6 rows selected.
------ Note that this step is to view the actual usage of the archive space:
SQL> select * from v $ recovery_file_dest;
NAME SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES
----------------------------------------------------------------------------
/Oracle/flash_recovery_area 2147483648 1804771840 0 51
However, you can view the disk space at the system level.
Oracle 11g rac modify archive Mode
Oracle manual full recovery case (archive Mode)
Oracle manual recovery case (non-archive Mode)
Instructions for setting Oracle archive Mode
Backup script in Oracle 10g archive Mode