- •Конспект лекций не официальный, возможны ошибки! Еремеев н.Б.
- •Распределенная база данных
- •Пример транзакции
- •Пример рбд
- •Прямые и косвенные соединения
- •Объекты: схемы и именования в рбд
- •Удаленные и распределенные предложения
- •Прозрачность в системе рбд
- •Архитектура рбд Oracle
- •Прозрачность в рбд. Прозрачность местоположения.
- •Прозрачность транзакций.
- •Прозрачность дублирования.
- •Разрешение имен в рбд
- •Снимки.
- •Двухфазный commit.
- •Фаза подготовки.
- •Фаза подтверждения
- •Создание точки подтверждения.
- •Проектирование распределенных приложений.
- •Уникальность имен.
- •Последовательности в распределенных транзакциях.
- •Обработка ошибок в удаленных процедурах.
- •Разрешение проблем распределенных транзакций
- •Снимки. Управление ими.
- •Спецификация определяющего запроса снимка (as ...).
- •Порядок создания снимков и их журналов:
- •Альтернативы снимкам.
- •Дублирование таблиц с помощью триггеров:
- •Создание триггера
- •Управление снимками
- •Создание снимков
- •Установление параметров памяти для снимков.
- •Конфигурирование автоматических обновлений
- •Ручное обновление снимков.
- •Связь между декларативными ограничениями и снимками.
- •Управление журналами снимков.
- •Внутренняя реализация журнала снимка.
- •Удаление журнала снимков.
- •Управление распределенными бд администратором.
- •Принципы простроения глобального имени бд:
- •Безопасность бд.
- •Характеристики и квоты различных табличных пространств.
- •Ресурсные лимиты и профили пользователей.
- •Лицензирование.
- •Привилегии и роли.
- •Защита таблиц.
- •Защита обзоров:
- •Усиление защиты таблиц через обзоры:
- •Защита процедур.
- •Табличные пространства и файлы данных Файлы данных
- •Табличное пространство
- •Объекты табличного пространства
- •Блок данных
- •Экстенты
- •Сегменты
- •Копирование и восстановление баз данных
- •Рекомендации по копированию баз данных.
- •Стратегии копирования Стратегии копирования в режиме no archive log
- •Стратегии копирования в режиме archive log
- •Процедуры копирования.
- •Процедура полного копирования базы данных
- •Восстановление
- •Опции предложений Audit и NoAudit.
- •Дополнительные опции по аудиту предложений:
- •Включение аудита
- •Выключение аудита.
- •Контролирование роста и размера аудиторского журнала.
- •Защита аудиторского журнала
- •Аудит с помощью триггеров
- •Поддержка национальных языков.
- •Лингвистическая сортировка.
- •Перекрытие стандартных умолчаний.
- •Форматы чисел и дат.
- •Объекты в Oracle.
- •Атрибуты
- •Сравнение объектов
- •Синтаксис объявления типов
- •Объявление и инициализация объектов
- •Вызов методов
- •Хранение объектов в бд
- •Использование оператора select
- •Вставка объектов
- •Обновление объектов
- •Удаление объектов
Пример транзакции
INSERT into EMP@Sales …
DELETE from DEPT…
SELECT from EMP@Sales…
COMMIT
Commit – фиксирует информацию в БД, после ее выполнения нельзя совершать откат сделанных действий.
Пример рбд
Сервер БД – это программное обеспечение, управляющее БД.
Клиент – это приложение, которое запрашивает информацию от сервера.
Каждый ПК (персональный компьютер) называется узлом. Узел в системе РБД может быть как клиентом, так и сервером (либо чем-то другим).
Сервер БД1 является сервером при выполнении операции Delete и клиентом – при выполнении других операций.
Oracle поддерживает гетерогенные или неоднородные окружения клиент-сервера, т.е. понимают только языковые поддержки. Выбор набора символов определяется конкретными установками на данном ПК. Преобразование из одной кодировки в другую происходит автоматически.
Данная операция осуществляется через настройку параметра NLS_LANGUAGE. Он может храниться в файле Config.ora, в БД непосредственно или в системах Windows NT в реестре.
Прямые и косвенные соединения
Когда клиент выдает 1-е и 3-е предложение в транзакции (см. предыдущий пример), то он прямо соединен с БД HQ и косвенно – с БД Sales, содержащей удаленные записи.
Автономность узлов означает в РБД то, что БД администрируются отдельно и независимо от остальных БД. Каждая БД сопровождается независимо от остальных. Это свойство дает следующие преимущества:
узлы системы отражают логическую компаний;
локальные данные контролируются администратором локальной БД и соответственно область ответственности каждого администратора БД локальна и более управляема;
независимые отказы имеют не столь большое влияние на другие узлы РБД; глобальная БД остается частично доступной при работе нескольких узлов; один отказ не приводит к отказу всей системы;
восстановление после сбоев обычно выполняется индивидуально для каждого отказавшего узла;
словарь данных существует для каждой локальной БД;
узлы могут переходить независимо на новые версии программного обеспечения.
Объекты: схемы и именования в рбд
Объектами считаются: таблицы, индексы, функции, триггеры, синонимы, процедуры, блоки, библиотеки. Эти объекты принадлежат какой-либо схеме. Схема полностью совпадает с именем пользователя.
При использовании РБД можно иметь на различных серверах одну и ту же схему и таблицу, при этом указывается имя сервера. Необходимо обеспечить уникальность имен, что и делается в РБД.
Удаленные и распределенные предложения
Удаленный запрос – это запрос, выбирающий информацию из одной или нескольких удаленных таблиц, которые расположены на одном и том же удаленном сервере. При удаленном запросе, если триггер на одном узле успешно выполнился, а на другом – нет, то общее решение будет неуспешным.
Удаленное обновление – это обновление, которое модифицирует данные в одной или нескольких таблицах, расположенных на одном и том же удаленном узле.
Распределенный запрос извлекает информацию из двух или более узлов.
Распределенное обновление модифицирует данные на двух или более узлах. Оно возможно с помощью программной единицы: процедуры или функции (триггера).
Удаленная транзакция – это транзакция, содержащая одно или несколько удаленных предложений, которые адресуются одному и тому же удаленному узлу.
Распределенная транзакция – это любая транзакция, включающая хотя бы одно предложение, обновляющее данные на двух или более узлах РБД.
