0% found this document useful (0 votes)
48 views4 pages

Untitled Document

The document discusses creating and maintaining database links in Oracle databases. It defines a database link as a connection from an Oracle database to a remote database that allows accessing objects such as tables from the remote database. It describes how to create private and public database links using the CREATE DATABASE LINK statement, specifying the remote user, password, and connection details. Synonyms can also be created to simplify accessing remote objects via database links. An example creates a database link to a remote SALES database to query its customers table.

Uploaded by

ketan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
48 views4 pages

Untitled Document

The document discusses creating and maintaining database links in Oracle databases. It defines a database link as a connection from an Oracle database to a remote database that allows accessing objects such as tables from the remote database. It describes how to create private and public database links using the CREATE DATABASE LINK statement, specifying the remote user, password, and connection details. Synonyms can also be created to simplify accessing remote objects via database links. An example creates a database link to a remote SALES database to query its customers table.

Uploaded by

ketan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

Task 5

Creating and maintaining database links

What is an Oracle database link


A database link is a connection from the Oracle database to another remote database. The
remote database can be an Oracle Database or any ODBC compliant database such as
SQL Server or MySQL.

Why do you need a database link


A database link allows a user or program to access database objects such as tables
and views from another database.

Once you create a database link, you can access the tables or views from the remote
database using the following pattern:

When accessing a remote table or view over the database link, the Oracle database
is acting as an Oracle client.

Using a synonym to simplify the syntax for accessing


objects via a database link
To simplify the syntax, you can create a synonym for the remote object accessed via
the database link and use this object as if it was a local object.

This syntax shows how to create a synonym for a remote table:

CREATE SYNONYM local_table

FOR remote_table@database_link;

And this query uses the synonym instead of the remote table name with the
database link:

SELECT * FROM local_table;

Oracle CREATE DATABASE LINK statement


There are two types of database links: public and private.

Private database links are visible to the owners while public database links are
visible to all users in the database. For this reason, public database links may pose
some potential security risks.

To create a private database link, you use the CREATE DATABASE LINK statement as
follows:

CREATE DATABASE LINK dblink

CONNECT TO remote_user IDENTIFIED BY password

USING 'remote_database';

In this syntax:

● First, specify the name of the database link after the CREATE DATABASE LINK
keywords.
● Second, provide user and password of the remote database after the
CONNECT TO and IDENTIFIED BY keywords.
● Finally, specify the service name of the remote database. If you specify only
the database name, Oracle will append the database domain to the connect
string to form a complete service name.

Typically, you add an entry int the tnsnames.ora file and reference it as the
remote_database in the USING clause.
The following statement shows how to create the private database link to a user in a
remote database with a full connection string.

CREATE DATABASE LINK dblink

CONNECT TO remote_user IDENTIFIED BY password

USING '(DESCRIPTION=

(ADDRESS=(PROTOCOL=TCP)(HOST=oracledb.example.com)
(PORT=1521))

(CONNECT_DATA=(SERVICE_NAME=service_name))

)';

To create a public database link, just add the PUBLIC keyword:

CREATE PUBLIC DATABASE LINK dblink

CONNECT TO remote_user IDENTIFIED BY password

USING 'remote_database';

To create a public database link, just add the PUBLIC keyword:

CREATE PUBLIC DATABASE LINK dblink

CONNECT TO remote_user IDENTIFIED BY password

USING 'remote_database';

Create a database link example


In this example, we will create a database link to a remote Oracle Database server
located in the server 10.50.100.143 with the port 1521 and service name SALES.

First, add the following entry to tnsnames.ora file in the local Oracle Database server.
Typically, the tnsnames.ora is located in the directory /NETWORK/ADMIN/ under
ORACLE_HOME:

SALES =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.50.100.143)(PORT = 1521))


(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = SALES_PRD)

Next, use the CREATE DATABASE LINK statement to create a new private database
link that connects to the SALES database via bob‘s account:

CREATE DATABASE LINK sales

CONNECT TO bob IDENTIFIED BY Abcd1234

USING 'SALES';

Then, issue the SELECT statement to query data from the customers table on the
SALES database:

SELECT * FROM customers@sales;

You might also like