Вы хотите вытащить миллионы строк из таблицы в базе данных № 1, перетащить их по соединению с относительно низкой пропускной способностью к приложению Java, чтобы вы могли массировать их, затем вы хотите развернуться и вытолкнуть те же строки Вверх по тому же соединению, чтобы вставить их в базу данных № 2 - понимаете ли вы, почему это не может быть хорошим выбором? : -)
Лучше - создайте временную таблицу в базе данных № 1, затем, как только ваша временная таблица заполнится, отправьте данные из базы данных № 1 в базу данных № 2, используя соединение с базой данных Oracle-Oracle.
Что-то вроде:
Database #1
CREATE TABLE TEMP_TABLE AS
SELECT FIELD1,
FIELD2,
SUM(FIELD3) -- or whatever
FROM TABLE1
WHERE WHATEVER = SOMETHING_ELSE
GROUP BY FIELD1,
FIELD2
Run whatever PL/SQL procedures, etc, are needed to massage your data and make it
pretty.
Database #2
CREATE TABLE PRETTY_BRAND_NEW_TABLE AS
SELECT *
FROM TEMP_TABLE@db1;
По моему опыту, это ваш лучший вариант. YMMV.
Удачи.