查询ASE DB锁定以及锁定的持续时间

时间:2018-05-23 06:18:14

标签: sybase sybase-ase

我正在寻找一个sql,它打印出当前持有的所有数据库锁,以及为ASE保留锁的持续时间。 我想定期运行该sql,以便我们可以监视数据库运行状况以查找锁定问题。

2 个答案:

答案 0 :(得分:1)

请参阅master..monLocks表以获取已授予锁定和挂起(阻止)锁定请求的列表。

WaitTime列将显示进程等待请求锁定的秒数。您应该能够使用该表中的其余列来构建所需的查询(注意:您可能需要与其他表联接...取决于您要查找的信息)。

答案 1 :(得分:0)

系统还存储了proc sp_object_stats。来自docs

“显示表和索引的锁争用,锁等待时间和死锁统计信息”

单个对象的输出如下:

    Object Name: pubtune..titles (dbid=7, objid=208003772,lockscheme=Datapages)

  Page Locks     SH_PAGE                UP_PAGE               EX_PAGE$
  ----------    ----------             ----------            ----------
  Grants:         94488                  4052                  4828
  Waits:               532                    500                   776
  Deadlocks:             4                      0                    24
  Wait-time:      20603764 ms           14265708 ms           2831556 ms
  Contention:         0.56%                 10.98%                13.79%

 *** Consider altering pubtune..titles to Datarows locking.

默认显示前10个对象。