
- •1. Обязанности администратора базы данных (абд)
- •В обязанности администратора могут входить:
- •Сотрудники службы безопасности
- •Разработчики приложений
- •2. Подключение в режиме internal
- •Использование пароля для internal
- •Internal и незащищенные соединения
- •3. Утилиты абд (Import, Export, Loader)
- •Основные компоненты sql*Loader
- •Входные данные
- •Управляющий файл
- •Использование файла параметров
- •Режим экспорта таблиц
- •Режим экспорта пользователя
- •Режим экспорта всей базы данных
- •4. Пользователи базы данных и схемы
- •Домен защиты
- •Привилегии
- •Системные привилегии
- •Объектные привилегии
- •Назначение привилегий
- •Роли (role)
- •5. Табличные пространства и файлы данных
- •Табличные пространства
- •Табличное пространство system
- •Онлайновые и офлайновые табличные пространства
- •Файлы данных
- •Содержимое файла данных
- •Офлайновые файлы данных
- •6.Схемы и объекты схемы
- •7. Блоки данных, экстенты и сегменты. Отношения между сегментами, экстентами и блоками данных
- •Блоки данных
- •Экстенты
- •Сегменты
- •8.Структуры памяти и процессы
- •Структуры памяти
- •Глобальная область системы (sga)
- •9. Пример работы Oracle.
- •10. Журнал Повторений
- •Создание групп онлайнового журнала
- •11. Транзакция (Transaction)
- •Многоверсионная модель согласованности данных.
- •Блокировки строк (tx)
- •Блокировки таблиц (tm)
- •Разделяемые для строк блокировки таблиц (rs)
- •Монопольные для строк блокировки таблиц (rx)
- •Разделяемые блокировки таблиц (s)
- •Разделяемые для строк монопольные блокировки таблиц (srx)
- •Монопольные блокировки таблиц (X)
- •Конверсия и эскалация блокировок данных
- •Внутренние блокировки
- •Явные блокировки данных
- •12. Обеспечение защиты базы данных
- •13. Представления словаря данных.
- •Введение в словарь данных
- •Структура словаря данных
- •14. Привилегии (Grant, role). Привилегии системного уровня.
- •Привилегии объектного уровня.
- •15. Управление пользователями базы данных.
- •16. Аудит базы данных
- •Установка опций аудита
- •Групповые обозначения для опций аудита
- •Включение и выключение аудита базы данных
- •Очистка аудиторских записей из аудиторского журнала
- •Уменьшение размера аудиторского журнала
- •Защита аудиторского журнала
- •Аудит с помощью триггеров базы данных
- •17. Обеспечение целостности базы данных
- •18. Создание базы данных. (файлы параметров)
- •Необходимые предпосылки
- •Создание базы данных oracle
- •19. Запуск и останов базы данных
- •Запуск экземпляра без монтирования базы данных
- •Запуск экземпляра и монтирование базы данных
- •Запуск экземпляра, монтирование и открытие базы данных
- •Задание имени базы данных
- •Задание файла параметров
- •Форсированный запуск экземпляра
- •Немедленный останов базы данных
- •Примеры останова базы данных
- •20. Различные режимы работы базы данных Запуск однопроцессных и многопроцессных инстанций
- •21. Резервное копирование базы данных
- •Сопоставление режима archivelog и режима noarchivelog
- •Включение и выключение архивирования
- •Включение автоматического архивирования
- •Выключение автоматического архивирования
- •22. Динамический sql Динамический sql в Oracle
- •Оператор подготовки
- •Оператор получения описания подготовленного оператора
- •Оператор выполнения подготовленного оператора
- •Работа с динамическими операторами sql через курсоры
- •23. Объектно-ориентированные Базы Данных.
- •Общие понятия объектно-ориентированного подхода и их преломление в ообд
- •Объектно-ориентированные модели данных
Разделяемые для строк монопольные блокировки таблиц (srx)
Блокировка SRX, удерживаемая транзакцией, позволяет другим транзакциям одновременно лишь опрашивать эту таблицу или блокировать выбираемые строки с помощью команды SELECT ... FOR UPDATE, но не обновлять эту таблицу.
Блокировка SRX, удерживаемая транзакцией, запрещает другим транзакциям получать блокировки SRX по этой таблице и модифицировать эту таблицу. Транзакция не может вставлять, обновлять или удалять строки в таблице, если какая-то другая транзакция имеет блокировку SRX по этой таблице. Блокировка SRX, удерживаемая транзакцией, также запрещает другим транзакциям получать блокировки SRX, S и RX по этой таблице; иными словами, другие транзакции не могут успешно выполнять следующие предложения:
LOCK TABLE таблица IN SHARE MODE;
LOCK TABLE таблица IN SHARE EXCLUSIVE MODE;
LOCK TABLE таблица IN ROW EXCLUSIVE MODE;
LOCK TABLE таблица IN EXCLUSIVE MODE;
Монопольные блокировки таблиц (X)
Эта блокировка вводит самый ограничительный режим, который обеспечивает транзакции, удерживающей эту блокировку по таблице, возможность монопольной записи в таблицу. Эта блокировка запрашивается для таблицы следующим предложением LOCK TABLE таблица IN EXCLUSIVE MODE;
Все блокировки данных, получаемые транзакцией, включая все блокировки строк и таблиц, освобождаются при подтверждении или откате этой транзакции. Блокировки данных, полученные после точки сохранения, освобождаются, если транзакция откатывается к этой точке сохранения.
Конверсия и эскалация блокировок данных
ORACLE автоматически конвертирует блокировку таблицы из более слабой в необходимую более строгую степень ограничений. Например, предположим, что транзакция использует предложение SELECT с фразой FOR UPDATE, чтобы заблокировать строки в таблице. Как следствие, она получает монопольные блокировки строк и разделяемую для строк блокировку таблицы. Если эта транзакция позднее обновляет одну или несколько заблокированных строк, блокировка таблицы автоматически конвертируется из режима RS в режим RX.
ORACLE никогда не прибегает к эскалации блокировок, когда СУБД автоматически заменяет многочисленные блокировки, полученные на одном уровне другой блокировкой на более высоком уровне.
Замки
Замки (latches) - это простые, низкоуровневые механизмы очередизации, которые защищают структуры разделяемых данных в SGA. Например, замки защищают список пользователей, обращающихся к базе данных в текущий момент, а также структуры данных, описывающие блоки в буферном кэше. Серверный или фоновый процесс получает замок на очень короткое время, пока он манипулирует или просматривает одну из таких структур. Реализация замков зависит от операционной системы, особенно в вопросе о том, ожидает ли процесс замка и сколь долго.
Внутренние блокировки
Внутренние блокировки - это более сложные механизмы, чем замки, и они служат разнообразным целям. Рассмотрим их назначение ниже для трех различных категорий внутренних блокировок:
Блокировки кэша словаря. Эти блокировки на очень короткое время удерживаются для записей словаря при использовании или модификации этих записей. Они гарантируют, что предложения SQL во время их разбора видят согласованные определения объектов. Блокировки кэша словаря могут быть разделяемыми и монопольными. Разделяемые блокировки освобождаются по окончании синтаксического разбора. Монопольные блокировки освобождаются по концу операции DDL.
Блокировки управления файлами и журналом. Эти блокировки защищают различные файлы. Например, одна блокировка защищает управляющий файл, чтобы его мог модифицировать лишь один процесс в каждый момент времени. Другая блокировка координирует использование и архивирование файлов журнала повторения. Файлы данных блокируются для того, чтобы гарантировать, что база данных монтируется несколькими экземплярами в разделяемом режиме или одного экзепляра в монопольном режиме. Поскольку блокировки файлов и журнала отражают состояние файлов, эти блокировки по необходимости удерживаются продолжительное время.
Блокировки табличных пространств и сегментов отката. Эти блокировки защищают табличные пространства и сегменты отката. Например, все экземпляры, имеющие доступ к базе данных, должны согласованно отражать онлайновое или офлайновое состояние табличного пространства. Сегменты отката блокируются для того, чтобы лишь один экземпляр мог писать в сегмент отката.