21.6.15.4 Таблица ndbinfo cluster_locks
Таблица cluster_locks предоставляет информацию о текущих запросах блокировки, удерживаемых и ожидающих блокировок на таблицах NDB в кластере NDB и предназначена в качестве вспомогательной таблицы к cluster_operations. Информация, полученная из таблицы cluster_locks, может быть полезна при исследовании задержек и тупиковых ситуаций.
Таблица cluster_locks содержит следующие столбцы:
-
node_idИдентификатор узла, отправляющего отчет
-
block_instanceИдентификатор экземпляра LDM, отправляющего отчет
-
tableidИдентификатор таблицы, содержащей эту строку
-
fragmentidИдентификатор фрагмента, содержащего заблокированную строку
-
rowidИдентификатор заблокированной строки
-
transidИдентификатор транзакции
-
modeРежим запроса блокировки
-
stateСостояние блокировки
-
detailЯвляется ли это первой удерживающей блокировкой в очереди блокировок строк
-
opТип операции
-
duration_millisМиллисекунды, затраченные на ожидание или удержание блокировки
-
lock_numИдентификатор объекта блокировки
-
waiting_forОжидание блокировки с этим идентификатором
Примечания
Идентификатор таблицы (столбец tableid) назначается внутри и совпадает с тем, который используется в других таблицах ndbinfo. Он также показан в выводе ndb_show_tables.
Идентификатор транзакции (столбец transid) — это идентификатор, сгенерированный API NDB для транзакции, запрашивающей или удерживающей текущую блокировку.
Столбец mode показывает режим блокировки; это всегда один из S (указывающий общую блокировку) или X (исключительную блокировку). Если транзакция удерживает исключительную блокировку на заданной строке, все другие блокировки на этой строке имеют тот же идентификатор транзакции.
Столбец state показывает состояние блокировки. Его значение всегда одно из H (удержание) или W (ожидание). Запрос ожидания блокировки ждет блокировку, удерживаемую другой транзакцией.
Когда столбец detail содержит * (символ звездочки), это означает, что эта блокировка является первой удерживающей блокировкой в очереди блокировок строки; в противном случае этот столбец пустой. Эта информация может быть использована для выявления уникальных записей в списке запросов на блокировку.
Столбец op показывает тип операции, запрашивающей блокировку. Это всегда одно из значений READ, INSERT, UPDATE, DELETE, SCAN или REFRESH.
Столбец duration_millis показывает количество миллисекунд, в течение которых этот запрос блокировки ожидает или удерживает блокировку. Он сбрасывается до 0, когда запрос ожидания получает блокировку.
Идентификатор блокировки (столбец lockid) уникален для этого узла и экземпляра блока.
Состояние блокировки отображается в столбце lock_state; если это W, блокировка ожидает предоставления, а столбец waiting_for отображает идентификатор объекта блокировки, которого ожидает этот запрос. В противном случае столбец waiting_for пустой. waiting_for может относиться только к блокировкам в той же строке, как определено node_id, block_instance, tableid, fragmentid и rowid.
Таблица cluster_locks была добавлена в NDB 7.5.3.
© 2025 Oracle
Licensed under the GPLv2 License.