A very strange question has been discovered recently:
Created a db_link connection to another Oracle database.
SELECT * from [email protected];
It's okay to execute the sentence, but write the SQL to the stored procedure:
Create or replace procedure Prc_test
Is
Begin
INSERT INTO Test
SELECT * from [email protected];
Commit
End
The following error occurred and the stored procedure compilation did not pass:
The error is as follows: Package BODY skskj. PKG_TS compilation Error
ERROR: PL/sql:
Ora-04052:error occurred when looking up remote object [email protected]
Ora-00604:error occurred at recursive SQL level 1
Ora-03106:fatal two-task Communication protocol error
Ora-02063:preceding Line from Dzdz_sjts
Line: 32
Text: INSERT into [email protected]
And not all databases have this problem.
Which Warrior has encountered such a problem, can give a solution? Thank you so much!
Attached: script to create Dblink:
--Drop Existing database link
drop database link dblink1;
--Create Database link
Create DATABASE link Dblink1
Connect to username123 identified by passwd123
Using ' (DESCRIPTION =
(Address_list =
(ADDRESS = (PROTOCOL = TCP) (HOST = 172.16.*.*) (PORT = 1521))
)
(Connect_data =
(SERVER = dedicated)
(service_name = 123)
)
)‘;
drop synonym test;
Create synonym test for [email protected];
--metalink on the problem solving method, hit the corresponding patch on the solution.
Subject:errors ORA-00604 and ORA-03106 During Procedure compilation
Doc id:577347.1 Type:problem
Modified date:26-may-2008 status:moderated
Applies To:
pl/sql-version:9.2.0.4 to 9.2.0.8
This problem can occur on any platform.
This note applies only if the underlying Oracle Client is below 9.2.0.8 Patch 4
Symptoms
While trying to run PL/SQL code involving queries which access remote objects, you may endup getting below errors:
Pl/sql:ora-04052:error occurred when looking up remote object <object name>
Ora-00604:error occurred at recursive SQL level 1
Ora-03106:fatal Two-task Communication Proto Error
Ora-02063:preceding Line from AFQ
When the same query is run outside PL/SQL block it runs perfectly.
Cause
You is most probably hitting the Bug 5866805.
Bug 5866805 Duplicate of Bug 5576340 which is itself a duplicate of bug 5671074.
Solution
The Bug 5671074 is a fixed in 9.2.0.8 Patch 4 OR above.
Oracle error: ORA-04052, ORA-00604, ORA-03106, ORA-02063