Фиксирование изменений данных в Oracle 9i

В Oracle 9i предлагается новый метод, облегчающий выявление изменений в тех случаях, когда системой-источником является база данных Oracle 9i. Результаты всех операций INSERT, UPDATE и DELETE можно сохранять в таблицах,  называемых таблицами изменений (change tables). Программы извлечения данных могут отбирать данные из этих таблиц.

 

Фиксирование изменений данных, которое часто называют аббревиатурой CDC (change data capture), использует интерфейс публикация-подписка subscribe). Тот, кто осуществляет публикацию (publisher), обычно это администратор базы, определяет, какие пользовательские таблицы в рабочей системе используются для загрузки хранилища, и настраивает систему на фиксацию и публикацию измененных данных. Для каждой таблицы источника с данными, которые требуется ввести в хранилище, создается таблица изменений.

 

Затем программы извлечения данных подписываются (subscribe) на таблицы-источники. Следовательно, возможно любое количество подписчиков (subscribers). Каждому подписчику выдается собственное представление таблицы изменений. Это изолирует подписчиков друг от друга, если они одновременно осуществляют доступ к одним и тем же данным. Подписчики для отбора измененных данных из представлений подписчика (subscriber view) используют SQL. Они видят только те столбцы, которые их интересуют, и только те строки, которые он еще не обрабатывали. Если обновления нескольких таблиц зависят друг от таблицы изменений могут быть сгруппированы в набор изменений (change set). Если, например, у вас есть таблица-заголовок заказа и таблица сведений о заказе, эти таблицы будут сгруппированы в один набор изменений, что обеспечивает связность транзакций.

 

В Oracle 9i фиксируются синхронно, в реальном как часть транзакции в рабочей системе. Данные об изменениях генерируются в виде операций DML над исходными таблицами. Когда в пользовательскую таблицу вставляется новая строка, она также сохраняется в таблице изменений. Когда строка в пользовательской таблице обновляется, измененные столбцы сохраняются в таблице изменений. В таблицу изменений можно записывать старые или новые значения или и то, и другое сразу. Когда строка из пользовательской таблицы удаляется, удаленная строка также сохраняется в таблице изменений. Это дает определенную нагрузку на каждую транзакцию, но упрощает процесс извлечения данных.

Вас заинтересует / Intresting for you:

Индексы Oracle
Индексы Oracle 15230 просмотров Игорь Воронов Tue, 21 Nov 2017, 13:18:46
Транзакции и механизм отмены U...
Транзакции и механизм отмены U... 3560 просмотров Игорь Воронов Tue, 21 Nov 2017, 13:17:28
Разделение по диапазону таблиц...
Разделение по диапазону таблиц... 7897 просмотров Валерий Павлюков Tue, 21 Nov 2017, 13:32:50
Копирование таблиц с помощью к...
Копирование таблиц с помощью к... 6101 просмотров Antoniy Tue, 21 Nov 2017, 13:18:46
Войдите чтобы комментировать

Анонимный аватар
Анонимный ответил в теме #8375 30 март 2017 18:34
Хорошо бы дополнить статью новшествами для версий 10g, 11g и 12c. Или изменений не было?