Thursday, August 30, 2012

How to Easily Resolve Memory Handling Errors in Oracle Database

Oracle database corruption may stem from a small negligence on the part of the DBA or may occur as a result of any contingency. Whatever may be the reason for corruption, the impact is usually deep and cataclysmic. You may receive a range of errors after your database has fallen prey to the corruption monster. The frequently received errors include a series of ORA-600 each having different set of parameters. ORA-600 is an internal error that is indicative of an issue with your database code. When Oracle performs consistency checks to ensure that the data used for internal processing is valid, ORA-600 error may be thrown if a code check fails. The first argument of this error tells the location where exactly in the code the database check failed.


For instance, you may run across the following ORA-600 error on your screen:

‘ORA-00600: internal error code, arguments: [729], [800], [space leak], [], [],’

The above ORA-600 error is typically raised due to a memory handling issue. The argument after ‘729’ usually varies. A space leak denotes that some code has not released a part of the memory it utilized for execution. When the process gets disconnected from the database and identifies that some memory was not cleaned up during its execution, it throws error ORA-600 [729]. The next argument indicates the number of bytes of memory left unreleased.

As the error is internal to the database, you cannot find out the cause by examining the application code. You may choose to avoid the error by adding the following statement to your database initialization file:

event="10262 trace name
context forever, level xxxx"

Or
You may execute the following to set an event in the file as follows:

SQL>alter system set events
'10262 trace name context forever,
level xxxx' scope=spfile;

You should shut down your database and restart it to allow the changes to take effect. You need to replace ‘xxxx’ with a value greater than the one listed in the second argument of the error.

The ORA-600 errors may put your Oracle database into an inconsistent state and cause unexpected data loss. In order to work around this problem, you should take help of professional Oracle database recovery software. Using these tools, you can easily fix corruption in your database and recover all lost or inaccessible information from the database. These software support all versions of Oracle, including 11g, 10g, and 9i.

No comments:

Post a Comment