Опросы |
Статьи |
Работа с Debian
О Linux с любовью или Debian: через знание к любви
Конечно, одним лишь перечислением замечательных качеств любовь к Linux не возникнет. Для
Читать далее...
|
Опрос
Защита личных и клиентских данных: как мошенники используют ИИ и как защититься?
По данным RED Security, общее число кибератак на российские компании в 2024
Читать далее...
|
Опрос
Облачные инструменты для разработчиков
Эксперты ИТ-отрасли отвечают на вопросы «Системного администратора»
> Как с помощью облака сделать
Читать далее...
|
Опрос
Рынок мобильных приложений: что будет актуальным в 2025 году?
Эксперты ИТ-отрасли отвечают на вопросы «Системного администратора»
> Ваши прогнозы: чего ожидать от
Читать далее...
|
Рынок труда
Как успешно пройти все этапы собеседования на ИТ-должность?
По оценкам государства, дефицит ИТ-специалистов составляет от 740 тысяч до 1 миллиона
Читать далее...
|
|
|
1001 и 1 книга
|
19.03.2018г.
Просмотров: 7596
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О
Читать далее...
|
12.03.2018г.
Просмотров: 7854
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации
Читать далее...
|
12.03.2018г.
Просмотров: 5215
Комментарии: 0
Глубокое обучение с точки зрения практика
Читать далее...
|
12.03.2018г.
Просмотров: 3346
Комментарии: 0
Изучаем pandas
Читать далее...
|
12.03.2018г.
Просмотров: 4139
Комментарии: 0
Программирование на языке Rust (Цветное издание)
Читать далее...
|
19.12.2017г.
Просмотров: 4151
Комментарии: 0
Глубокое обучение
Читать далее...
|
19.12.2017г.
Просмотров: 6648
Комментарии: 0
Анализ социальных медиа на Python
Читать далее...
|
19.12.2017г.
Просмотров: 3488
Комментарии: 0
Основы блокчейна
Читать далее...
|
19.12.2017г.
Просмотров: 3767
Комментарии: 0
Java 9. Полный обзор нововведений
Читать далее...
|
16.02.2017г.
Просмотров: 7642
Комментарии: 0
Опоздавших не бывает, или книга о стеке
Читать далее...
|
17.05.2016г.
Просмотров: 11005
Комментарии: 0
Теория вычислений для программистов
Читать далее...
|
30.03.2015г.
Просмотров: 12729
Комментарии: 0
От математики к обобщенному программированию
Читать далее...
|
18.02.2014г.
Просмотров: 14511
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»
Читать далее...
|
13.02.2014г.
Просмотров: 9450
Комментарии: 0
Читайте, размышляйте, действуйте
Читать далее...
|
12.02.2014г.
Просмотров: 7414
Комментарии: 0
Рисуем наши мысли
Читать далее...
|
10.02.2014г.
Просмотров: 5696
Комментарии: 4
Страна в цифрах
Читать далее...
|
18.12.2013г.
Просмотров: 4902
Комментарии: 0
Большие данные меняют нашу жизнь
Читать далее...
|
18.12.2013г.
Просмотров: 3755
Комментарии: 0
Компьютерные технологии – корень зла для точки роста
Читать далее...
|
04.12.2013г.
Просмотров: 3436
Комментарии: 0
Паутина в облаках
Читать далее...
|
03.12.2013г.
Просмотров: 3667
Комментарии: 1
Рецензия на книгу «MongoDB в действии»
Читать далее...
|
|
|
Друзья сайта
|
|
|
|
|
Мониторинг блокировок в Oracle. Методы предупреждения и автоматического устранения
Архив номеров / 2015 / Выпуск №4 (149) / Мониторинг блокировок в Oracle. Методы предупреждения и автоматического устранения
Рубрика:
Базы данных /
Мониторинг
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
ВАЛЕРИЙ МИХЕИЧЕВ, эксперт Oracle, ОСАО «Ингосстрах», Valery.Mikheitchev@ingos.ru
Мониторинг блокировок в Oracle
Методы предупреждения и автоматического устранения
Многолетний опыт эксплуатации баз данных в Oracle в нашей организации показал, что среди проблем, возникающих в базах данных (БД), особое место занимают блокировки, которые могут привести к невозможности дальнейшей работы БД, в связи с чем потребуются срочные меры по их устранению.
Возможные типы блокировок описаны в различных источниках. Однако практически мало систематизированной информации о том, как предупреждать блокировки, а главное, какими инструментальными средствами диагностировать блокировки и оперативно их устранять, в том числе автоматическими программными средствами.
Немного о блокировках
Чтобы понять, как диагностировать и предупреждать блокировки, информация о них и причинах их возникновения.
Наиболее характерными типами являются блокировки DML-операций, блокировки DDL-операций, а также защелки и внутренние блокировки.
- Блокировки данных DML. Они защищают данные таблиц. DML-операции (insert, update, delete и select for update) устанавливают монопольную блокировку для строк, которые обрабатываются DML-операцией, т.е. добавляются, удаляются или изменяются внутри транзакции. Всякий раз, когда DML-операция собирается модифицировать строки в таблице (например, по update или delete), Oracle автоматически устанавливает монопольную блокировку уровня строки (тип TX) на каждую модифицированную строку таблицы. Блокировки DML удерживаются Oracle до тех пор, пока транзакция не завершится, явно (операциями commit или rollback) или неявно. Неявно транзакция завершается после отсоединения пользователя от Oracle или в случае аварийного завершения процесса. Следует заметить, что наличие монопольной блокировки на строки, установленные модифицирующей транзакцией, не запрещает другим транзакциям изменять и удалять не затронутые модифицирующей транзакцией строки той же таблицы.
- Блокировки словаря DDL. Блокировки словаря защищают структуру объектов, например, определения таблиц и представлений. DDL-операции (create, drop, alter, truncate и т.д.) предохраняют объекты Oracle от изменения их структуры или от уничтожения. Так, DDL-блокировки устанавливаются для защиты структуры объекта от модификации другими DDL-операциями.
- Защелки (latch) – это блокировки, предназначенные для установки их на короткие интервалы времени, служат для защиты определенных структур памяти (например, буферного кэша блока БД или библиотечного кэша). Следует заметить, что внутренние блокировки и защелки не могут управляться пользователем.
- Внутренние блокировки – это блокировки разных типов, например, блокировки кэша словаря данных, блокировки управления файлами, блокировки табличного пространства и сегментов отката.
Блокировки можно разделить на две группы: создаваемые автоматически и явные (ручные) блокировки. К ручным блокировкам относятся созданные командами lock table, select for update, или с использованием пакета dbms_lock.
Причины возникновения блокировок и методы их предупреждения
Опыт работы с БД позволил сформулировать следующие наиболее часто встречающиеся причины блокировок:
- Отсутствие завершения транзакций по окончании DML-операции через commit (rollback), в силу чего другие транзакции оказываются заблокированными (им приходится ждать завершения транзакции).
- Отложенные во времени завершения транзакции, состоящей из DML-операций, когда транзакция завершается по commit (rollback) только после выполнения нескольких DML-операций или после автоматического завершения транзакции.
- Длительное время выполнения DML-операций в транзакции, в том числе в силу длительного выполнения запроса, участвующего в DML-операции, или длительного выполнения цикла, содержащего DML-операции.
- Отсутствие commit при модификации строк (например, по update или delete) в одной и той же таблице в цепочке процедур внутри сессии. Что приводит к блокировкам внутри сессии.
- Принудительные ручные блокировки (например, оператором lock table).
- Одновременно ввод в таблицу разными сессиями строк, содержащих одни и те же значения в первичном ключе или уникальном индексе (блокировки по insert).
- Использование битовых индексов в таблицах, подвергающихся одновременному изменению со стороны нескольких сессий.
- Блокировки, возникающие в дочерней таблице, обусловленные изменениями в родительской таблице.
Статью целиком читайте в журнале «Системный администратор», №4 за 2015 г. на страницах 30-34.
PDF-версию данного номера можно приобрести в нашем магазине.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
Комментарии отсутствуют
Добавить комментарий
|
Комментарии могут оставлять только зарегистрированные пользователи
|
|