top button
Flag Notify
    Connect to us
      Site Registration

Site Registration

What is database link in Oracle SQL?

+1 vote
490 views
What is database link in Oracle SQL?
posted Sep 26, 2014 by Vidhya Sagar

Share this question
Facebook Share Button Twitter Share Button LinkedIn Share Button

1 Answer

+1 vote

Oracle has invested heavily in distributed database technology and the creation of a database link is very straightforward. You specify the database link name, the remote user to connect to, the password for the remote user and the TNS service name for the database link connection:

create public database link 
  mylink
connect to 
  remote_username
identified by 
  mypassword 
using 'tns_service_name';

Starting in 11g release 2, the syntax has been enhanced to remove the need to epscify a TNS service_name:

create public database link 
  mylink
connect to 
  remote_username
identified by 
  mypassword 
using 'myserver:1521/MYSID';

Above we see that the TNS instance name has been replaced by allowing the server name, port number and Oracle system ID (ORACLE_SID).

You can also create a database link to non-Oracle databases, Francisco Riccio describes the steps for a database link to MySQL:

Step 1: Your first step is having installed the TRANSPARENT GATEWAY (it comes in as of the options when you install Oracle).

Step 2: You must have a user in the SQL Server.

Step 3: In the directory \tg4msql\admin look for the file inittg4msql.ora and have the following options:

HS_FDS_CONNECT_INFO="SERVER=name_server;DATABASE=name_db"
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=user_sqlserver
HS_FDS_RECOVERY_PWD=pass_user_sqlserver

Step 4: Configure the listener and add the following

(SID_DESC =
(PROGRAM = tg4msql)
(SID_NAME = MSQL)
(ORACLE_HOME = C:\oracle1)
)
)

and in our tnsnames.ora add

MSQL=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = servidor)(PORT = 1521))
)
(CONNECT_DATA =
(SID = MSQL)
)
(HS=OK)
)

where HS set up as a heterogonous service

Step 5: create a link to sql server.

create database link msql connect to user_sqlserver identified by password using 'MSQL';

Step 6: You can now use the database link to a foreign database:

select * from table@msql
answer Sep 27, 2014 by Amit Kumar Pandey
...