Как лучше всего сделать «моментальный снимок» базы данных Oracle, которая постоянно обновляется?

Я хочу сделать согласованный снимок базы данных Oracle, которая постоянно обновляется адаптером TIBCO DB.

Обычно TIBCO обновляет сразу несколько таблиц, а затем выполняет COMMIT. Если я прохожу по всем таблицам, делая снимок один раз в день, тогда я мог бы получить данные из таблицы A до фиксации и из таблицы B после фиксации, но если A и B имеют связь, то они больше не будут совпадать.

"УСТАНОВИТЬ ТРАНЗАКЦИЮ ТОЛЬКО ДЛЯ ЧТЕНИЯ"?
например

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

(СЕГОДНЯ синтаксис может быть неправильным, это не важно!)

Или я могу сделать что-нибудь получше?

6
задан Air 9 October 2015 в 22:54
поделиться