You are on page 1of 2

8/10/2021 Document 1527740.

1
Copyright (c) 2021, Oracle. All rights reserved. Oracle Confidential.

ALERT: Bug 13605839 ORA-600 [ktbsdp1] ORA-600 [kghfrempty:ds] ORA-600


[kdBlkCheckError]. Corruption in Rollback with Clusterwide Global Transactions in RAC (Doc ID
1527740.1)

In this Document

Description
Occurrence
Symptoms
Workaround
Patches
History
References

APPLIES TO:

Oracle Database - Enterprise Edition - Version 11.1.0.6 to 11.2.0.3 [Release 11.1 to 11.2]
Oracle Database Cloud Schema Service - Version N/A and later

Oracle Database Exadata Cloud Machine - Version N/A and later

Oracle Cloud Infrastructure - Database Service - Version N/A and


later
Oracle Database Exadata Express Cloud Service - Version N/A and later

Information in this document applies to any platform.

***Checked for relevance on 24-Jul-2014***

***Checked for relevance on 5th-Augl-2014***

DESCRIPTION

Database Block Corruption during ROLLBACK to <SAVEPOINT> when updating a RAC database with Clusterwide Global
Transactions (database link or XA transaction).

OCCURRENCE

This affects only systems configured with Real Application Cluster (RAC) when using Cluster Wide Transactions and ROLLBACK
to <SAVEPOINT> within the transaction.

SYMPTOMS

Block corruption at a RAC database when some other database updates more than one of the instances using a Cluster Wide
Transaction: via a database link or XA transaction and ROLLBACK to SAVEPOINT was executed.

This may manifest in the client database producing errors like ORA-2055, ORA-2063 (that may also be printed in the client
database alert log) and the current cursor is a ROLLBACK to a SAVEPOINT:

  ORA-00603: ORACLE server session terminated by fatal error


 

ORA-02055: distributed update operation failed; rollback required


  ORA-02063: preceding lines from <DB NAME OF AFFECTED DB>

  ----- Current SQL Statement for this session (sql_id=6msw39ndj9uq4) -----


  ROLLBACK TO FM_1

  where FM_1 is a SAVEPOINT.

https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=17xl0hlc3z_1201&id=1527740.1 1/2
8/10/2021 Document 1527740.1

The affected database may then produce different errors but not limited to:

  ORA-600 [ktbsdp1]
  ORA-600

[kghfrempty:ds]
  ORA-600

[kdourp_inorder1]
  ORA-600
on call stack
[4156] with ktcrsp1
  ORA-600
[6101] or [6110] when db_block_checking is enabled.
[kdBlkCheckError] with check codes

Clusterwide global transactions are a new feature in 11g to allow XA transactions to be more transparent on RAC databases. 
Basically, a clusterwide global transaction is a distributed transaction which has done some work (and thus has a local
transaction) in each of two or more instances of a RAC database.  With _clusterwide_global_transactions=true (the default),
Oracle treats these two local transactions as a single transaction.  With _clusterwide_global_transactions=false, Oracle treats
them as separate transactions coordinated by two-phase commit.

A Clusterwide global transactions can be created in multiple instances in RAC by either:


1. Using XA to provide a global transaction id which allows multiple sessions to operate within the same global transaction,
OR:
2. Using a loopback database link to connect to a different instance in the cluster.  

WORKAROUND

Set _clusterwide_global_transactions=false (at the RAC database). Setting this parameter to false does not affect
performance.

PATCHES

Apply Patch 13605839

Reference Note 13605839.8 for versions fixing this issue.

HISTORY

09-FEB-2013 - Article Published.

REFERENCES

NOTE:13605839.8 - Bug 13605839 - ORA-600 [ktbsdp1] ORA-600 [kghfrempty:ds]. Corruption in Rollback with Clusterwide
Global Transactions in RAC
BUG:13605839 - CORRUPTION
IN ROLLBACK: ORA-600 [KTBSDP1] AND ORA-600 [KGHFREMPTY:DS]
Didn't find what you are looking for?

https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=17xl0hlc3z_1201&id=1527740.1 2/2

You might also like