Skip to Main Content

Oracle Database Discussions

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!

Create DB LINK to a database with no DB_DOMAIN

D.VegaMar 5 2014 — edited Mar 6 2014

Hi,

I'm trying to create a database link between this two DBs

My local DB is 11.2.0.3.

SQL> select * from global_name;

GLOBAL_NAME

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

MYDB.DOMAINNAME

SQL> select name, value from v$parameter where name in ('db_name', 'db_domain', 'global_names');

NAME                 VALUE

-------------------- ----------------------------------------

db_domain

global_names         TRUE

db_name              mydb

The remote DB is 11.2.0.2 configured as follows:

SQL> select * from global_name;

GLOBAL_NAME

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

myremotedb

SQL> select name, value from v$parameter where name in ('db_name', 'db_domain', 'global_names');

NAME                 VALUE

-------------------- ----------

db_domain

global_names         FALSE

db_name              myremotedb

I want to create a DBLINK in the local database to the remote database.

I have my tnsnames (mydb's machine) configured as follows:

REMOTE-DATABASE =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(Host = 192.168.1.2)(Port = 1521))

    )

    (CONNECT_DATA =

      (SID = myremotedb)

    )

  )

Then, when I try to create a database link in my local database, since global_names parameter is set to true, oracle appends the local domain name to the database link name

SQL> create database link myremotedb@myuser connect to myuser identified by mypasswd using 'REMOTE-DATABASE';

Enlace con la base de datos creado.

SQL> select db_link from user_db_links;

DB_LINK

------------------------------

MYREMOTEDB.DOMAINNAME@MYUSER

and if I try to use it, it fails

SQL> select * from dual@MYREMOTEDB@MYUSER;

select * from dual@MYREMOTEDB@MYUSER

                   *

ERROR en línea 1:

ORA-02085: database link MYREMOTEDB.DOMAINNAME@MYUSER connects to MYREMOTEDB

SQL> select * from dual@MYREMOTEDB.DOMAINNAME@MYUSER;

select * from dual@MYREMOTEDB.DOMAINNAME@MYUSER

                   *

ERROR en línea 1:

ORA-02085: database link MYREMOTEDB.DOMAINNAME@MYUSER connects to MYREMOTEDB

How can I create this database link in this scenario?

The remote db doesn't have a db_name. How can I force oracle to create a DBLINK with no domain name?

Regards,

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Apr 3 2014
Added on Mar 5 2014
3 comments
1,941 views