Log on to Oracle today and encountered a ORA-16020: less destinations available than specified by LOG_ARCHIVE_MIN_SUCCEED_DEST this problem, the specific solution is as follows:
1. Log On with the sys user
SQL> sys/sys as sysdba
2. Check the location of the archiv log.
SQL> show parameter log_archive_dest;
NAME TYPE VALUE
-----------------------------------------------------------------------------
Log_archive_dest_10 string
Log_archive_dest_state_1 string
Log_archive_dest_state_2 string
3. If the VALUE is null, you can use archive log list to check the archive directory and log sequence.
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;
Note: V $ FLASH_RECOVERY_AREA_USAGE must be of Version 10.2 or later to have this view. If it is earlier than this version, the select command prompts that the view or table does not exist, because the version I am using is 9i and all cannot be displayed.
5. Calculate the space occupied by the flash recovery area
SQL> select sum (percent_space_used) * 3/100 from v $ flash_recovery_area_usage;
If your oracle statement can be executed normally in Step 4, you can proceed to Step 5. Otherwise, skip step 5.
6. Find the recovery directory, show parameter recover
SQL> show parameter recover;
Recovery_parallelism integer 0
This is also because the version is too low. All query results do not show the values and storage locations for the archive location.
7. According to my oracle situation, I tried to execute alter database clear unarchived logfile group 1
SQL> alter database clear unarchived logfile group 1;
Alter database open;
At this step, my problem is solved. It turns out that there are logs that cannot be archived in the database. Maybe there are other solutions to this error, therefore, I will only describe the situations I have encountered.