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

Содержание

Слайд 2

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

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

Слайд 3

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

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

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

Слайд 4

Процессы Oracle

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

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

Слайд 5

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

Клиентский процесс прямо взаимодействует с соответствующим серверным процессом по сети
Первичное установление

Серверные процессы Клиентский процесс прямо взаимодействует с соответствующим серверным процессом по сети
соединения происходит через специальный серверный процесс Oracle Net Listener
Серверный процесс:
Получает и выполняет SQL-операторы
Читает файлы данных
Осуществляет поиск в кеше
Назначение — отвечать на получаемые SQL-запросы
Клиентом может быть любая программа, пытающаяся подключиться к СУБД

Слайд 6

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

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

Серверные процессы Отправка SQL-запроса select * from students; Производит синтаксический разбор Помещает
(находит в пуле)
Создает план запроса и выполняет его
При необходимости, производит поиск данных в буферном кэше или запрашивает в кэш с диска

Слайд 7

Oracle Net Listener

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

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

Слайд 8

Oracle Net Listener – Службы

Oracle Net Listener – Службы

Слайд 9

Oracle Net Listener

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

Oracle Net Listener Экземпляр может иметь несколько точек подключения Точки подключения называются
имеют символические имена
При инсталляции автоматически создается два сервиса:
SYS$USERS (по умолчанию, указывается SID в параметрах соединения),
сервис с именем инстанса (указывается сервис)
При создании PDB для нее автоматически добавляется сервис с именем, совпадающим с PDB-именем

Слайд 10

Oracle Net Listener

Oracle Net Listener

Слайд 11

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

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

Oracle Net Listener – старт экземпляра фоновый процесс LREG считывает имена и
зарегистрированных сервисов экземпляра
регистрирует их в Listener
если Listener не обнаружен, то попытки регистрации периодично повторяются
Listener прослушивает запросы к сервисам

Слайд 12

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

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

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

Слайд 13

Oracle Net Listener

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

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

Слайд 14

Oracle Net Listener

Oracle Net Listener

Слайд 15

Oracle Net Listener

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

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

Слайд 16

Oracle Net Listener

Oracle Net Listener

Слайд 17

Oracle Net Listener

Oracle Net Listener

Слайд 18

Oracle Net Listener

Oracle Net Listener

Слайд 19

Oracle Net Listener

Oracle Net Listener

Слайд 20

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

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

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

Слайд 21

Режимы сессий

Режимы сессий

Слайд 22

Dedicated server

Dedicated server

Слайд 23

Shared server

Уменьшается количество серверных процессов
Предпочтительнее, когда в системе присутствует большое количество пользователей
Для

Shared server Уменьшается количество серверных процессов Предпочтительнее, когда в системе присутствует большое
длительных заданий лучше использовать выделенный режим – почему?

Слайд 24

Параметры dispatcher

Параметры dispatcher

Слайд 25

Параметры dispatcher

Параметры dispatcher

Слайд 26

Параметры dispatcher

Параметры dispatcher

Слайд 27

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

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

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

Слайд 28

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

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

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

Слайд 29

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

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

Слайд 30

LREG

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

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

Слайд 31

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 измененные блоки (грязные блоки) в файлы базы данных.

Слайд 32

DBWn

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

DBWn В большинстве случаев достаточно одного процесса Если процессор 1, то в
в 1 DBW не смысла
Проверяет с периодичностью не менее 3 сек. наличие измененных блоков и инициирует checkpoint и по команде фонового процесса CKPT сбрасывает некоторую их часть на диск
Использует асинхронный ввод-вывод для записи блоков на диск

Слайд 33

DBWn

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

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

Слайд 34

CKPT

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

CKPT CKPT выполняет процесс checkpoint Выполняется при shutdown, alter system checkpoint, переключении
– журнала, периодическом сообщение от DWR, backup
записывает информацию о контрольной точке в управляющие файлы
дает команду DBW на сброс буферов
дает команду LGWR на сброс буферов

Слайд 35

CKPT

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

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

Слайд 36

LGWR

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

LGWR Log Writer Process – только один управляет буфером журналов повтора записывает
повтора в группы журналов
записывает изменения базы данных до их фиксации DBWR в базе данных
переключает текущую группу
Раз в 3 секунды
При фиксации транзакции
При заполнении буфера на 1/3 или записи в него 1Мб

Слайд 37

LGWR

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

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

Слайд 38

LGWR

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

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

Слайд 39

Параметры LGWR

Параметры LGWR

Слайд 40

Параметры LGWR

Параметры LGWR

Слайд 41

Параметры LGWR

Параметры LGWR

Слайд 42

ARCn

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

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

Слайд 45

PMON

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

PMON Process monitor – отвечает за очистку после ненормального закрытия подключений Инициирует
транзакций, снятие блокировок, и освобождение ресурсов SGA
следит за работой других фоновых процессов, отвечает за их перезапуск
восстанавливает работу dispatcher или shadow процессов при системном сбое

Слайд 46

SMON

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

SMON System Monitor Process – системный монитор Восстановление экземпляра для узла Восстановление
сегментов данных
Очистка временных табличных пространств
Объединение свободного пространства
Очистка таблицы OBJ
Сжатие сегментов отката

Слайд 47

RECO

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

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

Слайд 48

RECO

Одна из баз данных, к которой первоначально подключился клиент, становится координатором
Сервер опрашивает

RECO Одна из баз данных, к которой первоначально подключился клиент, становится координатором
остальные N -1 серверов, готовы ли они фиксировать транзакцию
Каждый из N -1 серверов сообщает о своем состоянии готовности как да (YES) или нет (NO)
Если любой из серверов вернул NO, вся транзакция откатывается
Если все серверы вернули YES, координатор рассылает всем N - 1 серверам сообщение о постоянной фиксации

Слайд 49

RECO

Если серверы ответили YES и происходит сбой сети транзакция становится сомнительной (in-doubt) распределенной транзакцией
Протокол обработки распределенных

RECO Если серверы ответили YES и происходит сбой сети транзакция становится сомнительной
транзакций не может полностью предотвратить сомнительные транзакции
Остальную обработку сомнительной транзакции выполняет процесс RECO

Слайд 50

RECO

Транзакция остается незафиксированной
RECO может восстановить либо откатить транзакцию, связавшись с координатором
Если процесс

RECO Транзакция остается незафиксированной RECO может восстановить либо откатить транзакцию, связавшись с
RECO не может связаться с координатором, то необходимо зафиксировать или откатить транзакции вручную

Слайд 51

FBDA

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

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

Слайд 52

Режимы старта и останова экземпляра

Для запуска или остановки экземпляра должно использоваться подключение

Режимы старта и останова экземпляра Для запуска или остановки экземпляра должно использоваться
с разрешением SYSDBA или SYSOPER

Слайд 53

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

STARTUP NOMOUNT
STARTUP MOUNT 
STARTUP OPEN
STARTUP FORCE
STARTUP RESTRICT

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

Слайд 54

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

SHUTDOWN NORMAL
SHUTDOWN TRANSACTIONAL
SHUTDOWN IMMEDIATE
SHUTDOWN ABORT

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

Слайд 55

STARTUP NOMOUNT

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

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

Слайд 56

STARTUP MOUNT

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

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

Слайд 57

STARTUP OPEN

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

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

Слайд 58

SHUTDOWN NORMAL

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

SHUTDOWN NORMAL Запрещено создавать новые сессии Ожидается завершение работы всех пользователей Самый
долгий способ останова
Никаких восстановительных работ при следующем старте не проводится

Слайд 59

SHUTDOWN TRANSACTIONAL

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

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

Слайд 60

SHUTDOWN IMMEDIATE

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

SHUTDOWN IMMEDIATE Запрещено создавать новые сессии Запрещено запускать новые транзакции Все незафиксированные
в случаях, когда нет возможности ждать
Никаких восстановительных работ при следующем старте не проводится

Слайд 61

SHUTDOWN ABORT

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

SHUTDOWN ABORT Применяется в крайних случаях, когда остальные режимы останова не приводят
к результату
Все действия прекращаются
Все транзакции не фиксируются и не откатываются
Пользователей отсоединяют от БД
При следующем старте будет выполнено возможное восстановление
Имя файла: Архитектура-Oracle.-Процессы-и-потоки-Windows-(лекция-6).pptx
Количество просмотров: 47
Количество скачиваний: 0