oracle 查看表被哪个对象锁了
时间: 2023-08-11 16:03:48 浏览: 221
你可以使用以下语句查询表或行所被哪个对象锁住了:
```sql
SELECT
object_name,
object_type,
session_id,
oracle_username,
os_user_name,
locked_mode
FROM
v$locked_object l,
all_objects o
WHERE
l.object_id = o.object_id
AND o.object_name = '表名';
```
其中,`表名`是你要查询的表名。这个查询语句可以显示锁定对象的名称、类型、锁定模式、持有锁定会话的 ID 以及持有锁定会话的操作系统用户名和 Oracle 用户名。
相关问题
oracle 锁表查看
在 Oracle 数据库中,您可以使用以下方法来查看锁表:
1. 使用 `v$locked_object` 视图
```
SELECT
object_name,
object_type,
session_id,
type,
lmode,
request,
block
FROM
v$locked_object;
```
这个查询将返回锁定对象的名称和类型,以及锁定该对象的会话 ID、锁定类型、锁定模式、请求的锁定模式和是否有阻塞。如果一个表被锁定,那么它将被列出并显示锁定模式。如果一个会话正在等待另一个会话释放锁定,则查询结果会显示阻塞会话的 ID。
2. 使用 `dba_locks` 视图
```
SELECT
session_id,
lock_type,
mode_held,
mode_requested,
lock_id1,
lock_id2
FROM
dba_locks;
```
这个查询将返回锁定的会话 ID、锁定类型、持有的锁定模式、请求的锁定模式、锁定对象的 ID 和锁定对象的分区 ID。
无论使用哪种方法,都可以查看 Oracle 数据库中的锁定对象,并了解锁定的持有者和请求者的会话 ID、锁定类型和模式。这可以帮助您诊断和解决锁定问题。
oracle 查看锁表的命令
在 Oracle 数据库中,您可以使用以下命令来查看锁表:
```
SELECT
object_name,
object_type,
session_id,
type,
lmode,
request,
block
FROM
v$locked_object;
```
这个命令将返回锁定对象的名称和类型,以及锁定该对象的会话 ID、锁定类型、锁定模式、请求的锁定模式和是否有阻塞。如果一个表被锁定,那么它将被列出并显示锁定模式。如果一个会话正在等待另一个会话释放锁定,则查询结果会显示阻塞会话的 ID。
阅读全文