
A database link is a pointer in the local database that lets you access objects on a remote database. To create a private database link, you must have been granted the proper privileges. The following table illustrates which privileges are required on which database for which type of link:
Privilege | Database | Required For |
---|---|---|
CREATE DATABASE LINK |
Local | Creation of a private database link. |
CREATE PUBLIC DATABASE LINK |
Local | Creation of a public database link. |
CREATE SESSION |
Remote | Creation of any type of database link. |
To see which privileges you currently have available, query ROLE_SYS_PRIVS
. For example, you could create and execute the following privs.sql
script (sample output included):
SELECT DISTINCT PRIVILEGE AS "Database Link Privileges" FROM ROLE_SYS_PRIVS WHERE PRIVILEGE IN ( 'CREATE SESSION','CREATE DATABASE LINK', 'CREATE PUBLIC DATABASE LINK') or just execute following query to see all the permissions for current user: SELECT DISTINCT PRIVILEGE AS "Database Link Privileges" FROM ROLE_SYS_PRIVS
Source: Oracle Docs