database - 表 oracle 锁定

标签 database oracle database-design database-administration database-locking

我不是 dba,但我在使用数据库时遇到问题,它一直锁定表并因此造成大困惑。我从 oracle dba 那里获得了一些信息,如果有人可以帮助我找到问题的关键或指出我需要做什么,我会在此处提供更多信息:

enter image description here

enter image description here

我有一份来自 Oracle 的大型报告,但我不理解其中 95% 的数据。

最佳答案

这看起来像常规的行级锁定。一行只能由一个用户一次修改。数据字典包含有关谁被阻止以及谁正在阻止的信息:

--Who's blocking who?
select
    blocked_sql.sql_id blocked_sql_id
    ,blocked_sql.sql_text blocked_sql_text
    ,blocked_session.username blocked_username
    ,blocking_sql.sql_id blocking_sql_id
    ,blocking_sql.sql_text blocking_sql_text
    ,blocking_session.username blocking_username
from gv$sql blocked_sql
join gv$session blocked_session
    on blocked_sql.sql_id = blocked_session.sql_id
    and blocked_sql.users_executing > 0
join gv$session blocking_session
    on blocked_session.final_blocking_session = blocking_session.sid
    and blocked_session.final_blocking_instance = blocking_session.inst_id
left join gv$sql blocking_sql
    on blocking_session.sql_id = blocking_sql.sql_id;

如果您了解该系统,通常更容易关注“谁”在阻止而不是“什么”被阻止。上面的查询只返回几个常见的列,但这些表中还有许多其他列可能有助于识别过程。

关于database - 表 oracle 锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25978471/

相关文章:

c# - 是否无法在运行时或编译时更改 SSDL 内容(Visual Studio 2015 EntityFramework 数据库首先使用 Oracle)

java - 选择 Oracle java - ORA-00905 : not found keyword

mysql - 针对两类用户的数据库设计

mysql - 将数据从 Mysql 迁移到 Db2

mysql - 我在 mysql 数据库中收到一个错误,说 "#1136 column count doesn' t 匹配第 1 行的值计数”

database - 双向不同的多对多关系

php - Laravel php 规范列表表

php - 未选择数据库 PHP

database - 如何检查Oracle实例是使用pfile还是spfile启动的?

MySQL 数据库 - 性能设计