`
swvip
  • 浏览: 151322 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle 中处理杀不掉的进程

阅读更多

一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库。但是shutdown immediate又怕可能进程杀不掉会一直停留在shutdown immediate,直接shutdown abort又怕损坏数据库。
现在提供一种方法解决这种问题,那就是在ORACLE中杀不掉的,在OS一级再杀。
一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库。但是shutdown immediate又怕可能进程杀不掉会一直停留在shutdown immediate,直接shutdown abort又怕损坏数据库。
现在提供一种方法解决这种问题,那就是在ORACLE中杀不掉的,在OS一级再杀。

1.下面的语句用来查询哪些对象被锁:
SELECT S.USERNAME,S.OSUSER,S.SID,S.SERIAL#,P.SPID FROM V$SESSION S,V$PROCESS
P WHERE S.PADDR=P.ADDR AND S.USERNAME IS NOT NULL;

2.下面的语句用来杀死一个进程:
alter system kill session 'sid,serial#';

【注】以上两步,可以通过Oracle的管理控制台来执行。
如果出现题目的错误,可以
select a.spid,b.sid,b.serial#,b.username from v$process a,v$session b where a.addr=b.paddr and b.status='KILLED' ;

3.如果利用上面的命令杀死一个进程后,进程状态被置为"killed",但是锁定的资源很长时间没有被释放,那么可以在os一级再杀死相应的进程(线程),首先执行下面的语句获得进程(线程)号:
select spid, osuser, s.program from v$session s,v$process p where
s.paddr=p.addr and s.sid=33 (33就是上面的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
Ps:这里要注意的是kill OS进程是在服务端操作,而不是你程序所在客户机。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hproc/archive/2009/11/11/4799072.aspx

分享到:
评论

相关推荐

    Oracle锁表处理,Oracle表解锁

    数据库死锁的概念, 所谓死锁,是指两个会话,每个会话都持有另外一个会话想要的资源,因争夺资源而造成...对于锁死的会话,我们可以直接删掉该会话,等事物回滚完成,也可以找出锁死进程的spid,从服务器中删掉该进程。

    oracle常见的锁查询和处理

    DML事务锁定的机制 行级锁(TX锁) 表级锁(TM锁) 锁定相关视图 v$transaction v$lock 5 v$enqueue_lock v$session 检测并解决冲突 常见的锁查询和处理 当前系统中存在的锁争用: ...--杀掉会话进程

    oracle表被锁定的完美解决方法

    ora-00031:session marked for kill处理oracle中杀不掉的锁一些ORACLE中的进程被杀掉后,状态被置为”killed”,但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库。现在提供一种方法解决这种问题,那...

    Oracle 查询死锁并解锁的终极处理方法

    一些ORACLE中的进程被杀掉后,状态被置为”killed”,但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库。现在提供一种方法解决这种问题,那就是在ORACLE中杀不掉的,在OS一级再杀。 1.下面的语句用来...

    ORACLE数据库基础知识-华为维护资料

    3.2 如何杀掉吊死session 39 3.3 如何修改字符集 39 3.4 如何追加表空间 39 3.5 如何加大表的maxextents值 40 3.6 如何查询无效对象 40 3.7 怎样分析SQL语句是否用到索引 40 3.8 如何将Oracle8数据导入Oracle7数据库...

    最全的oracle常用命令大全.txt

    然后用 kill 命令杀此进程号。 五、SQL*PLUS使用 a、近入SQL*Plus $sqlplus 用户名/密码 退出SQL*Plus SQL>exit b、在sqlplus下得到帮助信息 列出全部SQL命令和SQL*Plus命令 SQL>help 列出某个特定的命令的信息...

    一次Oracle频繁DeadLock问题分析处理经历

    一次Oracle频繁DeadLock问题分析处理经历事件描述处理过程分析结果 事件描述 早上十点,客户电话打来,描述了一下业务缓慢,卡的已经不能正常进行下去,几句询问赶紧着手处理。 接过远程后,赶紧连上数据库服务器...

    常用OracleSQL整理.docx

    工作中整理记录的常用sql,主要包含创建用户,授权,表空间的处理;查询锁,杀进程;创建directory,查询用户所用的表空间

    数据库项目组日常运维及应急故障处理手册.docx

    3. 杀掉所有LOCAL=NO的操作系统进程 AIX、HP-UX、Linux、Solaris: $ ps -ef|grep $ORACLE_SID| grep LOCAL=NO | grep -v grep |awk '{print $2}'|xargs -i kill -9 {} Windows: SQL> select 'orakill ' || ...

    orcale常用命令

    然后用 kill 命令杀此进程号。 五、SQL*PLUS使用 a、近入SQL*Plus $sqlplus 用户名/密码 退出SQL*Plus SQL>exit b、在sqlplus下得到帮助信息 列出全部SQL命令和SQL*Plus命令 SQL>help 列出某个特定的命令的信息...

    99乘法表java源码-OracleDBUtils:适用于Oracle数据库的有用PL/SQL实用程序

    但是内部数据库方法(例如“更改系统终止会话”或将作业标记为已损坏)在等待资源处理或等待作业完成时可能需要很长时间。 可以找到有关杀死会话的各种方法的详细说明。 这个包提供了立即作业和会话终止的方法。 ...

    C#开发经验技巧宝典

    0835 杀死进程 498 0836 如何下载某网站上的图片资源 498 第19章 SQL查询相关技术 501 19.1 常用SQL查询技术 502 0837 如何在查询中正确使用单引号“’” 502 0838 SQL中SELECT语句的执行顺序 502 0839...

    经典SQL语句大全

    注意:在top后不能直接跟一个变量,所以在实际应用中只有这样的进行特殊的处理。Rid为一个标识列,如果top后还有具体的字段,这样做是非常有好处的。因为这样可以避免 top的字段如果是逻辑索引的,查询的结果后实际...

    数据库操作语句大全(sql)

    注意:在top后不能直接跟一个变量,所以在实际应用中只有这样的进行特殊的处理。Rid为一个标识列,如果top后还有具体的字段,这样做是非常有好处的。因为这样可以避免 top的字段如果是逻辑索引的,查询的结果后实际...

    sql经典语句一部分

    注意:在top后不能直接跟一个变量,所以在实际应用中只有这样的进行特殊的处理。Rid为一个标识列,如果top后还有具体的字段,这样做是非常有好处的。因为这样可以避免 top的字段如果是逻辑索引的,查询的结果后实际...

    (重要)AIX command 使用总结.txt

    C ->列出自定义设备对象类中设备的有关信息,缺省包括名称,状态,位置,描述,不可和P合用 c Class ->指定设备名 F Format ->以用户指定格式输出,Format参数为预定义或自定义设备对象类中的列名,如:name status等 H ...

    C#编程经验技巧宝典

    91 <br>5.1 数字处理技巧 92 <br>0140 如何对计算结果四舍五放入 92 <br>0141 如何将商品金额小写转换成大写 92 <br>0142 如何根据生日自动计算员工年龄 93 <br>0143 如何设置货币值中使用...

    网管教程 从入门到精通软件篇.txt

    如果不能在启动目录(默认为 %systemroot%System32)中找到该文件,将试着在 Windows 安装 CD 中找到它。如果有多引导系统的计算机,必须保证是在包含 Windows 的驱动器上使用该命令。 Diskpart  创建和删除硬盘...

Global site tag (gtag.js) - Google Analytics