Использование 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ы по заданным правилам. Таким образом буду собираться изменения только заданных объектов.

Явный сбор. Позволяет приложению явным образом сгенерировать сообщение и поместить его в область хранения. Эти сообщения м