25.6.17.7 Таблица 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.
© 2025 Oracle
Licensed under the GPLv2 License.