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.
- Oracle Support Document 19052685.8 (Bug 19052685 - ORA-600 [kpdbSwitchPreRestore: txn] from SQL autotune of a remote (dblink) query - superseded)
- Oracle Support Document 1997279.1 (Automated SQL Tuning Task Fails with ORA-00600: [kpdbSwitchPreRestore: Txn])
- Oracle Support Bug 19942889 (ORA-600 [KPDBSWITCHPRERESTORE: TXN])
- Oracle Support Document 2003815.1 (ORA-600 [kpdbSwitchPreRestore: txn])
- Oracle Support Document 21283337.8 (Bug 21283337 - ORA-600 [kghstack_underflow_internal_1] or similar if fix for bug 19052685 present)
Have you enjoyed? Please leave a comment or give a 👍!
2 comments
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
Author
Fixed! Thanks! =]