a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數據庫 > Oracle > 正文

如何快速的殺掉Oracle的Session

2024-08-29 13:49:18
字體:
來源:轉載
供稿:網友

  

一、問題的提出
很多的時候我們迅速的殺掉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

 

 

b、  找到這個session所對應的spid



 

c、  殺掉spid所標識的那個進程

♀假如你的Oracle是在Unix平臺上的,可以用kill。

    $kill 13824

♀假如你的Oracle是在windown平臺上的,有一些的不同,因為windown是以thead來代替process的,需要用到sid和spid兩個值,所用的命令也由kill替換為Orakill,格式為:orakill sid spid

       C:/>orakill 941 13824

d、  再查一下v$session,看會話在不在了。

2、  如何謀殺掉所有的Oracle的用戶的進程呢?

a、  windows的環境,執行如下圖中的SQL,并把結果存成.bat的文件,比如kill.bat, 執行一下kill.bat就可以了。



 

b、  Unix的環境相對來說就簡單多了,執行如下的命令就可以了

$ ps -efgrep $ORACLE_SIDgrep -v ora_grep LOCAL=NOawk '{print $2}'xargs kill

 然后你再shutdown immediate就很快的了。

上一篇:oracle 使用雜記1

下一篇:Oracle筆記

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 美国av一区二区三区 | 亚洲精品www久久久久久广东 | 亚洲二区在线视频 | 日韩一区二区三区av | 日韩精品一区二区三区在线 | 久久另类 | 久久伊人精品视频 | 国产成人在线播放 | 日本午夜网 | 蜜臀久久99精品久久久久久宅男 | 国产高清在线精品一区二区三区 | 一区二区三区久久 | 天堂一区 | 久久久久久久久久久久免费 | 久久久久黄色 | 禁果av一区二区三区 | 久久精品免费视频播放 | 免费亚洲视频 | 成年人网站免费在线观看 | 成人羞羞在线观看网站 | 久久黄视频 | 黄色三级网| 亚洲高清视频二区 | 91综合网 | 欧美黄色一区 | 精品96久久久久久中文字幕无 | 国产精品久久久久aaaa九色 | 亚洲免费综合 | 欧美日韩精品一区二区在线观看 | 国产精品久久精品 | 精品99久久久久久 | 久久久精品网站 | 国产精彩视频 | 国产午夜精品视频 | 国产精品二区三区 | 亚洲欧美日本在线 | 成人黄色在线视频 | 色视频网站在线观看 | 国产精品25p | 久久精品久久精品 | 精品国产乱码一区二区三区a |