
- •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
Файл паролей.
pwdsid.ora
хранится в директории: c:\orackle\ora90\database
Хранит пароль для системного администратора (привилегированного пользователя). Изначально в любой БД существует только 2 системных администратора:
System с паролем manager
Sys с паролем change_on_install
При установке БД лучше сохранять стандатрные пароли, а потом создавать новый пароль, который будет хранится в файле pwdsid.ora
Команда создания пароля для привилегированного пользователя SYS (набирается в командной строке ОС):
orapwd file = c:\oracle\ora90\database\pwdodb.ora password = новый_пароль entries = n
где n – количество удаленных привилегированных пользователей
В файле параметров инициализации устанавливается параметр:
REMOTE_LOGIN_PASSWORDFILE = EXCLUSIVE|SHARED|NONE
Где EXCLUSIVE – данный файл паролей может быть использован только одним экземпляром и не только пользователем SYS, а другими пользователями, которые будут иметь права привилегированного пользователя.
SHARED - данный файл паролей может быть применен к разным экземплярам, может быть использован только пользователем SYS
NONE – файл паролей не используется. Права на системное администрирование не передаются. Паролем владеет только пользователь SYS
! В файле паролей не содержатся пароли непривилегированных пользователей. Они хранятся в БД в служебных таблицах словаря данных в зашифрованном виде.
Архитектура экземпляра Oracle. Экземпляр, области памяти (sga-память, разделяемый пул, кэш буферов данных, кэш буферов бд, журнальный буфер).
Структуры памяти
Oracle размещает в оперативной памяти следующие области:
системная глобальная область (SGA) выделяется при старте экземпляра Oracle, содержит его основные компоненты;
программная глобальная область (PGA) выделяется, когда запускается серверный процесс.
Системная глобальная область (SGA)
SGA содержит структуры памяти:
разделяемый пул;
кэш буферов базы данных;
журнальный буфер;
другие структуры (например, структуры для управления блокировками и защелками, статистические данные).
Две необязательные структуры могут быть сконфигурированы в SGA:
большой пул;
Java-пул.
Системная глобальная область (SGA)
SGA - динамическая область, размер которой может быть увеличен до sga_max_size.
Память для компонентов SGA выделяется и отслеживается с помощью гранул:
непрерывные области виртуальной памяти;
размер устанавливается на основе sga_max_size.
Гранула – это выделяемый участок непрерывной области виртуальной памяти. Размер гранулы зависит от предполагаемого общего размера SGA. Размер гранулы составляет:
4 МВ, если размер SGA<128 MB;
16MB, если >128MB.
Минимальная конфигурация SGA должна содержать 3 гранулы.
Разделяемый пул
Разделяемый пул используется для хранения
информации о последних выполненных командах SQL
информации из словаря данных, которая недавно запрашивалась
Состоит из двух структур памяти, оказывающих существенное влияние на производительность:
библиотечный кэш;
кэш словаря данных.
Размер определяется параметром инициализации
SHARED_POOL_SIZE.
Библиотечный кэш
хранит информацию о последних выполненных операторах SQL и PL/SQL
дает возможность совместно использовать общие команды;
сопровождается на основе алгоритма отбора давно не использовавшихся данных (LRU);
состоит из двух структур:
разделяемая SQL-область;
разделяемая PL/SQL-область;
занимает память, размер которой зависит от величины разделяемого пула.
Кэш словаря данных
содержит самую последнюю использованную информацию об определениях объектов базы данных:
Информация о файлах базы данных, таблицах, индексах, столбцах, пользователях, привилегиях и других объектах базы данных.
Во время этапа синтаксического разбора серверный процесс просматривает информацию словаря данных для определения имен объектов и оценки привилегий доступа.
Размещение информации словаря данных в кэше уменьшает время ответа на запрос.
Размер зависит от величины разделяемого пула.
Кэш буферов базы данных
Кэш буферов базы данных содержит копии блоков файлов данных.
Дает большой выигрыш в производительности при извлечении и изменении данных.
Сопровождается на основе алгоритма отбора давно не использовавшихся блоков данных (LRU).
DB_BLOCK_SIZE определяет основной размер блока.
Кэш буферов базы данных
Состоит из независимых пулов (подкэшей):
DB_CACHE_SIZE- параметр размера буферного пула;
DB_KEEP_CACHE_SIZE – параметр размера пула для часто используемых блоков;
DB_RECYCLE_CACHE_SIZE - параметр размера пула для редко используемых блоков.
Размер кэша буферов базы данных может быть динамически увеличен или уменьшен при помощи команды ALTER SYSTEM.
Параметр инициализации db_cache_advice может быть установлен для получения статистических данных, позволяющих прогнозировать влияние различных размеров кэша на работу сервера.
Статистика отображается в v$ db_cache_advice
В журнальный буфер
записываются все изменения, сделанные сервером в блоках данных.
Предназначен для выполнения восстановления базы данных.
Заносимые изменения называются журнальными записями (входами).
Журнальные входы содержат информацию для воспроизведения или повторного выполнения изменений.
Размер задается параметром LOG_BUFFER .
Программная глобальная область (PGA)
PGA - это область памяти выделенного серверного процесса. Другие процессы не имеют доступа к ней. Содержит данные и управляющую информацию одного серверного процесса. Выделяется, когда процесс создается, и освобождается, когда он завершается. Серверный процесс создается, когда пользователь создает сессию в режиме выделенного сервера(dedicated server mode). В отличие от SGA, с которой работает множество процессов, PGA используется только одним процессом.
Процессы
Виды процессов в Oracle:
пользовательские процессы; запускаются пользователем на клиентской машине и посылают при старте запрос на соединение с сервером Oracle;
серверные процессы; соединяются с экземпляром Oracle и запускаются на стороне сервера, когда пользователь создает сеанс;
фоновые процессы; создаются в момент запуска экземпляра Oracle. Часть из них может запускаться и выгружаться в процессе работы экземпляра
Пользовательский процесс
Пользовательский процесс - это программа, взаимодействующая с сервером Oracle.
Сначала должно быть установлено соединение.
Не должно быть прямого взаимодействия с сервером Oracle.
Соединение
Установлено
Пользователь базы данных
Серверный процесс
Серверный процесс- это программа, которая непосредственно взаимодействует с сервером Oracle.
Выполняет сгенерированные вызовы и возвращает результаты.
Может быть выделенным или разделяемым серверным процессом.
В конфигурации выделенного сервера выполняются запросы только одного пользовательского процесса. В конфигурации разделяемого сервера обслуживаются запросы нескольких пользователей.