моя контактная информация
Почтамезофия@protonmail.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
В Oracle имеется множество фоновых процессов. Если вы сталкиваетесь с особыми ситуациями, такими как блокировка таблиц, и ожидаете фонового процесса, вам необходимо подумать, можете ли вы завершить фоновый процесс? Приведет ли уничтожение этого фонового процесса к сбою экземпляра? С точки зрения практики, настоящие знания приходят из практики. В этой статье рассматриваются три версии Oracle 11g, Oracle 19c и Oracle 23ai. Мы по очереди уничтожим фоновые процессы системы, чтобы посмотреть, приведет ли это к зависанию экземпляра. крушение.
Все уже знакомы с шестью основными процессами pmon, smon, dbwr, lgwr, ckpt и mman. Завершение этих шести основных процессов обязательно приведет к сбою экземпляра, поэтому эти шесть исключаются из сценария.
#!/bin/sh
function startup()
{
sqlplus / as sysdba<<EOF
startup
exit
EOF
}
started=`ps -ef | grep pmon | grep -v grep | awk '{print $2}'`
test -z "$started" && startup >> /dev/null
sleep 5
# List of Oracle background processes to exclude from killing
exclude_processes="pmon|smon|dbw0|dbw1|lgwr|ckpt|mman"
# Get list of Oracle processes
prolist=`ps -ef | grep ora | egrep -v "bash|su|h|ps|grep|more|sleep|awk|LOCAL|sy sdba|log|$exclude_processes" | awk '{print $NF}'`
for i in $prolist
do
proc_key=`echo $i | awk -F _ '{print $2}'`
pid=`ps -ef | grep $proc_key | grep -v grep | awk '{print $2}'`
test -z $pid && echo "$proc_key does not exist" || {
echo "Killing process $proc_key with PID $pid"
kill -9 $pid
sleep 20
# Check if PMON process exists
pc=`ps -ef | grep pmon | grep -v grep | wc -l`
echo "Number of PMON processes: $pc"
if [ $pc -eq 0 ]; then
echo "Killed process $proc_key has caused instance crash!"
startup >> /dev/null
sleep 5
else
echo "Killed process $proc_key has not caused instance crash."
fi
}
done
Вот результаты тестов трёх версий
оракул 11g
Killed process vktm has caused instance crash!
Killed process gen0 has caused instance crash!
Killed process dbrm has caused instance crash!
оракул 19с
Killed process clmn has caused instance crash!
Killed process vktm has caused instance crash!
Killed process gen0 has caused instance crash!
Killed process lg00 has caused instance crash!
Killed process lg01 has caused instance crash!
Killed process lreg has caused instance crash!
Killed process dbrm has caused instance crash!
Killed process pman has caused instance crash!
оракул 23ai
Killed process clmn has caused instance crash!
Killed process vktm has caused instance crash!
Killed process gen0 has caused instance crash!
Killed process lg00 has caused instance crash!
Killed process lg01 has caused instance crash!
Killed process lreg has caused instance crash!
Killed process dbrm has caused instance crash!
Killed process pman has caused instance crash!
Killed process bg02 has caused instance crash!
оракул11г (9)
оракул 19в (9+4=13)
В официальных документах нет описания bgnn?
PMON (монитор процессов):
Отвечает за мониторинг состояния фоновых процессов и пользовательских процессов. При обнаружении неисправности или отключения пользовательского процесса PMON отвечает за очистку связанных ресурсов и снятие блокировок.
SMON (системный монитор):
Обрабатывает транзакции системного уровня и восстановление экземпляров базы данных. SMON отвечает за поддержание согласованности базы данных, включая откат незавершенных транзакций и очистку временных сегментов.
DBWR (писатель баз данных):
Отвечает за запись данных из буфера обратно на диск. DBWR выполняет контрольные точки по мере необходимости, чтобы обеспечить согласованность и надежность базы данных.
LGWR (писатель журнала):
Запишите записи журнала из буфера журнала повторов в файл журнала повторов. LGWR обеспечивает надежность транзакций, позволяя базе данных восстановиться после сбоя.
CKPT (Процесс контрольно-пропускного пункта):
Отвечает за выполнение периодических операций контрольной точки в экземпляре базы данных. Контрольная точка записывает измененные данные из буфера базы данных в файл данных для операций восстановления.
MMAN (менеджер памяти):
Управляйте распределением и использованием памяти в экземплярах базы данных. MMAN отвечает за автоматическую настройку размера общих пулов и других структур памяти для оптимизации производительности базы данных.
VKTM (Виртуальный Хранитель Времени):
Предоставляйте службы времени в экземплярах базы данных. VKTM управляет всеми операциями в базе данных, связанными со временем, включая ожидание событий и временные метки транзакций.
Новый фоновый процесс, представленный в Oracle 11g.
DBRM (менеджер ресурсов базы данных):
Управляйте распределением и использованием ресурсов базы данных, включая ЦП, ввод-вывод и количество подключений. DBRM обеспечивает справедливое и эффективное распределение ресурсов между различными пользователями и приложениями.
Новый фоновый процесс представлен в Oracle 11g
GEN0 (общий фоновый процесс):
Фоновый процесс общего назначения, используемый для выполнения различных системных задач и операций управления в экземпляре базы данных.
Фоновый процесс, представленный в Oracle 10g
23аи (13+1=14)
Новыйбгнн Процесс, 23ai имеет несколько фоновых процессов bgnn. Если его убить, экземпляр выйдет из строя. Это должен быть ключевой процесс, но официальной ссылки нет? очень странно! Если кто-нибудь знает, пожалуйста, оставьте сообщение и дайте мне несколько советов!
CLMN (основной процесс очистки):
Функция: отвечает за выполнение задач очистки в экземпляре Oracle.
Обязанности: Управляйте очисткой мертвых процессов, прерванных сеансов, транзакций, сетевых подключений, простаивающих сеансов, отдельных транзакций и сетевых подключений, время ожидания которых превышает время простоя.
В Oracle 12c добавлены функции clnn, помогающие pmon выполнить некоторые работы по очистке.
LGnn (работник записи журнала):
Функция: вспомогательный процесс lgwr.
Обязанности: В многопроцессорных системах LGWR создает рабочие процессы для повышения производительности процесса записи.
Oracle19c представлен для помощи процессу lgwr в обработке параллелизма и повышения производительности записи журналов.
LREG (процесс регистрации слушателя):
Функция: зарегистрировать экземпляр Oracle в прослушивателе.
Обязанности : уведомляет слушателей об экземплярах, службах, обработчиках и конечных точках. Убедитесь, что прослушиватель знает, к какой службе базы данных он может подключиться.
представлен оракул 12c
PMAN (менеджер процессов):
Функция: Управление различными фоновыми процессами в базе данных Oracle.
Обязанности: Мониторинг, запуск и остановка процессов распространителя и общего сервера, брокеров подключений, объединенных серверных процессов для пулов подключений, находящихся в базе данных, процессов очереди заданий и перезапускаемых фоновых процессов по мере необходимости.
представлен оракул 12c
В дополнение к вышесказанному существуют также фоновые процессы, связанные с экземплярами ASM в среде кластера. Существуют следующие четыре ключевых процесса ASM, которые невозможно завершить.
ASMB (фоновый процесс ASM):
Функция :ASMB — это фоновый процесс автоматического управления хранилищем (ASM). В основном он используется для поддержания связи между экземплярами ASM и экземплярами Oracle. ASMB управляет соединениями с экземплярами Oracle, обрабатывает запросы операций с метаданными между экземплярами ASM и клиентами и координирует операции по перебалансировке данных.
RBAL (главный процесс ребалансировки ASM):
Функция : RBAL — это еще один процесс, связанный с ASM. Он отвечает за распределение задач ребалансировки по подчиненным процессам ARBx в других экземплярах ASM. Операции перебалансировки выполняются при добавлении или удалении дисков ASM, чтобы обеспечить равномерное распределение данных по группе дисков.
PSP0 (Процесс-построитель):
Функция : PSP0 — это процесс-генератор процессов, отвечающий за создание и управление другими фоновыми процессами в экземпляре Oracle. Это гарантирует, что необходимые фоновые процессы запускаются при запуске экземпляра, а новые процессы создаются при необходимости.
GMON (процесс монитора группы дисков ASM):
Функция : GMON — это процесс мониторинга группы дисков ASM. В основном он используется для мониторинга и управления состоянием и работоспособностью групп дисков ASM. GMON обеспечивает согласованность группы дисков и предпринимает корректирующие действия при обнаружении ошибок или несоответствий в группе дисков.
пс :оракул 23aiЕсть еще одно изменение: имя фонового процесса было изменено с ora_xxxx на db_xxxx, что означает отказ от правила, которое использовалось десятилетиями.
19с
23ai (не уверен, использует ли официальная версия EE ora_ или db_)