- •Конспект лекций не официальный, возможны ошибки! Еремеев н.Б.
- •Распределенная база данных
- •Пример транзакции
- •Пример рбд
- •Прямые и косвенные соединения
- •Объекты: схемы и именования в рбд
- •Удаленные и распределенные предложения
- •Прозрачность в рбд. Прозрачность местоположения.
- •Прозрачность в системе рбд
- •Архитектура рбд Oracle
- •Прозрачность транзакций.
- •Прозрачность дублирования.
- •Разрешение имен в рбд
- •Снимки.
- •Двухфазный commit.
- •Фаза подготовки.
- •Фаза подтверждения
- •Создание точки подтверждения.
- •Проектирование распределенных приложений.
- •Уникальность имен.
- •Последовательности в распределенных транзакциях.
- •Обработка ошибок в удаленных процедурах.
- •Разрешение проблем распределенных транзакций
- •Снимки. Управление ими.
- •Спецификация определяющего запроса снимка (as ...).
- •Порядок создания снимков и их журналов:
- •Альтернативы снимкам.
- •Дублирование таблиц с помощью триггеров:
- •Создание триггера
- •Управление снимками
- •Создание снимков
- •Установление параметров памяти для снимков.
- •Конфигурирование автоматических обновлений
- •Ручное обновление снимков.
- •Связь между декларативными ограничениями и снимками.
- •Управление журналами снимков.
- •Внутренняя реализация журнала снимка.
- •Удаление журнала снимков.
- •Управление распределенными бд администратором.
- •Принципы простроения глобального имени бд:
- •Безопасность бд.
- •Характеристики и квоты различных табличных пространств.
- •Ресурсные лимиты и профили пользователей.
- •Лицензирование.
- •Привилегии и роли.
- •Защита таблиц.
- •Защита обзоров:
- •Усиление защиты таблиц через обзоры:
- •Защита процедур.
- •Табличные пространства и файлы данных Файлы данных
- •Табличное пространство
- •Объекты табличного пространства
- •Блок данных
- •Экстенты
- •Сегменты
- •Копирование и восстановление баз данных
- •Рекомендации по копированию баз данных.
- •Стратегии копирования Стратегии копирования в режиме no archive log
- •Стратегии копирования в режиме archive log
- •Процедуры копирования.
- •Процедура полного копирования базы данных
- •Восстановление
- •Опции предложений Audit и NoAudit.
- •Дополнительные опции по аудиту предложений:
- •Включение аудита
- •Выключение аудита.
- •Контролирование роста и размера аудиторского журнала.
- •Защита аудиторского журнала
- •Аудит с помощью триггеров
- •Поддержка национальных языков.
- •Лингвистическая сортировка.
- •Перекрытие стандартных умолчаний.
- •Форматы чисел и дат.
- •Объекты в Oracle.
- •Атрибуты
- •Сравнение объектов
- •Синтаксис объявления типов
- •Объявление и инициализация объектов
- •Вызов методов
- •Хранение объектов в бд
- •Использование оператора select
- •Вставка объектов
- •Обновление объектов
- •Удаление объектов
Разрешение имен в рбд
При разрешении ссылок на имена глобальных объектов выполняются следующие действия:
Поиск связей БД, имена которых совпадают с указанным глобальным именем объекта.
Поиск указанного объекта в удаленной БД (сначала происходит поиск личных связей БД в схеме пользователя, выдавшего предложение SQL, а потом – сетевые связи БД при наличии службы сетевого домена; если Oracle не находит связей, то выводится сообщение об ошибке).
Для того чтобы скрыть от пользователя информацию или процедуру вашей работы в РБД, используются три компонента: обзоры (виды), синонимы и снимки.
При создании обзора частичные глобальные имена объектов не всегда расширяются. В словаре данных сохраняется точный текст определяющего запроса. Вместо этого Oracle расширяет частичные глобальные имена каждый раз, когда предложение обращается к обзору.
При создании синонима частичные глобальные имена объектов всегда расширяются. Определение синонима, сохраненное в словаре данных, всегда полное глобальное имя.
При компилировании программной единицы глобальные имена расширяются, причем это свойство относится и к процедурам.
Примеры.
CREATE VIEW emp1 AS
SELECT ename FROM scott.emp@hq;
CREATE SYNONYM emp1 FOR scott.emp@hq;
Снимки.
Запросы можно выдавать по локальному снимку, поэтому производительность запроса увеличивается, так как данные для него не должны перегоняться по сети. Если БД, содержащая главную таблицу, или БД, содержащая снимок, обновляется или выключается из-за сетевого сбоя, то остальные только читаемые таблицы остаются доступными.
Схема дублирования таблиц посредством снимков.
Снимок – это полная копия таблицы или ее подмножество, которая отражает последнее состояние главной таблицы. Он определяется распределенным запросом, который ссылается на одну или несколько таблиц, обзоров или другие снимки. БД, содержащая главную таблицу, называется главной БД.
Простые и сложные снимки. Каждая строка в простом снимке базируется на одной строке в единственной удаленной таблице. Следовательно, определяющий запрос простого снимка не содержит фраз GROUP BY или CONNECT BY, подзапросов, соединений или операторов множеств. В противном случае снимок называется сложным.
Механизм создания снимков. В узле снимка Oracle создает базовую таблицу, в которой будут храниться строки из определяющего запроса снимка. Затем создается только читаемый обзор по этой таблице, который будет использоваться в любых запросах, вызываемых по снимку. На локальном узле Oracle создает обзор по удаленной главной таблице. Данный обзор будет использоваться для операций «освежения» снимка.
Освежение снимка. Периодически снимок освежается, чтобы отразить текущее состояние его главной таблицы. Для этого Oracle выдает определяющий запрос и сохраняет его результаты в предыдущем снимке, автоматически заменяя данные. Каждый снимок освежается в отдельной транзакции или автоматически через определенный интервал времени или вручную.
Для простых снимков ведутся журналы снимков, которые позволяют не выполнять повторно определяющий запрос к главной таблице, а внести только конкретное изменение.
