博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
查看解决Oracle对象锁住的问题
阅读量:6576 次
发布时间:2019-06-24

本文共 804 字,大约阅读时间需要 2 分钟。

在编译的一个存储过程的时候,对象可能由于被锁住而处于假的卡死状态,这个时候有的是因为,这个过程正在运行中,所以无法编译; 上次我遇到一次,我很清楚的确定这个过程没有运行,可以我就是无法编译,对象一直被锁。我纠结了好久,终于找到的解决的办法。 select * FROM dba_ddl_locks where name = upper('p_sys_job_crtpartition_c10'); 先从dba_ddl_locks中查询对象被哪些进程锁住,得到他们的SESSION_ID; --alter system kill session 'sid ,SERIAL#'; select t.sid, t.serial#, 'alter system kill session ''' || sid || ' ,' || t.serial# || ''';'   from v$session t  where t.sid in (145, 143, 17, 137, 15, 139, 12, 133); 然后将SESSION_ID传入v$session中,与sid关联,可以在oracle中杀掉这些session; --kill -9 spid; select spid, osuser, s.program, 'kill -9 ' || spid || ''   from v$session s, v$process p  where s.paddr = p.addr    and s.sid in (145, 143, 17, 137, 15, 139, 12, 133); 第三步,也就是我一直纠结的,就是我发现这些session都是killed状态的,却依然锁着对象不释放,最后我就通过查询得到spid,进入OS系统,用root用户登录,直接kill -9 XX这些进程,就可以释放资源了。

转载地址:http://yzljo.baihongyu.com/

你可能感兴趣的文章
对比农行与建行网银业务办理流程
查看>>
Oracle 11G RAC 安装图示(一)
查看>>
【xpghost】xp系统启动后迟延问题如何解决
查看>>
浅谈ElasticSearch的嵌套存储模型
查看>>
离开外包又一段时间了
查看>>
aapt 解析android apk
查看>>
Layout Inflation不能这么用
查看>>
APNS远程推送证书的申请和制作——详细解析
查看>>
mongodb2.6.5--FAQ之分片(sharding)
查看>>
快速搭建Web环境 Angularjs + Express3 + Bootstrap3
查看>>
Android卫星菜单:android-satellite-menu
查看>>
Android 事件机制
查看>>
Sugarnms智和网管软件在煤矿监控系统中的应用
查看>>
Android Recyclerview 简单实用 瀑布流等方式,并加入上下拉加载
查看>>
Linux驱动开发学习日记
查看>>
Python3 中 random模块
查看>>
JS中数组的应用
查看>>
SpringCloud学习系列之二 ----- 服务消费者(Feign)和负载均衡(Ribbon)
查看>>
磁盘格式化 ,磁盘挂载, 手动增加swap空间
查看>>
【Windows编程】系列第十一篇:多文档界面框架
查看>>