Monday 3 September 2012

DB links and RAC

You learn something new every day.

I followed my previously used simple guide to creating DB links and now get a new oracle error when using the link – not on creation:

I’m signed into e1test and creating a link to e1prod.

 

create public database link "jde_e1prod"
connect to JDE
identified by r1PP3Rpasswd
using 'e1prod';

A couple things about the statement above.  Ripper password hey?  Also, I like to user the user I connect as in the link name, helps out later on.

 

Error starting at line 1 in command:
INSERT INTO DV900.F983051 SELECT * FROM DV900.F983051@e1prod
Error at Command Line:1 Column:54
Error report:
SQL Error: ORA-02085: database link E1PROD.OSL.LOCAL connects to E1PROD
02085. 00000 -  "database link %s connects to %s"
*Cause:    a database link connected to a database with a different name.
           The connection is rejected.
*Action:   create a database link with the same name as the database it
           connects to, or set global_names=false.

I can only guess that this means there is a problem between the actual RAC node that I’m talking to and the generic name of the database.  This is my assumption from running:

SELECT INSTANCE_name from v$instance;

And getting something like:

e1test2 (but my instance is e1test).

A quick google shows me: Option 1:

names.default_domain = domain.com

But what about the ramifications?  Option 2:

alter system set global_names=false;

Same question

I went for the second option, and viola – it worked.  Thank you google and thank u oracle.

No comments: