Hola,
Para responder a tu pregunta te dejaria un link a la documentacion, pero todo el sitio de Oracle parece no funcionar, o talvez los nodos de Telefonica nos estan haciendo pasar un mal dia (otra vez).
En fin, con un db_link puedes conectar dos bases de datos Oracle, te dejo un pequeño ejemplo con la ejecucion de un procedimiento.
1. En mi base de datos 9I creo una tabla T1 y un procedimiento P1.
Código:
oracle@9I> create table t1 (id number(8));
Tabla creada.
oracle@9I> insert into t1 values (1);
1 fila creada.
oracle@9I>
oracle@9I> create or replace procedure p1
2 as
3 begin
4 insert into t1 values (1);
5 end;
6 /
Procedimiento creado.
2. En mi base de datos 10G creo un database link que me conecta con 9I, lo que me permite hacer un select sobre la tabla T1 y ejecutar el procedimiento P1.
Código:
oracle@10G> create database link ora9i
2 connect to oracle
3 identified by xxx
4 using '9I';
Enlace con la base de datos creado.
oracle@10G> select * from t1@ora9i;
ID
----------
1
oracle@10G>
oracle@10G> exec p1@ora9i;
Procedimiento PL/SQL terminado correctamente.
oracle@10G> select * from t1@ora9i;
ID
----------
1
1
oracle@10G>
Un poco mas de info, que por supuesto encontraras en la documentacion
connect to usuario_de_base_de_datos_remota
identified by password_de_usuario
using 'entrada_del_tnsnames.ora';
Ten en mente la configuracion del tnsnames.ora de la base de datos donde se crea el db_link, ahi debe estar la informacion de como conectarse a la base de datos remota.
Saludos