oralce杀session
一、问题的提出
很多的时候我们迅速的杀掉Oralcle的一些session,理由大体如下:
1、 一些时候,由于我们的数据量很大,相应的事务大并且多,在做shutdown immediate的时候会花费好多的时间,而我们却想用shutdown immediate的方式,而又要把数据库迅速的shutdown下来。
2、 我们的应用可能使用了会话控制,即在应用的层面控制了一些用户的连接的数量。但有时可能网络发生的瞬断,从而就产生了一些死进程,他们的状态为Inactive的状态。当我们用alter system kill session ‘sid,serial#’进行清除时,这些session的状态又变成了killed,这些就由Pmon进程来慢慢进行清除了,而你恰恰又是个急脾气。
3、 系统忽然慢了现来,你发现是某个session在做怪,想迅速把它迅速结束掉。
a、 找到你要杀掉的那个session, 并记下paddr
select sid,username,paddr,status from v$session
where username='amis1' and status ='INACTIVE'
b、 找到这个session所对应的spid
select * from v$process where addr=' '
Unix 下: kill Addr
select b.SPID,b.PID,a.STATUS,a.SERVER,a.MACHINE,a.OSUSER
from v$session a,v$process b where a.username ='AMISZF' and a.PADDR=b.ADDR
kill pid
windowns 下: orakill sid spid
2、 如何谋杀掉所有的Oracle的用户的进程呢?
a、 windows的环境,执行如下图中的SQL,并把结果存成.bat的文件,比如kill.bat, 执行一下kill.bat就可以了。
b、 Unix的环境相对来说就简单多了,执行如下的命令就可以了
$ ps -ef|grep $ORACLE_SID|grep -v ora_|grep LOCAL=NO|awk '{print $2}'|xargs kill
然后你再shutdown immediate就很快的了。
$ ps -ef|grep $ORACLE_SID|grep -v ora_|grep LOCAL=NO|awk '{print $2}'|xargs kill
何杀掉Windows上Oracle的Server线程?
有时会遇到Oracle的会话挂起并占用大量CPU的情况, 用kill session也没有用, 当然这时有可能在做一些会话级的ROLLBACK的操作, 如果遇到这种情况还是等等吧, 否则你可以强行杀掉Server进程(Windows是线程), 在Linux/Unix的进程是很容易杀的, 在Windows下则可以用Oracle提供的orakill命令, 使用语法如下:
Usage: orakill sid thread
where sid = the Oracle instance to target
thread = the thread id of the thread to kill
The thread id should be retrieved from the spid column of a query such as:
select spid, osuser, s.program from
v$process p, v$session s where p.addr=s.paddr
这个说明已经很清楚了, 我很少接触Windows上的库, 所以没有遇到.
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xfzzf/archive/2007/07/27/1711137.aspx
转载于:https://www.cnblogs.com/xd502djj/archive/2010/08/19/1803506.html
oralce杀session相关推荐
- oracle杀死session,Oracle杀session
通常情况下,要强行关闭session,会执行下面的命令: alter system kill session 'sid,serial#'; 这命令会把相应的session关了,但有时,这命令并不能把相 ...
- oracle数据库inactive状态session过多的原因定位
新功能上线后,数据库告警,session连接接近最大值,有耗尽的风险. 开始定位解决这个风险问题,首先查看这些连接都在执行什么sql select sql_text,se.* from v$sql s ...
- oracle 杀进程
1.查看锁表进程 --1.查看锁表进程SQL语句 select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.obje ...
- 常用DBA SQL[转]
裘宏骏 现供职务于浙江纵横通信服务集团,主持技术工作.负责浙江移动缴费券.空中充值.外呼外包等项目的技术工作.擅长大业务量业务支撑系统的设计.开发与后期运营,有3年以上的项目管理经验.4年以上的Ora ...
- linux zx命令_linux常用命令小结
查询操作系统类型 cat /etc/issue cat /etc/redhat-release 查询操作系统内核版本 cat /proc/version 查询服务器信息 uname -a 查询服务器n ...
- 一句话技巧(to be continue)
当被限制上传类型时 可以尝试shtm还有stm和shtml后缀(由ssinc.dll来解析) 内容为<!--#include file="../../../../../../../.. ...
- oracle存储过程解锁
使用工具plsql. 第一步根据存储过程查出被锁的session_id select * FROM dba_ddl_locks WHERE NAME='XXXX'--name的值都是纯大写 第二步,拿 ...
- Druid+Oracle连接超时关闭问题
记录一下生产环境遇到的问题 生产上的一个程序跑了一段时间后,老是出现 Closed Connection异常,往上追溯错误,发现有关闭连接失败异常 该应用环境: Oracle + Druid + ...
- 2022面试200题目和答案分布式+微服务+MYSQL+Redis+JVM+Spring
200题目和答案分布式+微服务+MYSQL+Redis+JVM+Spring等等 带图MD在资源https://download.csdn.net/download/m0_47987937/86509 ...
最新文章
- 内存屏障linux,Linux内存屏障
- VC++格式化输出单个字符和格式化输出十六进制的不同形式
- python 爬虫系统_实战干货:从零快速搭建自己的爬虫系统
- Winform中实现中文验证码(附代码下载)
- python把数据写入excel_Python读写sqlite3数据库的方法并且将数据写入Excel的实例详解...
- The constructor BASE64Decoder() is not accessible due to restriction on required library
- 19linux关机重启20登录注销
- android形状drawable
- python的输入输出语句_Python基本输出语句/输入语句/变量解析
- jdbc.postgresql源码分析
- 龙贝格积分——matlab实现
- 马斯克发起投票:是否应该出售特斯拉10%的股票?超5成粉丝赞成
- Angular实现微博发布功能
- HTML基础教程 插图
- CAD可以转换成那个格式?怎么转换CAD格式呢?
- 推荐一个好用的桌面日历和倒数日纪念日管理工具
- Computer:互联网开放平台项目知识补充之开发-运维-网络-网关等术语(DMZ、负载均衡、F5、Nginx、容器)的简介、使用方法之详细攻略
- 如何提高测试用例覆盖率?阿里测试工程师是这样说的
- 自学黑客(网络安全)必学内容
- React 组件设计指南