Oracle存储过程被锁无法编译的解决
来源:互联网 发布:灵枢针灸免费网络课 编辑:程序博客网 时间:2024/05/17 04:42
via: http://blog.chinaunix.net/uid-329031-id-2132704.html
储过程被锁无法编译的解决
select distinct s1.* from V$DB_OBJECT_CACHE oc,
v$object_dependency od,
dba_kgllock w,
v$session s1
where oc.name = 'P_SPS_INTERFACE'
and od.TO_OWNER = oc.OWNER
and od.TO_NAME = oc.NAME
and od.TO_ADDRESS = w.kgllkhdl
and w.kgllkuse = s1.SADDR;
--得到锁定存储过程的进程PADDR
select spid from v$process p where p.addr=(PADDR值)
--杀掉这些进程就可以解锁
kill -8 spid
查找死锁的表
select s.username,I.OBJECT_ID,I.SESSION_ID,s.SERIAL#,I.ORACLE_USERNAME,I.OS_USER_NAME,I.PROCESS
from V$locked_Object I,V$SESSION S
WHERE I.SESSION_ID = S.SID;
-- 杀死死锁的表
alter system kill session '1042,28438';
附:
一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库。现在提供一种方法解决这种问题,那就是在ORACLE中杀不掉的,在OS一级再杀。
1.下面的语句用来查询哪些对象被锁:
select object_name,machine,s.sid,s.serial#
from v$locked_object l,dba_objects o ,v$session s
where l.object_id = o.object_id and l.session_id=s.sid;
2.下面的语句用来杀死一个进程:
alter system kill session '24,111'; (其中24,111分别是上面查询出的sid,serial#)
【注】以上两步,可以通过Oracle的管理控制台来执行。
3.如果利用上面的命令杀死一个进程后,进程状态被置为"killed",但是锁定的资源很长时间没有被释放,那么可以在os一级再杀死相应的进程(线程),首先执行下面的语句获得进程(线程)号:
select spid, osuser, s.program
from v$session s,v$process p
where s.paddr=p.addr and s.sid=24 (24是上面的sid)
4.在OS上杀死这个进程(线程):
1)在unix上,用root身份执行命令:
#kill -9 12345(即第3步查询出的spid)
2)在windows(unix也适用)用orakill杀死线程,orakill是oracle提供的一个可执行命令,语法为:
orakill sid thread
其中:
sid:表示要杀死的进程属于的实例名
thread:是要杀掉的线程号,即第3步查询出的spid。
例:c:>orakill orcl 12345
- Oracle存储过程被锁无法编译的解决
- ORACLE 存储过程被锁,无法编译
- Oracle存储过程(表)无法编译被锁住解决办法_hanCSDN_20130605
- Oracle 存储过程 无法编译 解决方法
- Oracle 存储过程 无法编译 解决方法
- Oracle 存储过程 无法编译 解决方法
- oracle 存储过程无法编译解决方法
- Oracle 存储过程 无法编译 解决方法(转)
- oracle恢复被误编译覆盖的存储出过程
- oracle存储过程编译死掉的原因及解决(转)
- oracle存储过程编译死掉的原因及解决(转)
- ORACLE 存储过程被锁,编译不了,解锁
- ORACLE 存储过程被锁,编译不了,怎么解锁?
- ORACLE 存储过程被锁,编译不了问题
- ORACLE 存储过程被锁,编译不了,解锁方法
- ORACLE 存储过程被锁,编译不了,怎么解锁?
- ORACLE 存储过程被锁,编译不了,怎么解锁
- oracle存储过程无法调试
- Java_读取properties文件
- 面试答案
- Linux_>/dev/null
- Java_判断操作系统类型
- 2. RabbitMQ的几种典型使用场景
- Oracle存储过程被锁无法编译的解决
- 数组的基本运算(3)
- Linux_kill
- solr集群
- 多个文件目录下Makefile的写法
- Linux_杀死进程的N种方法
- Git_Please make sure you have the correct access rights.and the repository exist
- Git_将项目托管在csdn
- Linux_wc