– 1 . Использует Dblink для передачи информации между исходной и целевой базами данных.
– 2. Используют Oracle Advanced Queuing
Три основных компонента Oracle Streams:
• Capture – процесс сбора данных на источнике
1. Работает на стороне исходной БД
2. Работают на основе правил;
3. Просматривает средствами LogMiner журналы повтора и архив;
4. Выбирает из журналов изменения в исходной БД ;
5. Формирует логическую запись об изменении, Logical Change Record (LCR);
6. Помещает LCR в качестве события в очередь Streams Advanced Queuing (SAQ).
• Propagation- процесс передачи данных от источника к целевой базе данных
Находится на стороне исходной БД
Работает на основе правил
Выбирает события из очереди SAQ, сформированной Capture
Помещает их в очереди на целевой БД через Oracle Net.
• Apply – процесс применения изменений в целевой базе данных
Находится на стороне целевой БД
Работает на основе правил
Выбирает изменения(LCR) из очереди на целевой базе данных.
Применяет изменения на целевой БД.
Потоки данных в Oracle - более поздняя, чем "обычная" репликация (односторонняя, двусторонняя и многосторонняя), модель организации непрерывного переноса данных как внутри БД, так и между базами. Это значительно упрощенная реализация идей, изложенных, например, вhttp://www-db.stanford.edu/~widom/stream.ppt: в частности реализация Oracle Streams не предлагает языкового оформления, а только на уровне API. Технически потоки Oracle Streams опираются на созданный независимо и ранее аппарат организации очередей передачи сообщений, известный под названием Oracle Advanced Queuing.
Потоки данных появились в Oracle версии 9, а в версии 10 получили свое развитие в возможностях (например, Down Stream) и в организации (например, собственный источник памяти streams pool).
В отличие от "обычной" репликации Oracle Streams не требует заведения особых структур в БД (журналов таблиц, materialized views). Подобно механизму репликации, давно использовавшемуся в Sybase, репликация в Oracle Streams основана на обработке информации из журнала БД.