要查看 Oracle 数据库中是否有表被锁定,可以使用以下 SQL 查询语句:

SELECT
    object_name,
    session_id,
    type,
    mode_held,
    mode_requested
FROM
    v$locked_object
WHERE
    object_type = 'TABLE';

该查询语句将返回被锁定的表的名称、持有锁的会话 ID、锁类型、持有锁的模式以及请求的锁模式。

另外,你还可以使用以下 SQL 查询语句来查看当前会话是否锁定了某个表:

SELECT
    owner,
    object_name,
    object_type,
    sid,
    serial#
FROM
    v$locked_object lo,
    dba_objects do
WHERE
    lo.object_id = do.object_id
    AND do.object_name = '<table_name>'
    AND do.owner = '<table_owner>';

<table_name> 替换为表名, <table_owner> 替换为表的所有者。这个查询将返回锁定指定表的会话的会话 ID 和序列号。

请注意,这些查询需要具有适当的权限才能执行

查看oracle 是否有锁表的

原文地址: https://www.cveoy.top/t/topic/iYmA 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录