中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

oracle什么時候才回收v$session中status='KILLED'的進程

發布時間:2021-11-05 09:17:05 來源:億速云 閱讀:389 作者:柒染 欄目:建站服務器

本篇文章為大家展示了oracle什么時候才回收v$session中status='KILLED'的進程,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

oracle 什么時候才回收v$session status='KILLED'的進程,有些進程被殺掉之后一直沒有被回收

session需要釋放它所使用的資源,包括鎖,回滾段等資源;如果session已經運行了很長時間,kill session 可能是一個非常消耗時間的過程

察看session目前使用的回滾段塊的數目信息
SELECT USED_UBLK FROM V$TRANSACTIOn a ,v$session b where a.addr=b.taddr;

你可以看看要回滾的數量
1.
判斷是否在回滾
select * from
V$TRANSACTIOn where bitand(flag,power(2,7))>0
flag
字段值可以標識事務類型
select to_char( 7811, '0000000X' ), to_char( 7683, '0000000X') from dual;

TO_CHAR(7 TO_CHAR(7
--------- ---------
00001E83  00001E03
      ^           ^
0 indicates "normal user transaction"
8 indicates "rollback,most likely - means no more changes and you cannot commit"

2.
回滾量:UBABLK字段
3.
查看回滾時間
col td format a40
col es format 999,999
col totalwork format 999,999
col units format a10
SELECT  decode(target_desc,NULL,decode(target,NULL,opname, concat(opname, concat (' - ',target))),decode(target,NULL,concat(opname, concat (' : ',target_desc)),concat(opname, concat (' : ',concat(target_desc,concat (' - ',target)))))) td,
sofar,totalwork,units,start_time,TO_CHAR(elapsed_seconds,'99999990.00'), decode(sofar, 0, 0, round(elapsed_seconds*(totalwork-sofar)/sofar))  剩下的時間

FROM v$session_longops

WHERE sid = &v_sid

AND serial# =&v_serial#

and sofar< totalWork
D                                    SOFAR TOTALWORK UNITS    START_TIME  TO_CHAR(ELAPSED_SECONDS,'99999        
剩下的時間
------------------------------------      ----- --------- -------- ----------- ------------------------------      ----------
Table Scan - SINO.ACC_POENTRYD        16099     16099 Blocks   2005-4-15 1         8.00                            0
查看剩下的時間
4.
你使用了alter session kill一個死進程,可能當時只是把session標識了killed,而v$process還存在,你可以用下面方法解決
UNIX
平臺
SQL>  SELECT spid
                FROM v$process
                WHERE NOT EXISTS ( SELECT 1
                                   FROM v$session
                                   WHERE paddr = addr);

      % kill
WINDOWS

      select p.spid "OS Thread", b.name "Name-User", s.osuser,
               s.program              
         from v$process p, v$session s, v$bgprocess b                                
            where p.addr = s.paddr                                                    
               and p.addr = b.paddr
      UNION ALL                                            
                select p.spid "OS Thread", s.username "Name-User",
                         s.osuser, s.program
                   from v$process p, v$session s                                      
                      where p.addr = s.paddr                                          
                      and s.username is not null;    
使用orakill
SQL> SELECT spid, osuser, s.program,sid
                FROM v$process p, v$session s
                WHERE p.addr=s.paddr;
SPID                     OSUSER               PROGRAM                SID
------------------------ -------------------- --------------- ----------
6484                     lifeng.fang          sqlplus.exe             11
SQL> host orakill charset 6484;

Kill of thread id 6484 in instance charset successfully signalled.
5.
你可以在sqlnet.oradcd

上述內容就是oracle什么時候才回收v$session中status='KILLED'的進程,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

志丹县| 临邑县| 印江| 西贡区| 文山县| 皮山县| 宿松县| 武威市| 保定市| 佛坪县| 黄山市| 久治县| 醴陵市| 阜平县| 汉寿县| 金平| 多伦县| 双流县| 陇西县| 青阳县| 武冈市| 松潘县| 阿拉尔市| 贡觉县| 资阳市| 金堂县| 峡江县| 松阳县| 乌兰浩特市| 娱乐| 板桥市| 赤水市| 东港市| 密云县| 尼木县| 灵川县| 明光市| 栾城县| 蒙阴县| 曲松县| 台安县|