- •Конспект лекций не официальный, возможны ошибки! Еремеев н.Б.
- •Распределенная база данных
- •Пример транзакции
- •Пример рбд
- •Прямые и косвенные соединения
- •Объекты: схемы и именования в рбд
- •Удаленные и распределенные предложения
- •Прозрачность в системе рбд
- •Архитектура рбд Oracle
- •Прозрачность в рбд. Прозрачность местоположения.
- •Прозрачность транзакций.
- •Прозрачность дублирования.
- •Разрешение имен в рбд
- •Снимки.
- •Двухфазный commit.
- •Фаза подготовки.
- •Фаза подтверждения
- •Создание точки подтверждения.
- •Проектирование распределенных приложений.
- •Уникальность имен.
- •Последовательности в распределенных транзакциях.
- •Обработка ошибок в удаленных процедурах.
- •Разрешение проблем распределенных транзакций
- •Снимки. Управление ими.
- •Спецификация определяющего запроса снимка (as ...).
- •Порядок создания снимков и их журналов:
- •Альтернативы снимкам.
- •Дублирование таблиц с помощью триггеров:
- •Создание триггера
- •Управление снимками
- •Создание снимков
- •Установление параметров памяти для снимков.
- •Конфигурирование автоматических обновлений
- •Ручное обновление снимков.
- •Связь между декларативными ограничениями и снимками.
- •Управление журналами снимков.
- •Внутренняя реализация журнала снимка.
- •Удаление журнала снимков.
- •Управление распределенными бд администратором.
- •Принципы простроения глобального имени бд:
- •Безопасность бд.
- •Характеристики и квоты различных табличных пространств.
- •Ресурсные лимиты и профили пользователей.
- •Лицензирование.
- •Привилегии и роли.
- •Защита таблиц.
- •Защита обзоров:
- •Усиление защиты таблиц через обзоры:
- •Защита процедур.
- •Табличные пространства и файлы данных Файлы данных
- •Табличное пространство
- •Объекты табличного пространства
- •Блок данных
- •Экстенты
- •Сегменты
- •Копирование и восстановление баз данных
- •Рекомендации по копированию баз данных.
- •Стратегии копирования Стратегии копирования в режиме no archive log
- •Стратегии копирования в режиме archive log
- •Процедуры копирования.
- •Процедура полного копирования базы данных
- •Восстановление
- •Опции предложений Audit и NoAudit.
- •Дополнительные опции по аудиту предложений:
- •Включение аудита
- •Выключение аудита.
- •Контролирование роста и размера аудиторского журнала.
- •Защита аудиторского журнала
- •Аудит с помощью триггеров
- •Поддержка национальных языков.
- •Лингвистическая сортировка.
- •Перекрытие стандартных умолчаний.
- •Форматы чисел и дат.
- •Объекты в Oracle.
- •Атрибуты
- •Сравнение объектов
- •Синтаксис объявления типов
- •Объявление и инициализация объектов
- •Вызов методов
- •Хранение объектов в бд
- •Использование оператора select
- •Вставка объектов
- •Обновление объектов
- •Удаление объектов
Создание снимков
Снимки лежат в схеме пользователя, который их создает. Длина имени снимка не должна превышать 23 символа. Когда создается снимок, Oracle выполняет несколько внутренних операций:
На узле снимка создается таблица для хранения строк, извлекаемых определяющим запросом снимка. Эта таблица называется базовой таблицей снимка и имеет специальное название SNAP$_<имя снимка>. Эту таблицу нельзя изменять никаким образом. Oracle создает только читаемый обзор этой таблицы для запросов, выдаваемых по снимку. Этот вид имеет имя, определяемое в предложении CREATE SNAPSHOT (т.е. при обращении к снимку мы обращаемся к обзору).
Oracle создает второй локальный обзор по удаленной главной таблице и использует этот обзор при освежении снимка. Имя этого обзора MVIEW_<имя снимка>. Дополнительно, если снимок является простым, Oracle создает индекс по таблице SNAP$_<имя снимка>, который имеет имя PK$_ <имя снимка>.
Установление параметров памяти для снимков.
В общем случае области памяти снимков должны имитировать память таблицы. Если таблицы кластеризованы, то нужно кластеризировать и снимки. При создании сложного снимка, который обновляется полностью, параметры PCTFREE нужно установить в 0, а PCTUSED – в 100. Все параметры памяти можно изменять с помощью команды ALTER SNAPSHOT. Для снимка нельзя изменять определяющий запрос.
Каждый снимок индивидуально освежается в определенной транзакции. Быстрое освежение для сложного снимка является полным. Снимки могут обновляться автоматически или вручную. В большинстве случаев для простых снимков предпочтительно быстрое освежение.
Если главные таблицы подвергаются регулярному числу обновлений за единый период времени, то обновлять снимки нужно автоматически, а после массовых загрузок данных в главные таблицы снимки нужно обновлять вручную.
Конфигурирование автоматических обновлений
Создать или изменить снимок так, чтобы он стал автоматическим, указав опции автоматического обновления (REFRESH в операторе CREATE SNAPSHOT).
Запустить утилиту обновления на БД, содержащей снимки.
Допустимые опции автоматического обновления:
FAST – указывается только для простых снимков, обозначает быстрое обновление;
COMPLETE – полное обновление, применяется для простых и сложных снимков;
PORGE – применяется для простых снимков, выполняет быстрое обновление, если это возможно, и полное, если невозможно.
START WITH – задает момент времени начала автоматического обновления. Если он опущен, то момент первого автоматического обновления вычисляется, исходя из времени создания снимка и параметра Next.
NEXT – задает интервал автоматического обновления для снимков. Next всегда отсчитывается от последнего обновления, независимо от того автоматическое оно или ручное.
Временные характеристики обновления:
Календарное выражение в параметрах START WITH и NEXT должно вычисляться как будущий момент времени;
Литерал должен заключаться в кавычки, а календарное выражение – нет.
Пример
SYSDATE+7; - снимок будет обновляться через 7 дней после последнего обновления (задается в параметре Next)
NEXT_DAY( TRUNC (SYSDATE), ‘Monday’)+15/24 ; - снимок должен обновляться каждый понедельник в 15:00.
NEXT_DAY( ADD_MONTHS (TRUNC (SYSDATE,’Q’), 3), ‘THURSDAY’ ); - обновление в первый четверг каждого квартала.
Проблемы, возникающие при автоматическом обновлении снимков:
Отсутствие утилиты обновления;
Прерывающий сбой сети или остановка экземпляра БД Oracle.
На каждом снимке установлен флажок, что он должен быть обновлен и при ликвидации проблемы снимок обновится.
