隨筆-16  評論-84  文章-1  trackbacks-0
          通過存儲過程向數據庫一下子插入了一千萬(10000000)條記錄,結果等了很長時間,PL/SQL都沒有響應,我又瞎折騰了下,結果執行了好幾次,導致數據庫假死了,我只有刪除當前的會話,從網上找到相關的腳本代碼。


          1> 通過此語句查詢正在鎖定的SESSION_ID:

          1SELECT  SESSION_ID   FROM   V$LOCKED_OBJECT,USER_OBJECTS  WHERE   V$LOCKED_OBJECT.OBJECT_ID   =   USER_OBJECTS.OBJECT_ID


          2> 通過第一步查詢到的SESSION_ID查詢SERIAL#

          1SELECT SERIAL# FROM V$SESSION  WHERE SID='12'(此處'12'為上面查詢到的'SESSION_ID')


           3> 根據1,2步查詢到的SESSION_ID和SERIAL#執行

          1ALTER   SYSTEM   KILL   SESSION  '12,154'(12為SESSION_ID的值, 154為SERIAL#的值)

          4> 如果利用上面的命令殺死一個進程后,進程狀態被置為"killed",但是鎖定的資源很長時間沒有被釋放,那么還可以在os一級再殺死相應的進程(線程),首先執行下面的語句獲得當前進程(線程)的標示PID:

          1select spid, osuser, s.program 
          2from v$session s,v$process p
          3where s.paddr=p.addr and s.sid=12 (12是上面的SESSION_ID)

          然后在OS通過任務管理器找到對應的進程,在殺死這個進程(線程)

          posted on 2010-11-27 14:55 absolute 閱讀(872) 評論(0)  編輯  收藏 所屬分類: DataBase
          主站蜘蛛池模板: 南皮县| 青田县| 上犹县| 凉城县| 江川县| SHOW| 栾川县| 墨竹工卡县| 西和县| 屯门区| 新闻| 历史| 太白县| 凤山县| 治县。| 淮安市| 出国| 玉树县| 通城县| 开封市| 阿巴嘎旗| 乐亭县| 南漳县| 芮城县| 通城县| 定西市| 泰安市| 孟连| 铁岭市| 龙门县| 屏东市| 嫩江县| 南阳市| 汨罗市| 周至县| 巴南区| 乌鲁木齐市| 苍南县| 辽阳市| 额尔古纳市| 开阳县|