Это может звучать немного глупо, но как насчет простой программы, которая просто читает обе базы данных и сравнивает данные?
Вы можете написать класс, содержащий все данные из одной строки, переопределить equals () и hashCode (), затем прочитать обе таблицы и сравнить их, используя созданный класс.
public class MyRow {
int someVal;
String someOtherVal;
// etc
public boolean equals(Object obj) {} // implement this
public int hashCode(){} // implement this
}
Тогда в вашей программе:
List<MyRow> mysqlRows = readMysql();
List<MyRow> oracleRows = readOracleRows();
for (MyRow mysqlRow : mysqlRows) {
if (!mysqlRow.equals(oracleRows.get(index)) {
// log error
}
}
Конечно, вы можете рассмотреть возможность чтения таблиц по строкам за раз, если количество строк огромно и использование памяти является проблемой.