Я хочу сделать непротиворечивый снимок базы данных Oracle, которая постоянно обновляется адаптером БД TIBCO.
Обычно TIBCO обновляет сразу несколько таблиц, а затем COMMIT.
Если я переберу все таблицы, делая снимок один раз в день, то я смогу получить данные из таблицы A до фиксации и из таблицы B после фиксации - но если между A и B есть связь, то они больше не будут совпадать должным образом.
Является ли "SET TRANSACTION READ ONLY" подходом?
например
COMMIT
SET TRANSACTION READ ONLY
SELECT * FROM A WHERE A.ADB_UPDATEDDATE > TODAY()-1
SELECT * FROM B WHERE B.ADB_UPDATEDDATE > TODAY()-1
etc.
COMMIT
(синтаксис СЕГОДНЯ может быть неправильным, не важно!)
Или есть что-то лучшее, что я могу сделать?