如何快速杀死占用过多资源(CPU,内…
来源:互联网 发布:辨析题 存在就是被告知 编辑:程序博客网 时间:2024/06/04 18:39
« Why My server Down? | Blog首页 | Oracle HowTo:如何在Oracle10g中启动和关闭OEM »
Oracle HowTo:如何快速杀死占用过多资源(CPU,内存)的数据库进程
链接:http://www.eygle.com/archives/2005/10/oracle_howto_kill_session.html
很多时候由于异常或程序错误会导致个别进程占用大量系统资源,需要结束这些进程,通常可以使用以下命令Kill进程:
alter system kill session 'sid,serial#';
但是此命令释放资源极为缓慢
为了更快速的释放资源,通常我们使用如下步骤来Kill进程:
1.首先在操作系统级kill进程
2.在数据库内部kill session
这样通常可以快速中止进程,释放资源。
今天就遇到这样一个案例,其他朋友在数据库里kill session,可是长时间仍无效果:
[oracle@danaly ~]$ sqlplus "/ as sysdba"SQL*Plus: Release 10.2.0.1.0 - Production on Thu Oct 27 11:09:50 2005Copyright (c) 1982, 2005, Oracle. All rights reserved.Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine optionsSQL> select sid,username,status from v$session; SID USERNAME STATUS---------- ------------------------------ --------.... 154 SCOTT KILLED...30 rows selected.
那按照我前面提到的步骤,首先查询得到该session对应的OS进程号:
SQL> select 'kill -9 '||spid from v$process where addr = (select paddr from v$session where sid=&sid);Enter value for sid: 154old 1: select 'kill -9 '||spid from v$process where addr = (select paddr from v$session where sid=&sid)new 1: select 'kill -9 '||spid from v$process where addr = (select paddr from v$session where sid=154)'KILL-9'||SPID--------------------kill -9 22702SQL> !
在操作系统级kill该进程:
[oracle@danaly ~]$ ps -ef|grep 22702oracle 22702 1 0 Oct25 ? 00:00:02 oracledanaly (LOCAL=NO)oracle 12082 12063 0 11:12 pts/1 00:00:00 grep 22702[oracle@danaly ~]$ kill -9 22702[oracle@danaly ~]$ ps -ef|grep 22702oracle 12088 12063 0 11:12 pts/1 00:00:00 grep 22702[oracle@danaly ~]$ exitexitSQL> select sid,username,status from v$session; SID USERNAME STATUS---------- ------------------------------ --------... 154 SCOTT KILLED...30 rows selected.SQL> select sid,serial#,username from v$session where sid=154; SID SERIAL# USERNAME---------- ---------- ------------------------------ 154 56090 SCOTT
再次在数据库中kill该session,并指定immediate选项:
SQL> alter system kill session '154,56090' immediate;System altered.SQL> select sid,serial#,username from v$session where sid=154;no rows selected
0 0
- 如何快速杀死占用过多资源(CPU,内…
- Oracle HowTo:如何快速杀死占用过多资源(CPU,内存)的数据库进程
- Oracle HowTo:如何快速杀死占用过多资源(CPU,内存)的数据库进程
- 如何快速杀死占用过多资源(CPU,内存)的数据库进程(来自eygle)
- 如何快速杀死占用过多资源(CPU,内存)的数据库进程
- Oracle HowTo:如何快速杀死占用过多资源(CPU,内存)的数据库进程
- 解决win7下svchost进程占用过多CPU资源
- php-cgi进程占用cpu资源过多负载高的原因分析及解决步骤
- php-cgi进程占用cpu资源过多负载高的原因分析及解决步骤
- php-cgi进程占用cpu资源过多负载高的原因分析及解决步骤
- php-cgi进程占用cpu资源过多负载高的原因分析及解决步骤
- php-cgi进程占用cpu资源过多负载高的原因分析及解决步骤
- php-cgi进程占用cpu资源过多负载高的原因分析及解决步骤
- 多线程程序占用CPU过多的问题
- 过多编译造成的CPU占用
- WmiPrvSE占用CPU过多的问题
- PHP-CGI进程占用过多CPU
- 杀死长时间占用CPU的进程
- 系统验证与SQLNET.AUTHENTICATION_…
- tomcat 输入localhost:8080显示404 (找不到tomcat主页)
- 使用split命令分割alter日志文件(…
- “ORA-1652: unable to extend temp…
- 使用外部表访问警告日志内容(转)
- 如何快速杀死占用过多资源(CPU,内…
- 飘逸的python
- 使用RMAN恢复一个表空间
- OkHttp入门
- ORA-01190
- 添加数据文件及修改数据文件的位置
- 设置还原表空间文件脱机故障
- 获取图片真实的宽度和高度
- Hadoop 学习笔记七 任务远程提交--Eclipse插件