Есть две БД Oracle (FirstDB, SecondDB) на разных серверах, расположенных в одной сети.
Требуется выбрать данные из нескольких таблиц FirstDB и загрузить в одну таблицу SecondDB, максимально снизив нагрузку на FirstDB.
Моя идея:
Из SecondDB
CREATE TABLE x AS SELECT ... FROM X
datalink.FirstDB [join ... ] where (из журнала синхронизации получаю время последней синхронизированной записи и фильтрую данные по времени изменения)
Тем самым загружая все новые и обновленные данные, со времени последней синхронизации, в SecondDB, и уже из нее, с помощью курсора по таблице, вставляю записи куда следует, если существует то обновляю.
Будет ли этот способ оптимальным? или есть более оптимальные?
Извиняюсь, забыл написать - datalink на FirstDB с правами только на чтение.