Monday, February 28, 2011

Database Link: ORA-02085

Today, I created Database Link on my New Database, and saw ORA-02085
SQL> create database link TESTDBLINK connect to username identified by "password" using 'TRGDB';

Database link created.

SQL> select * from tab@TESTDBLINK;
select * from tab@TESTDBLINK
*
ERROR at line 1:
ORA-02085: database link TESTDBLINK connects to TRGDB
I spent much time... then found out on My Oracle Support - Database Links: Troubleshooting ORA-2085 "database link %s connects to %s" [ID 210630.1]
When the source database initialization parameter GLOBAL_NAMES is set to TRUE, the database link name must match the target database global name as it exists in the GLOBAL_NAME
On Source Database:
SQL> show parameter GLOBAL_NAMES

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
global_names boolean TRUE

SQL> select * from global_name;

GLOBAL_NAME
--------------------------------------------------------------------------------
SRCDB
On Target Database:
SQL> select * from global_name;

GLOBAL_NAME
--------------------------------------------------------------------------------
TRGDB
Idea to test:
A>
SQL> create database link TRGDB connect to username identified by "password" using 'TRGDB';

Database link created.

SQL> select * from tab@TRGDB;
< data >
B>
SQL> alter session set global_names=false;

Session altered.

SQL> select * from tab@TESTDBLINK;
< data >
just ORA-02085 error, but used much time to find out -)

4 comments:

  1. Anonymous10:56 PM

    it was really informative and useful for me. it helped me to fix the issue at the earliest by readding your blog

    ReplyDelete
  2. Anonymous6:19 PM

    Thanks..Your block is very helpful.

    ReplyDelete
  3. Anonymous2:08 PM

    Thanks Sir !!

    Regards
    Muhammad Imtiyaz

    ReplyDelete