Skip to Main Content
  • Questions
  • ORA-04052: error occurred when looking up remote object FPL.COIMREGI@FPL

Breadcrumb

Question and Answer

Connor McDonald

Thanks for the question, Miguel Angel.

Asked: August 19, 2016 - 4:10 pm UTC

Last updated: April 02, 2019 - 8:22 am UTC

Version: 9.2.0.8

Viewed 10K+ times! This question is

You Asked

Hi,

I have a problem when I try to compile a function in a database oracle 9.2.0.8, and I got this error:

PL/SQL:
ORA-04052: error occurred when looking up remote object FPL.COIMREGI@FPL
ORA-00604: error occurred at recursive SQL level 1
ORA-03106: fatal two-task communication protocol error
ORA-02063: preceding line from FPL

the DB LINK is created in oracle 9i and it reference to a database oracle 11.2.0.4.

I have executed a catrpc.sql but it doesn´t work.

Thanks for your help.

and Connor said...

From MOS Doc ID 1471928.1

====================================
Attempting to use PL/SQL across a database link, specifically 9.2.0.8 to 11.2.0.3 through a trigger fails with:

ORA-04052: error occurred when looking up remote object %s%s%s%s%s

SOLUTION

1. Install 10.2.0.1 + 10.2.0.5 patchset

2. Use 10.2 client / server to make database links between 9.2 and 11g, as 10g can communicate with both directly.

======================

Effectively, 10g becomes a "router" between your v9 database and your v11 database.

Hope this helps.

Rating

  (3 ratings)

Is this answer out of date? If it is, please let us know via a Comment

Comments

Miguel Angel Cadena Vélez, August 22, 2016 - 1:11 pm UTC

Hi,

thanks... I was thinking in that option... Im going to test and I´ll give you a feedback.



my fix

A reader, April 18, 2018 - 5:19 pm UTC

Had public DB link from Oracle to SQL Server. Select query worked fine, but the same query embedded in stored procedure gave error about not being able to find the remote public object. Spent almost an entire day banging on this with no solution. Turns out the SQL Server view I was querying contained field names that exceeded 30 chars. Apparently Oracle doesn't appreciate that. Created new view with only the fields need and none that exceeded 30 chars. Procedure now compiles with no error and works as intended.
Connor McDonald
April 19, 2018 - 1:07 am UTC

Thanks for that feedback. Useful info.


ORA-03106: fatal two-task communication protocol error

Lalit Saini, April 01, 2019 - 7:16 am UTC

we are getting the error which are mentioned below. Please look into it and suggest.

ORA-04052: error occurred when looking up remote object OSC.REF_ACCOUNTS@OSCT.EMRSN.ORG
ORA-00604: error occurred at recursive SQL level 1
ORA-03106: fatal two-task communication protocol error
ORA-02063: preceding line from OSCT

SQL> select * from dual@OSCT.EMRSN.ORG;

D
-
X

Source DB GDMD version is - 12.1.0.2.0 (DBlink created in this db)
Target DB OSCT version is - 12.2.0.1.0 (connected to this database)


Below are the code which we have ran in our database.

declare
CURSOR lookup_frdw_from_osc(in_customer_number VARCHAR2) IS
SELECT addr.source_system_reference_value -- acct.org_deo_gdm_id
FROM osc.ref_accounts@osct acct,
osc.ref_addresses@osct addr
WHERE addr.source_system_reference_value = in_customer_number
AND addr.osc_object_party_id = acct.osc_acct_party_id;
v_frdw_customer_number VARCHAR2(38);
v_customer_number VARCHAR2(10) := '10000';
begin
v_frdw_customer_number := NULL;
-- Get GDM ID from OSC to make them in sync. Can run process to sync up after this table is setup
OPEN lookup_frdw_from_osc('10000');
FETCH lookup_frdw_from_osc INTO v_frdw_customer_number;
IF lookup_frdw_from_osc%NOTFOUND THEN
v_frdw_customer_number := NULL;
END IF;
CLOSE lookup_frdw_from_osc;
dbms_output.put_line('done');
end;
/

Regards
Lalit Saini



Connor McDonald
April 02, 2019 - 8:22 am UTC

ORA-03106: fatal two-task communication protocol error

is a generic error, ie, "we tried to do something across the network and it didn't work". So there could be all means of potential causes

- characterset issues
- network issues
- software issue or incompatibility.

Try accessing other objects - if they are OK, then we are down to just that one table. If that is the case, then try particular columns etc. Basically we are trying to narrow down the root cause here.

If all else fails, its time to log a call with Support

More to Explore

PL/SQL demos

Check out more PL/SQL tutorials on our LiveSQL tool.

PL/SQL docs

PL/SQL reference manual from the Oracle documentation library