ORA-00600: internal error code, arguments: [kpdbSwitchPreRestore: txn] in Oracle Database 12c

On several Oracle DB in 12.1.0.2 version I started receiving some strange ORA-00600 and ORA-07445 errors in the alert file. In ORA-00600, the first parameter was "[kpdbSwitchPreRestore: txn]":

Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0xFAC8] [PC:0x7A1FA6E, qksanEndSession()+30] [flags: 0x0, count: 1]
Errors in file /u02/diag/rdbms/cdbtim01/cdbtim01/trace/cdbtim01_j004_21773.trc  (incident=57639):
ORA-07445: exception encountered: core dump [qksanEndSession()+30] [SIGSEGV] [ADDR:0xFAC8] [PC:0x7A1FA6E] [Address not mapped to object] []
ORA-00603: ORACLE server session terminated by fatal error
ORA-00600: internal error code, arguments: [k2gteget: pdbid], [3], [1], [], [], [], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [k2gteget: pdbid], [3], [1], [], [], [], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [kpdbSwitchPreRestore: txn], [0x2D976B388], [0], [2685403136], [], [], [], [], [], [], [], []
Incident details in: /u02/diag/rdbms/cdbtim01/cdbtim01/incident/incdir_57639/cdbtim01_j004_21773_i57639.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.

The curious thing was that this error appeared in your alert log just after the beginning of the Maintenance Window.

When I checked the first trace file pointed by the alert, I saw that the current SQL statement was related to some SQL Tuning task.

Unfortunately this is a bug (you can check on references section) that will be only be fixed in Oracle Database 12.2 version (not release until today March/2016).

Workaround:

The best workaround to avoid this errors is to disable the Automatic SQL Tuning task (on both CDB and PDB):

BEGIN
   dbms_auto_task_admin.disable(client_name => 'sql tuning advisor', operation => NULL, window_name => NULL);
END;
/

After a fix is provided by Oracle and you apply it, don't forget to enable it back (on both CDB and PDB):

BEGIN
   dbms_auto_task_admin.enable(client_name => 'sql tuning advisor', operation => NULL, window_name => NULL);
END;
/

References:

Here are some docs in Oracle that describe this bug.

 

Have you enjoyed? Please leave a comment or give a 👍!

2 comments

  1. Hi Rodrigo,

    I encountered the same problem after applying Bundle Patch 170418 to my 12.1.0.2 databases.
    Had the same line of solving the problem in mind, since this will not be fixed in a patch or so.

    Maybe you wish to change disable into enable in the second code snippet 🙂

    Best Regards,
    Maritjn

    1. Fixed! Thanks! =]

Leave a Reply

Your email address will not be published.