编译存储过程 等待锁定对象 时超时问题解决

简介: 编译的存储过程的时候,程序死住,等待一会出现ora-04021错误解决办法:1.可能被锁住 查看v$lockedselect b.sid,b.serial#,b.machine,b.terminal,b.
编译的存储过程的时候,程序死住,等待一会出现ora-04021错误解决办法:
1.可能被锁住 查看v$locked
select b.sid,b.serial#,b.machine,b.terminal,b.program,b.process,b.status from v$lock a , v$session b
where a.SID = b.SID
得到死锁session的SID,SERIAL#参看这个是否为你自己用户下的,然后kill掉session
2.可能被挂起 查看v$session_wait
select b.serial#,a.* from v$session_wait a,v$session bwhere a.sid = b.sid
得到等待的session的sid和serial#
3.查看dba_ddl_locks
select session_id sid, owner, name, type,
mode_held held, mode_requested request
from dba_ddl_locks
where name = '&your_package_name'
目录
相关文章
|
存储 Oracle 关系型数据库
Oracle中“ORA-00060: 等待资源时检测到死锁” 或存储过程编译卡死的一种解决方法
Oracle中“ORA-00060: 等待资源时检测到死锁” 或存储过程编译卡死的一种解决方法
1197 0
|
SQL 存储 缓存
sqlserver 存储过程中使用临时表到底会不会导致重编译
原文:sqlserver 存储过程中使用临时表到底会不会导致重编译 曾经在网络上看到过一种说法,SqlServer的存储过程中使用临时表,会导致重编译,以至于执行计划无法重用,运行时候会导致重编译的这么一个说法,自己私底下去做测试的时候,根据profile的跟踪结果,存储过程中使用临时表,如果不是统...
1081 0
|
存储 SQL 测试技术
SQL SERVER 临时表导致存储过程重编译(recompile)的一些探讨
原文:SQL SERVER 临时表导致存储过程重编译(recompile)的一些探讨     SQLSERVER为了确保返回正确的值,或者处于性能上的顾虑,有意不重用缓存在内存里的执行计划,而重新编译执行计划的这种行为,被称为重编译(recompile)。
947 0
|
存储 Oracle 关系型数据库
|
存储 Oracle 关系型数据库
|
SQL 存储 关系型数据库
oracle编译存储过程提示表或视图不存在的问题分析
       今天有同事跟我反映有个存储过程编译报错,提示表或视图不存在。存储过程中调用的那个表t是另一个用户b的表。
1616 0
|
存储 Oracle 关系型数据库
由于存储过程及触发器引用ORACLE动态视图v$session编译不通过而执行时报错ORA-04098
    今天遇见一个很神奇的问题,ERP合同系统需要记录登录oracle数据库的用户名、IP地址、登录时间、登录客户端类型记录信息,需要创建个触发器, 在触发器中需要查询v$session视图,如下所示:  create or replace trigger EPMFRAMEWORK.
1192 0
|
SQL 存储 Go
如何track存储过程的编译次数
原文: 如何track存储过程的编译次数 转载自此处 有个script我们很熟悉,是用来去查找当前SQL Server中哪些存储过程变重编译的次数最多的:   --Gives you the top 25 stored procedures that have been recompiled.
796 0