Возможно, вам удастся просто создать ссылку на базу данных и присоединиться к ней, но это может привести к проблемам с производительностью.Примерно так:
Создайте ссылку на базу данных 2 в базе данных 1.
CREATE DATABASE LINK db2 CONNECT TO user IDENTIFIED BY pw USING tns-alias;
Соедините вашу таблицу в базе данных 1 с таблицей в базе данных 2:
SELECT my_value
FROM table_in_database_1 t1 JOIN table_in_database_2@db2 t2
ON t1.my_value = t2.my_value
В зависимости от производительности ссылки вы можете использовать для этого гибридный подход, включающий как ссылку на базу данных, так и временную таблицу.
Создайте ссылку на базу данных, как описано выше.Создайте временную таблицу в базе данных 1, которая содержит значения, которые будут использоваться в подзапросе из базы данных 2.
CREATE GLOBAL TEMPORARY TABLE db2_values (value VARCHAR2(20));
Скопируйте значения из db2 в db1:
INSERT INTO db2_values
SELECT my_value
FROM table_in_database_2@db2;
Наконец, присоединитесьваша база данных 1 таблица во временную таблицу.
SELECT my_value
FROM table_in_database_1 t1 JOIN db2_values t2 ON t1.my_value = t2.value;