Accés remot mitjançant DBLINK d'Oracle

 Per accedir des d'una base de dades Oracle a objectes d'una altra base de dades Oracle la manera més senzilla és utilitzar un DBLINK (que sigui la més senzilla no significa que sempre sigui la més aconsellable, l'abús dels DBLINKS pot generar molts problemes, tant de rendiment com de seguretat)

Per a això és necessari, amb un usuari que posseeixi el privilegi CREATE DATABASE LINK, crear el DBLINK en la base de dades origen (A) mitjançant una senzilla sentència com la següent:

  • create database link LNK_DE_A_a_B connect to USUARI identified by CONTRASENYA USING  'B';

'LNK_DE_A_a_B' és el nom del link, 'USUARI' i 'CONTRASENYA' són els identificadors de l'usuari que utilitzarà el  link per connectar-se, els permisos del qual heretaran tots els accessos a través del link, i B

és el nom de la instància de la base de dades.

A través del DBLINK es pot connectar amb els objectes de la base de dades remota amb els permisos que tingui l'usuari que s'ha proporcionat en la sentència de creació.

Per referenciar un objecte de la base de dades remota s'ha d'indicar el nom de l'objecte, concatenat amb el caràcter ' @ ' i el nom que se li ha donat al DBLINK.

Exemple: select * from TABLA@LNK_DE_A_a_B

 

Per ampliar informació es pot consultar la documentació d'Oracle que es proporciona online en documentacion oracle create database

 

Si el que es vol és accedir a una base de dades d'un altre fabricant, es pot crear el DBLink utilitzant Heterogenous Services. Es pot consultar com fer-ho amb SQLServer a l'article Heterogeneous services: Conexión desde Oracle a SQLServer  

   

Cerca amb el motor de Google

Google