Monday, July 14, 2008

ORA-00470 LGWR terminated.

LGWR Process got terminated with ORA-00604 And 00600

Its a Case of 13 Instance Node (RAC) , Name of DB is ADSPRDP.

Second instance ADSPRDP2 got crashed & when I tried to start instance got below error in alert log. LGWR process was getting terminated with ORA-00604 and ORA-00600


ORA-00470: LGWR process terminated with error

Fri Jul 4 13:44:11 2008
Master archival failure: 470
Fri Jul 4 13:44:11 2008
Errors in file /u01/app/oracle/admin/ADSPRDP/bdump/adsprdp2_j000_2115.trc:
ORA-00604: error occurred at recursive SQL level 1
ORA-00449: background process 'LGWR' unexpectedly terminated with error 600
ORA-00600: internal error code, arguments: [], [], [], [], [], [], [], []
Fri Jul 4 13:44:12 2008



Currently instance is started and all required service is running properly on it.
Question Arises why that happened in my environment....?

As per my finding for this environment Patch was missing.


It is a db of oracle apps, May be patch has to be applied to fully resolve ORA-00604, (Patch 4232513 by MetaLink)

For My environment I had suggest patch.

For more understanding of ORA-00470 below are the two other case discussed, but that were probably different from our case.

CASE 1

Problem Description:
If database performance is degrading and eventually you crash.


You look in the PMON trace file and find the following errors.

error 470 detected in background process
00447, 00000, "fatal error in background process"
// *Cause: One of the background processes died unexpectedly.
// *Action: Warm start the system.
ora-470
00470, 00000, "LGWR process terminated with error"
// *Cause: The log writer process died
// *Action: Warm start instance

DBWR and SMON indicate the same thing.

If you are receiving the following errors in PMON, LGWR and SMON trace files: error 470 detected in background process OPIRIP: Uncaught error 447. Error stack: ORA-00447: fatal error in background process ORA-00470: LGWR process terminated with error

No errors are being reported in the alert.log. You did receive the following alert.log entry: "ORACLE Instance - Can not allocate log, archival required"

You are forced to do the following to get the database back up:

SHUTDOWN ABORT
STARTUP
SHUTDOWN IMMEDIATE
STARTUP


Solution: INCREASE MAXFILES SETTING

Solution Description:
That means we need to verify and possibly increase MAXFILES setting.


Solution Explanation: goes like this suppose, the user had recently added new datafiles to his instance.

On checking the MAXFILES kernal parameter, user discovered that it was set to 60. Checking V$datafiles showed 47 data files. Computing the total of datafiles, control files, mirror redo logs, init.ora and alert.log files, total exceeded the 60 file limit.

CASE 2

Problem Description:
If you have problems with the database crashing & if you look in the alert.log and find no errors or trace files referenced. When you check the bdump directory, you do find three trace files, a DBWR, a LGWR and a PMON trace file. The DBWR trace file contains the following errors:


ora-00447 fatal error in background process ora-00470 LGWR process terminated with error

In the LGWR trace file you find:

ora-00447 fatal error in background process
ora-00313 open failed for members of log group of thread
ora-00312 online log thread :
ora-07362 sfifi: open error, unable to open file.
ora-00470 LGWR process terminated with error


In the PMON trace file you find:

ora-00447 fatal error in background process ora-00470 LGWR process terminated with error

Problem Explanation:

The OS kernel parameter 'NFILES' parameter is set too low. When Oracle is trying to open an online log file, it is failing due to operating system restraints. You may have recently upgraded or migrated and added more redo log groups or mirrors. Thus you are now having this problem where you did not previously.

Solution: INCREASE OS PARAMETER 'NFILES'.

Solution Description:

Have your System Administrator increase the 'NFILES' parameter on the Operation System.

Solution Explanation: The OS kernel parameter 'NFILES' parameter is set too low. When Oracle is trying to open an online log file, it is failing due to operating system restraints.