Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ORA-02051 error with Commit following Update

DonbotOct 24 2011 — edited Oct 25 2011
I have a local table, CORE_WORKLOAD, and a remote table, LKUP_WBS1.

CORE_WORKLOAD has columns:
wbs1 - the row's primary key value
obs_fg - a number (usually 0 or 1) indicating whether or not the wbs1 is obsolete

LKUP_WBS1 has columns:
wbs1 - the row's primary key value
legacy_pron - either null, or a wbs1 indicating that is a replacement for another WBS1

When I try executing this:
UPDATE core_workload c
SET obs_fg = 1
WHERE c.obs_fg = 0 
AND EXISTS 
( 
  SELECT c2.wbs1
  FROM core_workload c2
       JOIN lkup_wbs1@MY_EXTERNAL_LINK.WORLD wbs1 
       ON wbs1.wbs1 = c2.wbs1 
  WHERE c2.obs_fg = 0 
  AND   wbs1.legacy_pron = c.wbs1 
);
COMMIT;
Oracle throws:
ORA-02050: transaction 4.2.109159 rolled back, some remote DBs may be in-doubt
ORA-02051: another session or branch in same transaction failed or finalized
Note that when I replace the first two lines with "SELECT * FROM core_workload c", the query runs properly.

Both the local and remote databases have 11.2.0.2.0

Any idea as to what is causing this and/or how to fix it?

Edited by: Donbot on Oct 24, 2011 11:14 AM
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Nov 22 2011
Added on Oct 24 2011
6 comments
6,267 views