- •Конспект лекций не официальный, возможны ошибки! Еремеев н.Б.
- •Распределенная база данных
- •Пример транзакции
- •Пример рбд
- •Прямые и косвенные соединения
- •Объекты: схемы и именования в рбд
- •Удаленные и распределенные предложения
- •Прозрачность в системе рбд
- •Архитектура рбд Oracle
- •Прозрачность в рбд. Прозрачность местоположения.
- •Прозрачность транзакций.
- •Прозрачность дублирования.
- •Разрешение имен в рбд
- •Снимки.
- •Двухфазный commit.
- •Фаза подготовки.
- •Фаза подтверждения
- •Создание точки подтверждения.
- •Проектирование распределенных приложений.
- •Уникальность имен.
- •Последовательности в распределенных транзакциях.
- •Обработка ошибок в удаленных процедурах.
- •Разрешение проблем распределенных транзакций
- •Снимки. Управление ими.
- •Спецификация определяющего запроса снимка (as ...).
- •Порядок создания снимков и их журналов:
- •Альтернативы снимкам.
- •Дублирование таблиц с помощью триггеров:
- •Создание триггера
- •Управление снимками
- •Создание снимков
- •Установление параметров памяти для снимков.
- •Конфигурирование автоматических обновлений
- •Ручное обновление снимков.
- •Связь между декларативными ограничениями и снимками.
- •Управление журналами снимков.
- •Внутренняя реализация журнала снимка.
- •Удаление журнала снимков.
- •Управление распределенными бд администратором.
- •Принципы простроения глобального имени бд:
- •Безопасность бд.
- •Характеристики и квоты различных табличных пространств.
- •Ресурсные лимиты и профили пользователей.
- •Лицензирование.
- •Привилегии и роли.
- •Защита таблиц.
- •Защита обзоров:
- •Усиление защиты таблиц через обзоры:
- •Защита процедур.
- •Табличные пространства и файлы данных Файлы данных
- •Табличное пространство
- •Объекты табличного пространства
- •Блок данных
- •Экстенты
- •Сегменты
- •Копирование и восстановление баз данных
- •Рекомендации по копированию баз данных.
- •Стратегии копирования Стратегии копирования в режиме no archive log
- •Стратегии копирования в режиме archive log
- •Процедуры копирования.
- •Процедура полного копирования базы данных
- •Восстановление
- •Опции предложений Audit и NoAudit.
- •Дополнительные опции по аудиту предложений:
- •Включение аудита
- •Выключение аудита.
- •Контролирование роста и размера аудиторского журнала.
- •Защита аудиторского журнала
- •Аудит с помощью триггеров
- •Поддержка национальных языков.
- •Лингвистическая сортировка.
- •Перекрытие стандартных умолчаний.
- •Форматы чисел и дат.
- •Объекты в Oracle.
- •Атрибуты
- •Сравнение объектов
- •Синтаксис объявления типов
- •Объявление и инициализация объектов
- •Вызов методов
- •Хранение объектов в бд
- •Использование оператора select
- •Вставка объектов
- •Обновление объектов
- •Удаление объектов
Удаление журнала снимков.
Его можно удалить независимо от главной таблицы и существующих снимков. Удаление осуществляется командой:
DROP SNAPSHOT <имя главной таблицы>;
Причинами удаления могут выступить:
Все простые снимки главной таблицы были удалены.
Все простые снимки должны быть обновлены полностью.
Копирование таблицы вручную выполняет команда:
CREATE TABLE <имя локальной копии таблицы> AS SELECT * FROM <удаленная копия>;
Замечания:
Удаляя локальную копию, вы удаляете все ассоциированные с ней триггеры, снимки; их надо будет потом создавать заново.
Удаляя локальную копию, вы лишаетесь всех объектных привилегий, назначенных по ней пользователю; после пересоздания должны их заново назначить.
При удалении локальной копии все виды, базирующиеся на ней, остаются, но становятся недействительными; после создания копии виды станут действительными, при условии сохранения ею прежней структуры.
Управление распределенными бд администратором.
Что нужно сделать и обеспечить:
назначить администраторов:
администратор должен быть на каждом сервере
он несет ответственность за действия на его сервере, например, операции с памятью и т.д.
координация действий администраторов в таких случаях: при проектировании данных, при выполнении резервного копирования, при обеспечении удаленной защиты
должны гарантировать коммуникацию и связь
администраторы БД, системы и сети должны решать вопросы сети и коммуникации
определить глобальные имена БД и связи
разместить данные из условий:
числа транзакций, выпускаемых с каждого места
объема данных (% таблицы), используемого каждым узлом
характеристик производительности и надежности сети
скоростных и емкостных характеристик узлов
критичности доступа при отказе узлов и соединений
надо обеспечить ссылочную целостность между таблицами, при том что декларативную целостность между таблицами, находящимися на разных узлах, обеспечить нельзя;
он должен обеспечить защиту данных, при том что администрировать БД удаленно нельзя – локальный администратор сам назначает привилегии удаленному пользователю;
ресурсные лимиты осуществляются лишь на том узле, к которому пользователь подключен непосредственно; удаленные сессии, учрежденные от имени связи БД, подчиняются также ресурсным лимитам, установленным на удаленной БД;
аудиторские записи генерируются от имени соединений, установленных в каждой БД, включая соединения, установленные через связь БД; они генерируются в той БД, где происходит соединение;
производить копирование и восстановление БД.
Принципы простроения глобального имени бд:
компоненты этого имени обычно соответствуют информации, хранящейся в БД
компоненты имени не должны включать сведения о ее местоположении; это делается для обеспечения прозрачности имени
вы должны иметь некоторый административный контроль над сетевым доменом, в котором содержится ваша БД; вы не должны создавать БД в сетевом домене, в котором вы не можете проконтролировать повторение имен
вы должны предвидеть потенциальные сетевые конфликты в сетевом домене между именами БД; однако, необходимо обеспечить минимальное число уровней в домене, поэтому помещайте взаимосвязанные таблицы в один сетевой домен
Для создания глобального имени БД используется два параметра: DB_NAME и DB_DOMAIN. Параметр DB_NAME определяет компоненту глобального имени БД. Одновременно он задает локальное имя БД, которое можно идентифицировать в операциях остановов и т.д. параметр DB_DOMAIN указывает местоположение БД в сетевой структуре.
Эти параметров задаются в файле init.ora и фактически определяются при генерации таблицы.
Ограничения:
При задании db_name нельзя использовать спецсимволы.
Формат задания db_domain алфавитно-цифровой, длина строки не превышает 119.
Прописные и строчные символы не различаются.
«.» определяет глубину уровня.
При смене глобального имени возникают такие неприятные вещи:
существующие связи БД в удаленных БД, указывающие на переименованные БД, не обновляются автоматически
существующие синонимы в удаленных БД, указывающие на объекты в переименованной БД, не обновляются автоматически
существующие программные единицы PL/SQL в удаленных БД также не обновляются автоматически
Действия, которые необходимо выполнить при переименовании:
желательно перевести экземпляр Oracle в режим ограниченной сети ALTER SYSTEM ENABLE RESTRICTED SESSION;
необходимо снять все текущие сессии;
с помощью команды ALTER DATABASE RENAME GLOBAL NAME изменить глобальное имя БД;
после переименовывания восстанавливаете нормальный режим работы Oracle (заменив в команде смены режима опцию ENABLE на DISABLE).
Oracle позволяет включать или выключать средства разрешения глобального имени. Это можно выполнить как для одного экземпляра так и для сессии (команды ALTER SYSTEM и ALTER SESSION). Информацию о каком-либо глобальном имени можно получить с помощью запроса:
SESLECT * FROM GLOBAL.NAME;
