
- •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
Структуры хранения и отношения между ними
Виды сегментов
Сегменты – это объекты, использующие пространство базы данных. В этом разделе описаны различные виды сегментов.
Таблица
Таблица, также называемая некластеризованной или несекционированной таблицей, является наиболее часто используемым способом хранения информации в базе данных. Данные в таблице хранятся неупорядоченно, и администратор базы данных практически не может контролировать распределение строк по блокам таблицы. Все данные несекционированной таблицы должны храниться в одном табличном пространстве.
Секционирование таблиц
Наиболее важными свойствами таблицы базы данных, информация которой интенсивно используется несколькими процессами одновременно, являются ее доступность и масштабируемость. В таких случаях данные таблицы могут храниться в нескольких секциях, которые расположены в различных табличных пространствах. В настоящий момент сервер Oracle обеспечивает секционирование по диапазону ключевых значений и хеш-секционирование. Каждой секции секционированной таблицы соответствует сегмент, для управления которым могут быть указаны особые параметры хранения. Для использования такого вида сегментов требуется Oracle9i Enterprise Edition.
Индекс
Все записи индекса хранятся в одном индексном сегменте. Если таблица имеет три индекса, то, соответственно, используются три индексных сегмента. Назначением этого сегмента является возможность определения местоположения строк согласно указанному ключевому значению.
Индекс-таблицы
В индекс-таблицах данные хранятся согласно индексу, основанному на первичном ключе. В случае использования индекс-таблицы поиск не требуется, так как все данные могут быть извлечены непосредственно из дерева индекса.
Секционирование индекса
Индекс может быть секционирован и распределен на несколько табличных пространств. В этом случае каждая секция индекса соответствует какому-то сегменту и не может охватывать более одного табличного пространства. Основной целью использования секционированного индекса является необходимость минимизации конкуренции при помощи распределения ввода-вывода * индекса. Для использования такого вида сегментов требуется Oracle9i Enterprise Edition с режимом секционирования.
Сегмент отката (Undo segment)
Сегмент отката используется транзакциями, вносящими изменения в базу данных. Перед изменением блоков данных или индексов их исходное значение помещается в сегмент отката. Это предоставляет пользователям возможность отменять внесенные изменения.
Временный сегмент
Когда выполняются команды, требующие сортировки (например, CREATE INDEX, SELECT DISTINCT и SELECT GROUP BY на таблицу без индексов), серверный процесс старается выполнить сортировку в памяти. Этот объем памяти ограничен и на диск могут записываться промежуточные результаты тех сортировок, для которых требуется мною места. Например, при создании индексов для больших таблиц. В этом случае используются временные сегменты.
Сегмент LOB
Для хранения больших объектов (LOB), таких как текстовые документы, изображения или видео-данные, могут использоваться один или более столбцов таблицы. Если этот столбец особенно велик, сервер Oracle хранит его значения в отдельном сегменте, называемом сегмент LOB. В таблице содержится лишь указатель на местоположение соответствующих данных LOB.
Поддержка нескольких размеров блока данных
Блок базы данных:
Минимальная единица ввода/вывода
Состоит из одного или более блоков ОС
Задается при создании базы данных
DB_BLOCK_SIZE указывает размер стандартного блока
В базе данных могут присутствовать табличные пространства со стандартным размером блока (указывается при создании базы и не меняется) и еще от одного до четырех других размеров.
Размеры блоков могут быть 2, 4, 8 , 16 или 32 Кб.
Стандартный размер блока
Устанавливается в момент создания базы данных параметром инициализации DB_BLOCK_SIZE (устанавливают в 8KВ); не может быть изменен без пересоздания базы
Используется для табличных пространств SYSTEM и временных
DB_CACHE_SIZE устанавливает размер кэша буферов для стандартного блока:
Минимальный размер = одна гранула (4 MB или 16 MB)
По умолчанию = 48 MB
Примечание: Гранула - наименьшая единица непрерывной области виртуальной памяти, которой манипулирует Oracle при размещении SGA. Размер гранулы зависит от параметра SGA_MAX_SIZE: 4MB, если максимальный размер < 128MB, иначе 16MB.
Содержимое блока базы данных:
Блоки данных
Блоки данных Oracle содержат:
Заголовок блока; заголовок содержит адрес блока данных, список указателей таблиц, список указателей строк и слоты транзакций, которые используются транзакциями, вносящими изменения в строки этого блока. Заголовки блоков растут сверху вниз.
Пространство данных; данные столбцов, вставляемые в блок с конца.
Свободное пространство; свободное пространство блока располагается посередине, что предоставляет возможность роста заголовку и данным строк. Свободное пространство блока изначально непрерывно. Однако удаления и обновления могут фрагментировать свободное пространство блока. Сервер Oracle объединяет свободное пространство блока при необходимости.