ORA-00279: change generated needed recovery

I got ” ORA-00279: change generated needed recovery ”  error in Oracle database.

 

ORA-00279: change generated needed recovery

 

Details of error are as follows.

ORA-00279: change string generated at string needed for thread string

Cause: The requested log is required to proceed with recovery.

Action: Please supply the requested log with "ALTER DATABASE RECOVER LOGFILE <file_name>"
 or cancel recovery with "ALTER DATABASE RECOVER CANCEL".

The following Error Messages are seen on a Physical Standby Database when Manual Recovery
 is attempted and even when you cancel and try to restart Managed Recovery:



SQL> recover standby database;
ORA-00279: change 193486616 generated at 11/12/2020 21:10:35 needed for thread 37513
ORA-00289: suggestion : /opt/oracle/oradata/PATH/archives/FILE_NAME.ARC
ORA-00280: change 193486616 for thread 37513 is in sequence #31360



When verified the thread number is 1 usually but wondering where this 37513 thread has 
come and how to fix this. Where does this erroneous thread come from?

 

 

change string generated at string needed for thread string

This ORA-00279 error is related to the requested log is required to proceed with recovery.

Please supply the requested log with “ALTER DATABASE RECOVER LOGFILE <file_name>”

 

OR

 

cancel recovery with “ALTER DATABASE RECOVER CANCEL”.

 

 

Manual Recovery has been started after Managed Recovery has been abnormally terminated for any Reason.

This is really unusual to see such out of order thread number. The issue is with the standby control file corruption giving out an erroneous value for the thread. So recreate the standby control file to fix this error.

 

Follow these Steps if you have to recreate the Physical Standby Controlfile:

 

Note:  If your datafiles are on ASM and/or using Oracle managed files, see Note 734862.1 Step By Step Guide On How To Recreate Standby Control File When Datafiles Are On ASM And Using Oracle Managed Files.

1. Stop Managed Recovery Process on the Standby Database (if still running):

SQL> alter database recover managed standby database cancel;

 

2. Shutdown the Standby Database:

SQL> shutdown immediate;

 

3. Connect to the Primary Database as SYS:

SQL> connect sys/<Password>@<Primary> as sysdba

 

4. Create a new Physical Standby Controlfile from the Primary:

SQL> alter database create standby controlfile as '<File-Specification>';

5. Copy the new created Standby Controlfile to the Standby Database using OS-Tools (eg. cp or ftp) and replace the current Standby Controlfile with the new created one.

6. Mount the Standby Database with the new Standby Controlfile:

Oracle 8i and 9i (8.x – 9.x):

SQL> startup nomount
SQL> alter database mount standby database;

Oracle 10g and 11g (10.x – 11.x):

SQL> startup mount

 

7. If the File-Structure is different between Primary and Standby Database,  you could either rename the File-Location(s) in the new Standby Controlfile:

SQL> alter database rename file '<old Filespecification or file#>' to '<new Filespecification>';

The above command would require to change STANDBY_FILE_MANAGEMENT from AUTO to MANUAL on standby before executing the rename command. Once rename is done you can set it back to Auto.

or set db_file_name_convert or/and log_file_name_convert init parameters in the standby database.

 

8. Starting with 9i: If you don’t have Standby RedoLogs proactively on the Primary and want them on the Standby Database or you had Standby RedoLogs with this Standby Database before, now add the Standby RedoLogs (again):

SQL> alter database add standby logfile group <Group No.> ('Filespecification(s)') size <size> reuse;

Please see
Document 219344.1:Usage, Benefits and Limitations of Standby Redo Logs (SRL) for further Details about Standby RedoLogs

9. Re-enable Flashback (if Flashback was enabled previously):

SQL> alter database flashback off;
SQL> alter database flashback on;

 

10. Start Managed Recovery again:

SQL> alter database recover managed standby database disconnect [using current logfile];

 

Do you want to learn Oracle Database for Beginners, then read the following articles.

Oracle Tutorial | Oracle Database Tutorials for Beginners ( Junior Oracle DBA )

 

About Mehmet Salih Deveci

I am Founder of SysDBASoft IT and IT Tutorial and Certified Expert about Oracle & SQL Server database, Goldengate, Exadata Machine, Oracle Database Appliance administrator with 10+years experience.I have OCA, OCP, OCE RAC Expert Certificates I have worked 100+ Banking, Insurance, Finance, Telco and etc. clients as a Consultant, Insource or Outsource.I have done 200+ Operations in this clients such as Exadata Installation & PoC & Migration & Upgrade, Oracle & SQL Server Database Upgrade, Oracle RAC Installation, SQL Server AlwaysOn Installation, Database Migration, Disaster Recovery, Backup Restore, Performance Tuning, Periodic Healthchecks.I have done 2000+ Table replication with Goldengate or SQL Server Replication tool for DWH Databases in many clients.If you need Oracle DBA, SQL Server DBA, APPS DBA,  Exadata, Goldengate, EBS Consultancy and Training you can send my email adress [email protected].-                                                                                                                                                                                                                                                 -Oracle DBA, SQL Server DBA, APPS DBA,  Exadata, Goldengate, EBS ve linux Danışmanlık ve Eğitim için  [email protected] a mail atabilirsiniz.

Leave a Reply

Your email address will not be published. Required fields are marked *