我正在尝试在oracle中创建一个物化视图(使用sql developer)。
我在一张小桌子上测试过,一切都很顺利。
现在我在一张非常大的桌子上做这件事,经过一个小时的精心设计后,我得到以下错误: " ORA-04020:尝试锁定"
时检测到死锁有没有办法避免它?或者因为桌子太大而无法做很多事情?
答案 0 :(得分:1)
数据库中的其他内容已锁定了您的查询所需的对象,以便构建。
找出尝试的对象;
SELECT vo.object_id, obj.object_name, vo.oracle_username, vo.os_user_name, vo.session_id
FROM v$locked_object vo
INNER JOIN all_objects obj
ON vo.object_id = obj.object_id
查找物化视图将尝试使用的对象,您应该看到哪个用户已锁定对象。
转到用户并要求他们提交或回滚他们正在做的事情。