查询表锁有什么好方法吗
我也想知道。
有个GV$Lock表吧
查询锁信息:
使用 v$lock_info 视图查询锁信息:SELECT * FROM v$lock_info WHERE table_name = ‘your_table_name’;
1官网
使用 v$locked_object 视图查询被锁定的对象信息:SELECT * FROM v$locked_object WHERE table_name = ‘your_table_name’;
使用 v$lock_stats 视图查询锁统计信息:SELECT * FROM v$lock_stats WHERE table_name = ‘your_table_name’;
1官网
查询阻塞会话信息:
使用 sys.blocking_lock 视图查询被阻塞的会话以及阻塞会话的相关信息:SELECT * FROM sys.blocking_lock;
查询等待锁的事务:
查询正在等待锁的事务:SELECT w.sess_id AS waiting_sess_id, w.sql_id AS waiting_sql_id, w.waiting_start_time AS waiting_start_time, w.waiting_object_type AS waiting_object_type, w.waiting_object_name AS waiting_object_name FROM v$lock_wait w;
查询会话信息:
使用 v$session_info 视图查询会话和锁状态信息:SELECT * FROM v$session_info;
1官网
使用 SELECT FOR UPDATE 锁定查询结果:
通过 SELECT … FOR UPDATE 语法锁定查询结果,可以查看当前事务持有的锁:SELECT name, c_date FROM test_tbl1 WHERE id=1 FOR UPDATE;
这些视图和 SQL 语句可以帮助您监控和诊断 OceanBase 数据库中的锁等待、阻塞和死锁等问题。
有锁一类的字典视图吧