20101108-ORA-03106 fatal two-task communication
protocol error
1)
Environment:
Source DB: Oracle
Database 10.2.0.4
Exchange DB: Oracle
Database 9.0.1.0
Target DB: Oracle
Database 7.3.4.5
Oracle Client: Oracle
Database 8.1.7.0 client
2)
Task Target
Oracle10g DB will access the data of Oracle
7.3.4.5.
3)
Describe Error:
One User told me that he could not access Oracle
DB 7.3.4.5 by Exchange DB in Oracle DB 10.2.0.4.
Is it true?
So, I have a test case to verify
it.
1)
Create a synonym or view which links to Oracle DB
7.3.4.5 in Exchange DB:
SQL> create or replace view mtl_system_items_view
2)
Access the synonym or view in Oracle DB 10.2.0.4
by db link:
SQL>select * from mtl_system_items_view@EXCHANGE_DB;
It showed errors as followed:
(1)
TOAD(7.6.0.11): Access
violation at address 6022630A in module
'oracommon8.dll'. Write of address
00000000
(2)
ORA-03106: fatal two-task communication protocol
error
4)
Analyze Error:
I remembered that Oracle9i DB can access Oracle 7
DB by Exchange DB and we didn’t
encountered the error.
So, I also had a test case with Oracle9i DB as
Source DB. The result is ok without any error.
According to my working experience, I believe that
Oracle10g can access Oracle7 DB by Exchange DB.
Was it low for Oracle Client by TOAD
tool?
When I wanted to install a higher version of
Oracle Client, I decided to see whether others can access oracle 7
data by TOAD or PL/SQL in Oracle10g Database.
The first person, who is using PL/SQL Developer
7.5 and Oracle 8.1.7 Client, can access oracle7 data by PL/SQL in
Oracle10g Database.
The second person, who is using TOAD 9.7 and
Oracle 8.1.7 Client, can also access oracle 7 data by TAOD in
Oracle10g Database.
5)
Root Cause
The compatibility problem, which refers between
Oracle10g and Oracle7, is the root cause.
In fact, we must let Oracle10g to access Oracle7
data.
Luckily, higher version TOAD or PL/SQL Developer
can also resolve the compatibility problem.
At last , I noticed the relative person to install
higher version TOAD or PL/SQL Developer.
6)
Other