
- •1. Компоненты архитектуры субд Oracle.
- •2. Архитектура экземпляра Oracle. Файловая структура бд. Файл параметров. Файл паролей.
- •Физическая структура
- •Создание файла spfile
- •Файл паролей.
- •Архитектура экземпляра Oracle. Экземпляр, области памяти (sga-память, разделяемый пул, кэш буферов данных, кэш буферов бд, журнальный буфер).
- •4. Архитектура экземпляра Oracle (фоновые процессы).
- •5. Сопровождение управляющего файла
- •Содержимое управляющего файла
- •Получение информации об управляющем файле
- •7.Режимы работы базы.
- •7.1. Команда startup
- •Запуск базы данных в режиме nomount
- •7.2. Остановка базы данных shutdown
- •8.Сигнальные и трассировочные файлы
- •Сигнальный файл
- •Файлы трассировки фоновых процессов
- •Пользовательские файлы трассировки
- •9. Сопровождение журнальных файлов
- •Журнальные группы и их элементы
- •Как используются журнальные файлы
- •Удаление групп оперативного журнала
- •Удаление элементов оперативного журнала
- •Настройка размеров журнальных файлов
- •10.Состав директории oracle.
- •11. Сопровождение табличных пространств и файлов данных
- •12. Табличное пространство system и другие
- •15. Сопровождение отката транзакций Виды undo-сегментов
- •27. Триггеры бд.
- •1.Триггер проверяет возможность удаления записи из таблицы «Клиент». Если в таблице «Заказы» существуют связанные записи, то выдается сообщение об ошибке. В противном случае запись удаляется.
- •4. Триггер проверяет, чтобы дата заказа билетов не превышала даты проведения спектакля. Иначе выдает ошибку.
- •Окна Модули
- •Для вывода на экран отчета:
- •Дополнительно: Работа с представлениями словаря данных субд Oracle Содержание словаря данных
- •Использование словаря данных
- •Структуры хранения и отношения между ними
- •Создание базы данных Использование Database Configuration Assistant
15. Сопровождение отката транзакций Виды undo-сегментов
Для отката транзакций используется информация, предварительно сохраненная в особых сегментах. Они называются сегментами отмены (undo segments). Undo-сегмент используется для хранения исходного значения, когда какой-либо процесс изменяет информацию БД. В нем хранится информация о месте расположения данных, а также сами данные в первоначальном виде. Заголовок undo-сегмента содержит таблицу транзакций, содержащую информацию о текущих транзакциях, которые используют этот заголовок. Простая транзакция может использовать для хранения своих записей только один undo-сегмент. Один undo-сегмент может использоваться несколькими транзакциями.
Откат транзакции
Во время изменения транзакцией строк таблицы в undo-сегменте сохраняется старый образ данных. Исходные данные восстанавливаются, когда значение из undo-сегмента записывается обратно в строку, если происходит откат транзакции.
Восстановление транзакции
Сервер должен выполнить откат незафиксированных изменений пр undo-сегмента открытии БД после сбоя экземпляра. Эта отмена называется восстановлением транзакции и возможна только в том случае, если информация об изменениях undo-сегмента также поддерживается журнальными файлами.
Целостность чтения
Во время обработки какой-либо транзакции другие пользователи БД не должны иметь доступ к незафиксированным изменениям. Недопустимо, чтобы какой-либо команде были доступны изменения, зафиксированные уже после начала ее выполнения. Старые значения из undo-сегментов предоставляют читателям целостный образ информации из БД для текущей команды. Сервер гарантирует, что любая команда получает целостный образ данных фиксированный на какой-то момент времени, даже если в текущий момент данные изменяются другими транзакциями. Когда сервер начинает выполнение команды выборки, undo-сегмента он определяет текущий номер изменений (SCN) и не позволяет данной команде получить доступ к информации, которая не была зафиксирована до этого SCN.
Undo-сегмент system
Создается в табличном пространстве SYSTEM во время создания базы данных. Этот undo-сегмент используется только для изменений, касающихся объектов табличного пространства SYSTEM.
Табличное пространство типа undo
Табличное пространство типа UNDO может быть создано в момент создания базы данных при помощи команды
CREATE DATABASE db01
UNDO TABLESPACE und01 DATAFILE 'undoldb01.dbf' SIZE 20M AUTOEXTEND ON;
Или может быть создано позднее по команде
CREATE UNDO TABLESPACE undol DATAFILE 'undoldb0l.dbf' SIZE 20M;
Изменение табличного пространства типа UNDO
Команда alter tablespace позволяет произвести изменения в табличном пространстве undo:
ADD DATAFILE
RENAME
DATAFILE [ONLINE | OFFLINE]
BEGIN BACKUP
END BACKUP
Пример:
Файл данных добавляется к табличному пространству undo :
ALTER TABLESPACE undotbs
ADD DATAFILE 'undotbs2.dbf' SIZE 30M
AUTOEXTEND ON;
Переключение табличных пространств типа undo
Вы можете переключить использование табличного пространства UNDO с одного на другое.
Только одно табличное пространство undo может быть назначено экземпляру в какой-то момент времени.
Более одного табличного пространства undo может быть создано для экземпляра, но только одно может быть активным.
Переключение выполняется динамически по команде alter system
ALTER SYSTEM SET UNDO_TABLESPACE=UNDOTBS2;
Удаление табличного пространства типа undo
Команда drop tablespace используется для удаления табличного пространства undo
DROP TABLESPACE UNDOTBS2;
Табличное пространство undo может быть удалено, если только оно не используется экземпляром в текущий момент времени.
Undo-сегмент, имеющий статус PENDING OFFLINE, содержит данные активных транзакций. Если транзакции завршины, то можно удалять табличное пространство.
Чтобы удалить табличное пространство undo:
- переключитесь на новое табличное пространство UNDO ;
- удалите табличное пространство после завершения текущих транзакций.
Квоты на использование текущего табличного пространства undo
Длинные транзакции - результат неверного программирования, потребляющие значительные ресурсы.
Квоты на табличное пространство UNDO задают максимальные ресурсные ограничения для группы пользователей.
UNDO_POOL - директива Resource Manager, определяющая размер пространства для группы потребителей ресурсов.
Когда группа превышает лимит, новые транзакции для группы невозможны, пока текущая транзакция не закончится нормально или аварийно и не освободит пространство отката.
Получение информации об Undo-сегментах
-Представления словаря данных
DBA_ROLLBACK_SEGS
-Динамические представления производительности
V$ROLLNAME, V$SESSION,
V$TRANSACTION, V$ROLLSTAT, V$UNDOSTAT