ORA-00600 [kcbchg1_28] in Alertlog and Enforce constantly crashes.

book

Article ID: 160281

calendar_today

Updated On:

Products

Data Loss Prevention Enforce

Issue/Introduction

After applying Oracle CPU patch CPUJan2014, Enforce continually crashes and the Oracle alertlog fills with ORA-00600[kcbchg1_28] errors and related trace files.

In March of 2014, Oracle rescinded their quarterly CPU patch for January 2014 due to a specific issue that resulted in an ORA-00600 [kcbchg1_28] error.  An example follows:

...

Mon May 12 13:47:22 2014
Errors in file D:\ORACLE\diag\rdbms\protect\protect\trace\protect_smon_1048.trc  (incident=344156):
ORA-00600: internal error code, arguments: [kcbchg1_28], [0], [0], [], [], [], [], [], [], [], [], []
Incident details in: D:\ORACLE\diag\rdbms\protect\protect\incident\incdir_344156\protect_smon_1048_i344156.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
ORACLE Instance protect (pid = 14) - Error 600 encountered while recovering transaction (10, 33) on object 89735.
Errors in file D:\ORACLE\diag\rdbms\protect\protect\trace\protect_smon_1048.trc:
ORA-00600: internal error code, arguments: [kcbchg1_28], [0], [0], [], [], [], [], [], [], [], [], []
Mon May 12 13:47:24 2014
Dumping diagnostic data in directory=[cdmp_20140512134724], requested by (instance=1, osid=1048 (SMON)), summary=[incident=344156].
Mon May 12 13:47:26 2014
Sweep [inc][344156]: completed

...

Resolution

The error is very specific to the Patch Bundle 28, also known as CPUJan2014 (released 12/31/2014), hence the first argument of [kcbchg1_28].  

Follow the deinstallation instructions that come with that specific CPU patch (reprinted here):

3.4.1 Patch Deinstallation Instructions for Single Instance

Follow these steps:

  1. Verify that an $ORACLE_HOME/rdbms/admin/catbundle_WINBUNDLE_<database SID>_ROLLBACK.sql file exists for each database associated with this ORACLE_HOME. If this is not the case, you must execute the steps in Section 3.3.8.1, "Loading Modified SQL Files into the Database" against the database before deinstalling the patch.

  2. Cleanly shut down all processes running from the ORACLE_HOME.

  3. Stop all Oracle Services, Distributed Transaction Coordinator (which is not an Oracle service), and all applications accessing the database to which you are applying the patch.

  4. Set the ORACLE_HOME environment variable to the correct Oracle home that was patched.

    > set ORACLE_HOME=<Oracle Home Path> 
  5. Ensure that the directory containing the OPatch script appears in your PATH setting. Enter the following command to run OPatch:

    > opatch rollback -id 17906982  
  6. Inspect the opatch<timestamp>.log file generated in %ORACLE_HOME%\cfgtoollogs\opatch for any errors.

  7. If there are errors, refer to Section 4, "Known Issues".

After Patch Bundle 28 is removed, apply CPUApr2014, which is  Patch Bundle 30.  Patch Bundle 29, a direct replacement for Patch Bundle 28 has been released by Oracle, but has not been certified by Symantec DLP and will not be made available.  Patch Bundle 30 has been certified and is readily available.

Oracle CPU Patches are cummulative.  By applying the latest patch, all prior fixes are applied a well.