Мониторинг блокировок в Oracle. Часть 2. Практический опыт диагностики блокировок::Журнал СА 12.2015
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Наука и технологии
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Контакты
   

  Опросы

Какие курсы вы бы выбрали для себя?  

Очные
Онлайновые
Платные
Бесплатные
Я и так все знаю

 Читать далее...

1001 и 1 книга  
20.12.2019г.
Просмотров: 5075
Комментарии: 0
Dr.Web: всё под контролем

 Читать далее...

04.12.2019г.
Просмотров: 6319
Комментарии: 0
Особенности сертификаций по этичному хакингу

 Читать далее...

28.05.2019г.
Просмотров: 7574
Комментарии: 2
Анализ вредоносных программ

 Читать далее...

28.05.2019г.
Просмотров: 7898
Комментарии: 1
Микросервисы и контейнеры Docker

 Читать далее...

28.05.2019г.
Просмотров: 6951
Комментарии: 0
Django 2 в примерах

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

 Мониторинг блокировок в Oracle. Часть 2. Практический опыт диагностики блокировок

Архив номеров / 2015 / Выпуск №12 (157) / Мониторинг блокировок в Oracle. Часть 2. Практический опыт диагностики блокировок

Рубрика: Базы данных /  Мониторинг

Валерий Михеичев ВАЛЕРИЙ МИХЕИЧЕВ, эксперт Oracle, СПАО «Ингосстрах», Valery.Mikheitchev@ingos.ru

Мониторинг блокировок в Oracle
Часть 2. Практический опыт диагностики блокировок

DML-блокировки составляют наибольшие проблемы в работе всех баз данных Oracle нашей организации. Расскажу, как мы их решаем

Виды блокировок, причины возникновения блокировок, а также методы их предупреждения изложены в статье [1].

Блокировки DML-операций в сессиях

DML-блокировки – это блокировки, которые защищают данные таблиц и проявляются при выполнении DML-операций (Data Manipulation Language), таких как insert, update, delete и select for update.

Блокировки DML устанавливают монопольную блокировку для строк, которые обрабатываются DML-операцией, и всякий раз, когда DML-операция собирается модифицировать строки в таблице (например, по update или delete), Oracle автоматически устанавливает монопольную блокировку уровня строки (тип TX) на каждую модифицированную строку таблицы. При этом блокировки DML удерживаются Oracle до тех пор, пока транзакция не завершится явно или неявно (явно транзакция завершается операцией commit или rollback, а неявно транзакция завершается после окончания сессии или в случае аварийного завершения процесса).

Из множества причин возникновения DML-блокировок, таких как:

  • отсутствие завершения транзакций по окончании DML-операции через commit (rollback);
  • отложенные по времени завершения транзакции, состоящей из DML-операций;
  • блокировки, обусловленные длительным временем выполнения DML-операции, и др.

Целесообразно обратить особое внимание на первые две причины (как показала практика в нашей организации).

Первая причина – это отсутствие commit (rollback) после выполнения DML-операции и вторая причина – это отложенное завершение транзакции.

Первая причина блокировок может быть обусловлена тем, что «забыли» поставить commit после DML-операции. Эта проблема может быть легко устранена на основании анализа ряда диагностических запросов. Таким запросом, позволяющим посмотреть наличие блокировок между двумя сессиями, является нижеуказанный запрос (работает быстро и эффективно):

Статью целиком читайте в журнале «Системный администратор», №12 за 2015 г. на страницах 41-43.

PDF-версию данного номера можно приобрести в нашем магазине.


  1. Михеичев В. Мониторинг блокировок в Oracle. Методы предупреждения и автоматического устранения. // «Системный администратор», №4, 2015 г. – С. 30-35 (http://samag.ru/archive/article/2926).

Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru