kill 使用当前数据库的所有session

--在维护中经常需要将某一数据库所有进程都杀掉,手工杀有点太费事。写了一个存储过程

--usage:proc_kill ‘PSADBA‘

create proc proc_kill(@db varchar(24))
as
begin
declare @str varchar(max)= ‘‘
declare @msg varchar(max)=‘‘
begin try

if db_id(@db) is null
raiserror(‘%s database not exist.‘,0,1,@db) with nowait

select @[email protected]+‘kill ‘+cast(spid as varchar(4))+‘;‘ from sys.sysprocesses
where dbid=DB_ID(@db) and spid>=50
print @str
exec(@str)
end try
begin catch
set @msg = ERROR_MESSAGE()
raiserror(@msg,16,1)with nowait
end catch
end

时间: 2024-11-10 07:03:23

kill 使用当前数据库的所有session的相关文章

找出 alter system kill session ‘sid,serial#’ kill 掉的数据库会话对应进程

当我们使用alter system kill session 'sid,serial#' 在数据库中kill掉某个会话的时候,如果你观察仔细会发现v$session.paddr发生了改变,从而是的不能直接通过关联v$process.add找出spid,然后进行其他操作.本文提供三种方法找该种情况下spid的方法.数据库版本 SQL> select * from v$version; BANNER --------------------------------------------------

用session_set_save_handler函数实现将session保存在数据库中后session不能跨页面了

<?php /*============================文件说明======================================== @filename:     session.class.php @description:  数据库保存在线用户session,实现在线用户功能! @notice:       session过期时间一个小时,因为我们的站点是使用cookie(有效时间是1小时)登录.                因此我们只记录用户登录的时间,而不是

oracle kill session

kill session 是DBA经常碰到的事情之一.如果kill 掉了不该kill 的session,则具有破坏性,因此尽可能的避免这样的错误发生.同时也应当注意,如果kill 的session属于Oracle 后台进程,则容易导致数据库实例宕机. 通常情况下,并不需要从操作系统级别杀掉Oracle会话进程,但并非总是如此,下面的描述中给出了在Oracle级别杀掉会话以及操作系统级别杀掉进程.一.获得需要kill session的信息(使用V$SESSION 和 GV$SESSION视图) S

Ubuntu上使用Redis数据库存储SessionID并实现Session共享

p { margin-bottom: 0.1in; direction: ltr; color: #00000a; line-height: 120%; text-align: left; orphans: 2; widows: 2 } p.western { font-family: "Liberation Serif", serif; font-size: 12pt } p.cjk { font-family: "Noto Sans CJK SC Regular"

PHP操纵session存入数据库

1 为什么需要session入库 当session中数据很多时,或者web服务器集群共享session时,就需要将session存入数据库 session存入数据库一般是要重写session存储机制,具体实现主要通过: a  自定义相关session函数 b  创建session表 c  重写session函数 数据表如下: 在session.php中重写存储机制 在其他php文件中引入session.php,就可以操作session存入数据库了 查询操作如下:

将Session写入数据库

使用session_set_save_handler()函数,将Session的内容写入数据库 1 <?php 2 /* 3 *@author Fahy 4 *@link http://home.cnblogs.com/u/HuangWj 5 *数据库为mysql, 6 *数据库名为session,表名为session, 7 *表中字段包括PHPSESSID,update_time,client_ip,data 8 */ 9 class Session{ 10 private static $h

利用session_set_save_handler()函数将session保存到MySQL数据库中

PHP保存session默认的是采用的文件的方式来保存的,这仅仅在文件的空间开销很小的windows上是可以采用的,但是如果我们采用uinx或者是liux上的文件系统的时候,这样的文件系统的文件空间开销是很大的,然而session是要时时刻刻的使用的,大量的用户就要创建很多的session文件,这样对整个的服务器带来性能问题. 另一方面,如果服务器起采用群集的方式的话就不能保持session的一致性,所以我们就绪要采用数据库的方式来保存session,这样,不管有几台服务器同时使用,只要把他们的

oracle dblink造成远程数据库session过多

现场报网公司数据库连不上,先检查了下数据库processes=1500,session=2200.我认为非常大啊.这个数据库没有几个人用. 查看v$session中的session最多是哪个machine发起的.发现是省公司的数据库发起的session,找开发梳理了下业务,省公司同步dblink操作网公司表,且是通过weblogic的连接池. 哦,有点明确了,是dblink引起的.weblogic连接池是一直存在的,所以在网公司端session是不释放的.假设省公司把应用都停掉,那在网公司端的s

Nginx反向代理,负载均衡,redis session共享,keepalived高可用

相关知识自行搜索,直接上干货... 使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换. tomcat服务器两台,由nginx进行反向代理和负载均衡,此处可搭建服务器集群. redis服务器一台,用于session的分离共享. nginx主服务器:192.168.50.133 nginx备服务器:192.168.50.135 tomcat项目服务器1:192.168.50.137 tomcat项目服务器2:192.168.50.139 redis服