Использование Oracle Streams для репликации
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
Государственное учреждение образования
"Белорусский государственный технологический университет"
Факультет издательского дела и полиграфии
Кафедра информационных систем и технологий
Пояснительная записка
по курсовой работе:
"Использование Oracle Streams для репликации"
Выполнила:
Нешик Д.А.
курс 3 группа 9
проверил:
доц. Смелов В.В
Минск 2011
Оглавление
Введение
1.Возможности репликации в СУБД Oracle
2.Основные компоненты Oracle Streams
3.Основные шаги по настройке репликации
3.1 Настройка баз данных(Startup open)
3.2 Настроить tnsnames.ora (на обоих серверах)
3.3 Табличное пространство и пользователь Streams
3.4 Dblink (между исходной и целевой базами данных)
4.Методы настройки репликации при помощи Oracle Streams
4.1 PL/SQL API
4.2 Упрощенное PL/SQL API
4.3 EM интерфейс
5.Пример использования PL/SQL API для настройки репликации
6.Пример использования упрощенного PL/SQL API
6.1 Репликация схемы пользователя при помощи MAINTAIN_SCHEMAS
6.2 Репликация таблиц при помощи MAINTAIN_TABLES
Заключение
Библиографический список
Введение
Streams - это средство СУБД, позволяющее переносить данные, транзакции и события в потоке данных внутри одной или между базами данных. Это более поздняя, чем "обычная" репликация (репликация на основе материализованных представлений) ), модель организации непрерывного переноса данных как внутри, так и между базами данных.Streams появились в Oracle версии 9, а в версии 10 получили свое развитие в возможностях и в организации.
Oracle Streams предоставляет набор элементов, которые позволяют пользователю управлять:
тем какую информацию помещать в поток
как должен "течь" поток
как он должен маршрутизироваться с одно сервера на другой
что должно происходить, когда поток приходит на сервер
где он должен прерываться.
Oracle Streams применяется в качестве решения для различных областей :
Репликация
Очереди сообщений
Загрузка хранилищ данных
Технически потоки Oracle Streams опираются на созданный независимо и ранее аппарат организации очередей передачи сообщений, известный под названием Oracle Advanced Queuing ,а также используют Dblink для передачи информации между исходной и целевой базами данных.
В отличие от "обычной" репликации Oracle Streams не требует заведения особых структур в БД (журналов таблиц, materialized views). Репликация в Oracle Streams основана на обработке информации из журнала БД.
1.Возможности репликации в СУБД Oracle
Существует два вида репликации в СУБД Oracle:
Репликация на основе Oracle Streams
Репликация на основе материализованных представлений
Репликация на основе Oracle Streams обладает следующими преимуществами:
Работает быстрее (данные находятся в памяти: Streams pool)
Репликация на уровне отдельных таблиц, схем, табличных пространств
Репликация между разными версиями базы данных и даже между разными платформами
Возможность фильтрации данных на основе правил
Поддерживает как одностороннюю, так и двухстороннюю репликацию
Поддерживает синхронную (начиная с версии 11g) или асинхронную репликацию
Репликации доступна во всех редакциях, однако для редакций Standard Edition One и Standard Edition существуют ограничения:
Не используется Buffered queue
Не поддерживается Capture from redo
Не поддерживается Asynchronous change data capture
Существует два вида репликации, основанных на материализованных представлениях: Basic и Advanced.
Особенности Basic репликации:
Доступна во всех редакциях Oracle
Реплицируются только данные
Репликация производится только в одну сторону
В исходной базе данных обычные таблицы
В базе, в которую реплицируют, находятся не таблицы, а доступные только на чтение Snapshots (Read Only Materialized Views)
Работает на основе триггеров
После 16 неудачных попыток передачи данных подряд процесс останавливается и требует вручную перезапустить JOBрепликация поддерживает различные конфигурации: репликация в обе стороны, репликация со многими первичными серверами и т. д. Она позволяет реплицировать не только данные, но и другие объекты базы данных. Доступна только в Enterprise Edition.репликация, начиная с Enterprise Edition 11g, позволяет передавать изменение структуры реплицируемых объектов в автоматическом режиме без остановки БД.
2.Основные компоненты Oracle Streams
Три основных компонента Oracle Streams:
1.Capture - процесс сбора данных на источнике
.Propagation- процесс передачи данных от источника к целевой базе данных
3.Apply - процесс применения изменений в целевой базе данных
Capture(фоновый процесс)
Сбор осуществляется двумя способами:
Неявный сбор. Серверный процесс сбора собирает DML и DDL события в исходной базе данных непосредственно из журналов (redo log), либо с помощью горячего "раскапывания" (hot mining), либо, при необходимости, из архивных журналов (archive log). После извлечения данных процесс сбора форматирует их в Logical Change Record (LCR) и помещает в область распространения для дальнейшей обработки. Процесс сбора может фильтровать LCRы по заданным правилам. Таким образом буду собираться изменения только заданных объектов.
Явный сбор. Позволяет приложению явным образом сгенерировать сообщение и поместить его в область хранения. Эти сообщения м