На ваш вопрос нелегко ответить. Я бы попробовал придерживаться коммуникационной стратегии, которую вы используете в своем проекте / других проектах.
Если вы используете веб-сервисы для связи, вы также можете использовать его для решения вашей проблемы. Но если у вас еще нет интерфейсов, db-ссылки - самый простой способ переместить данные. Таким образом, вам не нужно ничего кодировать (похоже, что вы уже получили некоторые хранимые процедуры).
Но учтите:
forall
и bulk collect
не будут работать с db-ссылкой. Если они вам не нужны, я не вижу проблем в использовании db-ссылок.
И подумайте о добавлении подсказок для больших отборов:
SELECT /*+DRIVING_SITE(b)*/
*
FROM localTable a, otherTable@otherDb b
WHERE a.id = b.id
AND a.Name like '%x%'
AND b.Name like '%y%';
Таким образом, вы указываете своей БД, что оператор должен быть рассчитан на "otherDb". Это полезно, если вы получили очень маленькую локальную таблицу и большую таблицу в другой базе данных. Вы всегда должны сначала отфильтровать большую, а затем начать объединять другие таблицы.
В любом случае: каждая ситуация имеет свои требования.