Skip Ribbon Commands
Skip to main content
Navigate Up
Sign In

Quick Launch

Average Rating:

facebook Twitter
Email
Print Bookmark Alert me when this article is updated

Feedback

"TM_6834 Deadlock when updating recovery information for the recovery table PM_REC_STATE" while running a PowerCenter session
Problem Description
PowerCenter session fails with the following error:

SQL Server version of the error


TM_6834 : The following error occurred when updating recovery information for the recovery table PM_REC_STATE: [Microsoft OLE DB Provider for SQL Server:   Transaction (Process ID 232) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
SQL State: 40001       Native Error: 1205
State: 45         Severity: 13
SQL Server Message: Transaction (Process ID 232) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.


Oracle version of the error


yyyy-mm-dd HH:MM:SS : ERROR : (xxxx | WRITER_1_*_1) : (IS | IS_XXX) : LETL117A : WRT_8229 : Database errors occurred: 

ORA-00060: deadlock detected while waiting for resource


Database driver error...

Function Name : Execute​


DB2 version of the error


WRITER_1_*_1> TM_6834 The following error occurred when updating recovery information for the recovery table PM_REC_STATE: [

[IBM][CLI Driver][DB2] SQL0913N  Unsuccessful execution caused by deadlock or timeout.  Reason code "00C90088".  SQLSTATE=57033

 sqlstate = 57033

Database driver error...

Function Name : Execute

SQL Stmt : UPDATE PM_REC_STATE SET CHKP_NUM = ?, STATE_DATA = ? WHERE APPL_ID = ? AND SEQ_NUM = ?

Native error code = -913

DB2 Fatal Error]


​​
Cause

This error can occur when two or more sessions write data to the same recovery tables in the same target database.

This error can occur especially with CDC sessions.

Solution

This issue can be resolved by providing different table names (for recovery tables) for two or more different sessions writing to the same target database.

You can override the recovery table names in the session properties. By doing so, each session will write to its own recovery table and avoid the deadlock.


You can set the following custom properties at the session level and provide different table names:


TgtRecoveryTableName

PM_RECOVERY

TgtIdRecoveryTableName

PM_TGT_RUN_ID

StateRecoveryTableName

PM_REC_STATE


More Information
​For further details, refer HOW TO: Override the Name of a Recovery Table (KB 23016).
Applies To
Product: PowerCenter; PowerExchange
Problem Type: Configuration; Connectivity; Product Feature
User Type: Administrator; Architect; Developer
Project Phase: Configure; Implement; Onboard; Optimize
Product Version: PowerCenter; PowerExchange
Database:
Operating System:
Other Software:

Reference
Attachments
Last Modified Date:10/9/2019 12:44 PMID:111605
People who viewed this also viewed

Feedback

Did this KB document help you?



What can we do to improve this information (2000 or fewer characters)