我连接oralcle时它说要作为sysdba连接,我不知道怎么办?
来源:百度知道 编辑:UC知道 时间:2024/05/29 15:39:28
杀掉Oralcle的一些session,理由大体如下:
一、问题的提出
很多的时候我们迅速的杀掉Oralcle的一些session,理由大体如下:
1、 一些时候,由于我们的数据量很大,相应的事务大并且多,在做shutdown immediate的时候会花费好多的时间,而我们却想用shutdown immediate的方式,而又要把数据库迅速的shutdown下来。
2、 我们的应用可能使用了会话控制,即在应用的层面控制了一些用户的连接的数量。但有时可能网络发生的瞬断,从而就产生了一些死进程,他们的状态为Inactive的状态。当我们用alter system kill session ‘sid,serial#’进行清除时,这些session的状态又变成了killed,这些就由Pmon进程来慢慢进行清除了,而你恰恰又是个急脾气。
3、 系统忽然慢了现来,你发现是某个session在做怪,想迅速把它迅速结束掉。
二、处理方法
其实处理方法很简单,是被一些人称为“谋杀”的一种方法。因为一个session会对应着操作系统中相应的一个进程(process),我们不使用Alter system kill session这种方式了,取而代之则是kill的方式,当session的后台进程被杀掉了,便会促使懒散的Pmon进程迅速进行清理工作。
1、 以一个session做以示例,
a、 找到你要杀掉的那个session, 并记下paddr
select sid, username, paddr, status from v$session
where username = '用户名' and
status = 'INACTIVE';
b、 找到这个session所对应的spid
select * from v$process where addr = '上面查寻的pad