- •Конспект лекций не официальный, возможны ошибки! Еремеев н.Б.
- •Распределенная база данных
- •Пример транзакции
- •Пример рбд
- •Прямые и косвенные соединения
- •Объекты: схемы и именования в рбд
- •Удаленные и распределенные предложения
- •Прозрачность в системе рбд
- •Архитектура рбд Oracle
- •Прозрачность в рбд. Прозрачность местоположения.
- •Прозрачность транзакций.
- •Прозрачность дублирования.
- •Разрешение имен в рбд
- •Снимки.
- •Двухфазный commit.
- •Фаза подготовки.
- •Фаза подтверждения
- •Создание точки подтверждения.
- •Проектирование распределенных приложений.
- •Уникальность имен.
- •Последовательности в распределенных транзакциях.
- •Обработка ошибок в удаленных процедурах.
- •Разрешение проблем распределенных транзакций
- •Снимки. Управление ими.
- •Спецификация определяющего запроса снимка (as ...).
- •Порядок создания снимков и их журналов:
- •Альтернативы снимкам.
- •Дублирование таблиц с помощью триггеров:
- •Создание триггера
- •Управление снимками
- •Создание снимков
- •Установление параметров памяти для снимков.
- •Конфигурирование автоматических обновлений
- •Ручное обновление снимков.
- •Связь между декларативными ограничениями и снимками.
- •Управление журналами снимков.
- •Внутренняя реализация журнала снимка.
- •Удаление журнала снимков.
- •Управление распределенными бд администратором.
- •Принципы простроения глобального имени бд:
- •Безопасность бд.
- •Характеристики и квоты различных табличных пространств.
- •Ресурсные лимиты и профили пользователей.
- •Лицензирование.
- •Привилегии и роли.
- •Защита таблиц.
- •Защита обзоров:
- •Усиление защиты таблиц через обзоры:
- •Защита процедур.
- •Табличные пространства и файлы данных Файлы данных
- •Табличное пространство
- •Объекты табличного пространства
- •Блок данных
- •Экстенты
- •Сегменты
- •Копирование и восстановление баз данных
- •Рекомендации по копированию баз данных.
- •Стратегии копирования Стратегии копирования в режиме no archive log
- •Стратегии копирования в режиме archive log
- •Процедуры копирования.
- •Процедура полного копирования базы данных
- •Восстановление
- •Опции предложений Audit и NoAudit.
- •Дополнительные опции по аудиту предложений:
- •Включение аудита
- •Выключение аудита.
- •Контролирование роста и размера аудиторского журнала.
- •Защита аудиторского журнала
- •Аудит с помощью триггеров
- •Поддержка национальных языков.
- •Лингвистическая сортировка.
- •Перекрытие стандартных умолчаний.
- •Форматы чисел и дат.
- •Объекты в Oracle.
- •Атрибуты
- •Сравнение объектов
- •Синтаксис объявления типов
- •Объявление и инициализация объектов
- •Вызов методов
- •Хранение объектов в бд
- •Использование оператора select
- •Вставка объектов
- •Обновление объектов
- •Удаление объектов
Восстановление
Процесс восстановления:
Создайте заново структуру базы данных, включая все табличные пространства и всех пользователей. Эти вновь созданные структуры не должны содержать никаких объектов.
Импортируйте соответствующие экспортные файлы, чтобы реставрировать БД в максимально последнее состояние.
Пример
F – полное копирование, I – инкрементальное копирование, C – куммулятивное копирование.
При сбое нужно пересоздать БД, включая все пространства и всех пользователей.
Импортировать полный экспортный файл, созданный в первый день.
Импортировать куммулятивный экспортный файл, созданный в седьмой день.
Импортировать инкрементальные экспортные файлы, созданные в 8, 9, и 10 дни.
Нужно решить какой тип восстановления нам подходит и является ли база данных распределенной.
-
Тип операции восстановления
Требования к распределенной БД
Реставрация полной копии БД, к которой никогда не обращались (не обновляли и не опрашивали с удаленных узлов)
Можно использовать нескоординированное (неавтономное) восстановление БД.
Реставрация полной копии БД, к которой были обращения с удаленных узлов.
Необходимо остановить все БД т реставрировать их, используя одни и те же скоординированные полные копии
Полное восстановление носителя одной или нескольких БД в РБД
Можно использовать нескоординированное автономное восстановление БД
Частичное восстановление носителя БД, к которой были обращения с удаленных узлов.
Использовать скоординированное частичное восстановление носителя к одной и той же глобальной точке времени для всех БД в РБД
При восстановлении главной БД любой зависимый снимок необходимо обновить.
При сбое носителя необходимо определить, когда произошел сбой. О необходимости восстановления носителя говорят следующие сообщения в журнальных файлах:
ORA-00204 – Error in reading control file <имя файла>
ORA-01113 – File name needs recovery
ORA-01168 – File <имя файла> bad physical inside size
ORA-01178 – File <имя файла> created before last create control file. Cannot recreated.
Если вы получили одно из описанных сообщений, необходимо определить какой файл нуждается в восстановлении. Для этого используется вид V$Recover_file. Этот вид содержит поля file#, online, error. Если сделать SELECT по этой таблице, то можно получить номера всех существующих файлов.
Например:
0014 online file not found
0032 offline offline normal
В таблице V$Data_file содержатся еще и поля file#, name. Name – имя файла.
В зависимости от того что произошло, можно выбирать различные процедуры восстановления.
-
Тип файла
Режим архивирования
D
Ж
А
У
ARCHIVE LOG
NO ARCHIVE LOG
+
Выполнить полное восстановление носителя
Реставрация полной копии
+
Восстановление потерянных файлов
Восстановление потерянных файлов
+
Сделать новые резервные копии всех файлов данных
____________________
+
Восстановление потерянных файлов
Восстановление потерянных файлов
+
+
+
+
Восстановление управляющих и прочих файлов
____________________
+
+
+
Частичное восстановление носителя
____________________
+
+
+
Восстановление управляющих файлов и файлов данных
____________________
+
+
+
Восстановление управляющих и прочих файлов
Реставрация полной копии
+
+
Выполнить частичное восстановление носителя
Реставрация полной копии
+
+
Частичное восстановление носителя
____________________
+
+
Восстановление управляющих файлов и файлов данных
Реставрация полной копии
+
+
+
Восстановление управляющих файлов и сброс номеров журналов
___________________
+
+
Частичное восстановление носителя
____________________
+
+
Восстановление управляющих файлов и сброс номеров журналов
Если БД была остановлена нормально, то пересоздать упр. файл. Иначе – реставрация полной копии
+
+
Восстановление управляющих файлов, используя частичное восстановление носителя
____________________
где
+ означает потерю или повреждение файла
D – файлы данных, Ж – журнальные файлы, А – файл архивного журнала, У – управляющий файл.
В оригинальной документации данные ячейки содержат указания страницы, где подробно описана операционная карта каждого типа восстановления.
При сбое носителя иногда нельзя расположить файлы так, как они располагались до сбоя носителя. Oracle позволяет изменить положение файлов БД. Чаще всего запускают Oracle без монтирования БД и указывают Oracle где будут находиться файлы БД. Если полностью потеряны файлы данных и контрольные файлы, но есть журнальные и архивные файлы, то можно полностью восстановить всю БД.
Аудит
Аудит – учет и контроль.
Каждая БД Oracle поддерживает таблицу с названием Sys.Aud$.
Oracle поддерживает 2 варианта ведения аудита:
когда аудиторские записи помещаются в таблицу БД
Преимущества:
вы сможете просматривать выбранные порции аудиторского журнала с помощью предопределенных видов (словарей данных)
вы можете использовать инструменты Oracle для генерации аудиторских отчетов
когда аудиторские записи помещаются в аудиторский журнал ОС
Использование аудиторских журналов дает преимущество в том, что все аудиторские записи собраны в одном месте.
Аудит относительно недорог с точки зрения пространства, занимаемого таблицами.
Рекомендации при выборе аудита:
Определить цель аудита.
Отслеживать несанкционированные действия (не отслеживать все подряд, а вести аудит нужных событий).
Отслеживать события в разумных объемах. Занимайтесь аудитом только необходимой информации.
Аудит подозрительной деятельности:
Необходимо отслеживать сначала в общем, а потом – конкретно.
Необходимо защищать аудиторский журнал.
Аудит нормальной деятельности:
Нужно отслеживать только необходимые действия.
Необходимо архивировать аудиторские записи и очищать журнал.
Создание и удаление обзоров аудиторских журналов БД.
Для удобного использования информации существует много предопределенных видов, которые создаются с помощью специального script-а CatAudit.sql (в каталоге ADMIN).
Если решили не использовать аудит, для этого существует script CatNoAudit.sql, позволяющий удалить все предопределенные виды.
Опции аудита.
При аудите всегда будет генерироваться общая информация следующего содержания:
Имя пользователя, выполнившего отслеживаемое предложение.
Код действия, указывающий выполненное предложение.
Объекты, адресуемые в отслеживаемом предложении.
Дата и время выполнения отслеживаемого предложения.
Аудиторский журнал не сохраняет информацию о каких-либо данных (т.е. данные). Такие функции можно обеспечить использованием триггеров соответствующих таблиц.
Oracle позволяет устанавливать опции аудита на трех уровнях:
Отслеживание использование типа предложения SQL (отслеживается какое-то конкретное предложение SQL).
Отслеживание использования конкретной системной привилегии.
Отслеживание конкретных типов предложений на конкретных объектах (объектные привилегии).
