Архитектура ORACLE. Процессы и потоки Windows (Лекция 6)

Содержание

Слайд 2

Архитектура Oracle

Архитектура Oracle

Слайд 3

Процессы и потоки Windows Процесс (process) – механизм ОС Windows, осуществляющий

Процессы и потоки Windows

Процесс (process) – механизм ОС Windows, осуществляющий запуск

и выполнение приложений.
Процесс создается, когда запускается приложение.
В общем случае выполняется в собственной области памяти.
Поток (thread) – индивидуальная ветвь внутри процесса, выполняющая конкретные программные инструкции.
Слайд 4

Процессы Oracle Серверные процессы – процессы, выполняющиеся на основании клиентского запроса

Процессы Oracle

Серверные процессы – процессы, выполняющиеся на основании клиентского запроса
Фоновые процессы

– запускаются вместе с базой данных и выполняют разнообразные задачи обслуживания
Подчиненные процессы – аналогичны фоновым, но выполняют дополнительные действия для фонового или серверного процессов
Слайд 5

Серверные процессы Отправка SQL-запроса select * from students; Производит синтаксический разбор

Серверные процессы

Отправка SQL-запроса select * from students;
Производит синтаксический разбор
Помещает в разделяемый

пул (находит в пуле)
Создает план запроса и выполняет его
При необходимости, производит поиск данных в буферном кэше или запрашивает в кэш с диска
Слайд 6

Oracle Net Listener Oracle Net Listener – процесс на стороне сервера,

Oracle Net Listener

Oracle Net Listener – процесс на стороне сервера, прослушивающий

входящие запросы клиента на соединение с экземпляром.
Listener – это программа-сервер, прослушивающая TCP-порт, принимающая запросы на соединение с Oracle экземпляром от программ-клиентов.
В результате успешной работы Listener устанавливается соединение между программой-клиентом и обработчиком запросов экземпляра.
По умолчанию TCP-порт 1521
Слайд 7

Oracle Net Listener – Службы

Oracle Net Listener – Службы

Слайд 8

Oracle Net Listener Экземпляр может иметь несколько точек подключения Точки подключения

Oracle Net Listener

Экземпляр может иметь несколько точек подключения
Точки подключения называются сервисами

и имеют символические имена.
При инсталляции автоматически создается два сервиса:
SYS$USERS (по умолчанию, указывается SID в параметрах соединения),
сервис с именем инстанса (указывается сервис).
При создании PDB для нее автоматически добавляется сервис с именем, совпадающим с PDB-именем.
Слайд 9

Oracle Net Listener

Oracle Net Listener

Слайд 10

Oracle Net Listener

Oracle Net Listener

Слайд 11

Oracle Net Listener – старт экземпляра фоновый процесс LREG считывает имена

Oracle Net Listener – старт экземпляра

фоновый процесс LREG считывает имена и

параметры зарегистрированных сервисов экземпляра;
регистрирует их в Listener;
если Listener не обнаружен, то попытки регистрации периодично повторяются;
Listener прослушивает запросы к сервисам.
Слайд 12

Oracle Net Listener – запрос на соединение 1)клиент выполняет запрос к

Oracle Net Listener – запрос на соединение

1)клиент выполняет запрос к

Listener на соединение с сервисом экземпляра;
2) Listener запрашивает соединение с сервером;
3)сервер возвращает параметры соединения с обработчиком сервиса;
4) Listener сообщает параметры соединения клиенту;
5) клиент соединяется с обработчиком запросов сервиса для дальнейшей работы с сервисом в рамках соединения.
Слайд 13

Серверные процессы Серверные процессы выполняют работу от имени сеанса клиента Подключение

Серверные процессы

Серверные процессы выполняют работу от имени сеанса клиента
Подключение посредством выделенного

сервера
Подключение при помощи разделяемых серверов
Слайд 14

Режимы соединений

Режимы соединений

Слайд 15

Dedicated server

Dedicated server

Слайд 16

Shared server

Shared server

Слайд 17

Shared server

Shared server

Слайд 18

Shared server Старые соединения остались без изменений Закрыли соединение ISUS_A и открыли снова

Shared server

Старые соединения остались без изменений

Закрыли соединение ISUS_A и открыли снова

Слайд 19

Shared server Зациклили PL/SQL-программу в соединении ISUS_A пока программа работает, выполнили следующий запрос

Shared server

Зациклили PL/SQL-программу в соединении ISUS_A

пока программа работает, выполнили следующий запрос

Слайд 20

Shared server После того как PL/SQL-программу завершилась, выполнили следующий запрос

Shared server

После того как PL/SQL-программу завершилась, выполнили следующий запрос

Слайд 21

Параметры dispatcher

Параметры dispatcher

Слайд 22

Параметры dispatcher

Параметры dispatcher

Слайд 23

Параметры dispatcher

Параметры dispatcher

Слайд 24

Сравнение режимов выделенного и разделяемого серверов Настройка Установление подключений Режим работы

Сравнение режимов выделенного и разделяемого серверов

Настройка
Установление подключений
Режим работы
Короткие и длинные транзакции
Запуск

и останов БД – только в режиме выделенного сервера
Слайд 25

Oracle Net Listener Конфигурационный файл программы Listener: ORACLE_HOME\NETWORK\ADMIN\listener.ora Файл считывается при старте Listener

Oracle Net Listener

Конфигурационный файл программы Listener: ORACLE_HOME\NETWORK\ADMIN\listener.ora
Файл считывается при старте Listener

Слайд 26

Oracle Net Listener

Oracle Net Listener

Слайд 27

Oracle Net Listener lsnrctl – утилита управления процессом Listener

Oracle Net Listener

lsnrctl – утилита управления процессом Listener

Слайд 28

Oracle Net Listener

Oracle Net Listener

Слайд 29

Oracle Net Listener

Oracle Net Listener

Слайд 30

Oracle Net Listener

Oracle Net Listener

Слайд 31

Oracle Net Listener

Oracle Net Listener

Слайд 32

Oracle Net Listener

Oracle Net Listener

Слайд 33

Oracle Net Listener

Oracle Net Listener

Слайд 34

Oracle Net Listener log.xml – протокол работы Listener

Oracle Net Listener

log.xml – протокол работы Listener

Слайд 35

Фоновые процессы Фоновые (background) процессы – специальная группа процессов для обеспечения

Фоновые процессы

Фоновые (background) процессы – специальная группа процессов для обеспечения производительности

и поддержки работы большого числа пользователей
Слайд 36

Фоновые процессы

Фоновые процессы

Слайд 37

LREG Listener Registration Process – периодическая регистрация сервисов в процессе Listener.

LREG

Listener Registration Process – периодическая регистрация сервисов в процессе Listener.

Слайд 38

DBWn Database Writer Process: (n=0,…,9, a,…,z; BWm, m=36,…,99) – фоновый процесс

DBWn

Database Writer Process: (n=0,…,9, a,…,z; BWm, m=36,…,99) – фоновый процесс записывающий

по LRU измененные блоки (грязные блоки) в файлы базы данных.
Слайд 39

DBWn В большинстве случаев достаточно одного процесса. Если процессор 1, то

DBWn

В большинстве случаев достаточно одного процесса.
Если процессор 1, то в более

чем в 1 DBW не смысла.
Проверяет с периодичностью не менее 3 сек. наличие измененных блоков и инициирует checkpoint и по команде фонового процесса CKPT сбрасывает некоторую их часть на диск.
Слайд 40

DBWn Сброс измененных блоков буферного кэша может инициироваться фоновым процессом CKPT

DBWn

Сброс измененных блоков буферного кэша может инициироваться фоновым процессом CKPT
Сброс измененных

блоков может инициироваться через CKPT серверным процессом (выделенным или разделяемым), который не обнаружил свободного места в буферном кэше;
DBW записывает измененные (LRU, RECYCLE/DEFAULT/KEEP) блоки на диск и освобождает место в буферном кэше.
Слайд 41

CKPT CKPT выполняет процесс checkpoint Выполняется при shutdown, alter system checkpoint,

CKPT

CKPT выполняет процесс checkpoint
Выполняется при shutdown, alter system checkpoint, переключении

REDO – журнала, периодическом сообщение от DWR, backup
записывает информацию о контрольной точке в управляющие файлы
дает команду DBW на сброс буферов
дает команду LGWR на сброс буферов
Слайд 42

CKPT инициирует создание контрольной точки изменяет управляющие файлы (последний SCN) изменяет

CKPT

инициирует создание контрольной точки
изменяет управляющие файлы (последний SCN)
изменяет заголовки

файлов
сигнализирует DBWR о необходимости сбросить буферы.
Слайд 43

LGWR Log Writer Process – только один управляет буфером журналов повтора

LGWR

Log Writer Process – только один
управляет буфером журналов повтора
записывает блоки буфера

журналов повтора в группы журналов
переключает текущую группу
записывает изменения базы данных до их фиксации DBWR в базе данных
Слайд 44

LGWR Если по какой-то причине LGWR не может записать данные в

LGWR

Если по какой-то причине LGWR не может записать данные в один

из файлов группы, он продолжает работать (информация об этом событии в alert)
Если файл в группе один или нет возможности записать ни в один файл группы, то экземпляр остановится
Производительность LGWR является критической для экземпляра.
Слайд 45

LGWR Инициирует создание контрольных точек Чем чаще контрольные точки, тем меньше

LGWR

Инициирует создание контрольных точек
Чем чаще контрольные точки, тем меньше времени

потребуется при восстановлении базы данных при сбое
Слайд 46

Log Writer Process Инициирует создание контрольных точек (DBWR записывает измененные блоки

Log Writer Process

Инициирует создание контрольных точек
(DBWR записывает измененные блоки в

файлы);
чем чаще контрольные точки, тем меньше времени потребуется при восстановлении базы данных при сбое.
Слайд 47

Параметры LGWR

Параметры LGWR

Слайд 48

Параметры LGWR

Параметры LGWR

Слайд 49

Параметры LGWR

Параметры LGWR

Слайд 50

ARCn Archiver Process – необязательный процесс копирует в online файлы повтора после переключения группы журналов.

ARCn

Archiver Process – необязательный процесс
копирует в online файлы повтора после переключения

группы журналов.
Слайд 51

ARCn

ARCn

Слайд 52

PMON Process monitor – отвечает за очистку после ненормального закрытия подключений

PMON

Process monitor – отвечает за очистку после ненормального закрытия подключений
Инициирует откат

незафиксированных транзакций, снятие блокировок, и освобождение ресурсов SGA
следит за работой других фоновых процессов, отвечает за их перезапуск
восстанавливает работу dispatcher или shadow процессов при системном сбое.
Слайд 53

SMON System Monitor Process – системный монитор Восстановление экземпляра для узла

SMON

System Monitor Process – системный монитор
Восстановление экземпляра для узла
Восстановление незавершенных транзакций
Очистка

временных сегментов данных
Очистка временных табличных пространств
Объединение свободного пространства
Слайд 54

RECO Recovery Process – разрешение проблем связанных с распределенными транзакциями.

RECO

Recovery Process – разрешение проблем связанных с распределенными транзакциями.

Слайд 55

FBDA Flashback Data Archiever – архивирование ретроспективных данных

FBDA

Flashback Data Archiever – архивирование ретроспективных данных

Слайд 56

Старт экземпляра базы данных Oracle STARTUP NOMOUNT STARTUP MOUNT STARTUP OPEN STARTUP FORCE STARTUP RESTRICT

Старт экземпляра базы данных Oracle

STARTUP NOMOUNT
STARTUP MOUNT 
STARTUP OPEN
STARTUP FORCE
STARTUP RESTRICT

Слайд 57

Останов экземпляра базы данных SHUTDOWN NORMAL SHUTDOWN TRANSACTIONAL SHUTDOWN IMMEDIATE SHUTDOWN ABORT

Останов экземпляра базы данных

SHUTDOWN NORMAL
SHUTDOWN TRANSACTIONAL
SHUTDOWN IMMEDIATE
SHUTDOWN ABORT

Слайд 58

STARTUP NOMOUNT Запуск экземпляра Oracle без монтирования базы данных Доступ пользователей

STARTUP NOMOUNT

Запуск экземпляра Oracle без монтирования базы данных
Доступ пользователей

запрещен
Используется для создания БД и пересоздания управляющих файлов
Слайд 59

STARTUP MOUNT Запустить экземпляр, монтировать БД, но не запускать ее Считан

STARTUP MOUNT

Запустить экземпляр, монтировать БД, но не запускать ее
Считан файл

параметров
Происходит обращение к управляющим файлам
Проверяется состояние файлов БД
Доступ пользователей запрещен
Из состояния STARTUP NOMOUNT переводится ALTER DATABASE MOUNT
Слайд 60

STARTUP OPEN Запустить экземпляр Монтировать и открыть БД Могут присоединяться пользователи

STARTUP OPEN

Запустить экземпляр
Монтировать и открыть БД
Могут присоединяться пользователи
Из состояния STARTUP

MOUNT переводится ALTER DATABASE OPEN
Можно стартовать в режиме только для чтения
ALTER DATABASE OPEN READ ONLY
ALTER DATABASE OPEN READ WRITE
 STARTUP RESTRICT - для пользователей, имеющих привилегию RESTRICTED SESSION
ALTER SYSTEM DISABLE(ENABLE) RESTRICTED SESSION
Слайд 61

SHUTDOWN NORMAL Запрещено создавать новые сессии Ожидается завершение работы всех пользователей

SHUTDOWN NORMAL

Запрещено создавать новые сессии
Ожидается завершение работы всех пользователей
Самый безопасный

и долгий способ останова
Никаких восстановительных работ при следующем старте не проводится
Слайд 62

SHUTDOWN TRANSACTIONAL Запрещено создавать новые сессии Запрещено запускать новые транзакции Сервер

SHUTDOWN TRANSACTIONAL

Запрещено создавать новые сессии
Запрещено запускать новые транзакции
Сервер дожидается завершения

уже начатых транзакций и отключает пользователей, не имеющих активных транзакций
Применяется в случаях, когда нет возможности применить NORMAL
Никаких восстановительных работ при следующем старте не проводится
Слайд 63

SHUTDOWN IMMEDIATE Запрещено создавать новые сессии Запрещено запускать новые транзакции Все

SHUTDOWN IMMEDIATE

Запрещено создавать новые сессии
Запрещено запускать новые транзакции
Все незафиксированные транзакции

откатываются
Применяется в случаях, когда нет возможности ждать
Никаких восстановительных работ при следующем старте не проводится
Слайд 64

SHUTDOWN ABORT Применяется в крайних случаях, когда остальные режимы останова не

SHUTDOWN ABORT

Применяется в крайних случаях, когда остальные режимы останова не

приводят к результату
Все действия прекращаются
Все транзакции не фиксируются и не откатываются
Пользователей отсоединяют от БД
При следующем старте будет выполнено возможное восстановление