Wednesday 18 May 2016

ORA-00600: internal error code, arguments: [17059]

Problem Description: Patch 4367986 conflicting with already installed Patch 5705795.


Getting ORA-600 [17059] on the database alert log file


Problem Explanation:


ORA-600 [17059] is a memory corruption error that occurs while building a table to hold the list of child cursor dependencies relating to a given parent cursor and we exceed the maximum possible size of the table.


 identify why so many child cursors have been created, can you please check V$SQLAREA for a statement using a excessive number of child cursors, e.g.:

connect / as sysdba
spool cursor_info.txt
select version_count, sql_id, sql_text from v$sqlarea
where version_count > 5000 order by version_count;

and then for the statement with the largest version count, identify why they are not getting shared from V$SQL_SHARED_CURSOR, e.g.:

select * from v$sql_shared_cursor where address in (
select address from v$sqlarea where sql_id = '<SQL_ID from above>');


Alert Log File shows;


Solution Temp:
1.       Schedule every hour
2.       Alter system flush shared_pool;
3.       Alter system flush shared_pool;
4.       Alter system flush shared_pool;

OR


Flush particular sql from shared pool behalf of  hash values ,address