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 view in the data dictionary.
This error have two solutions.
A)Create database link with the name as of source database global database name.
B)Change GLOBAL_NAMES to false if it is not required.
(A)Create database link with the name as of source database global database name.
------------------------------
One thing you should remember when you do not specify the domain portion of the dblink name in the create statement, Oracle automatically qualifies the link name with the domain of the SOURCE database global name view.
Check the contents of ALL_DB_LINKS for the fully qualified link name.
To know the global name of the source database,
SQL>Select * from global_name;
TEST.WORLD.COM
Now according to output you can make database link in your destination database, like
SQL>Create public database link TEST.WORLD.COM connect to userid identified by password using 'test';
Or , you can make it by
SQL>create database link ARJU.JUPITER.ARJU.NET connect to web_key identified by web_key using '(DESCRIPTION=(ADDRESS = (PROTOCOL = TCP)(HOST = jupiter)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ARJU.JUPITER.ARJU.NET)
))';
Where in the database where I like to connect after invoking lsnrctl status I got the HOST = jupiter and PORT = 1522 and SERVICE_NAME = ARJU.JUPITER.ARJU.NET.
(B)Change GLOBAL_NAMES to false if it is not required.
----------------
SQL> alter system set global_names=FALSE;
System altered.
Related Documents
How to Import data without Dumpfile-Network Mode Import with use of database link
No comments:
Post a Comment