十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
1. 在V$ACCESS視圖中找到要停止進程的SID:
成都創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站制作、網(wǎng)站建設(shè)與策劃設(shè)計,習(xí)水網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:習(xí)水等地區(qū)。習(xí)水做網(wǎng)站價格咨詢:18982081108
SELECT SID FROM V$ACCESS WHERE NAME='存儲過程名稱';
2. 在V$SESSION視圖中查找到查出SID和SERIAL#
SELECT SID,SERIAL#,FROM V$SESSION WHERE SID='剛才查到的SID'。
3.殺掉查找出來的進程
alter system kill session 'SID,SERIAL#' immediate;
解釋:進程都有唯一的進程id(SID)和序列號(SERIAL#),之后通過kill命令即可強制停止進程。
當然不是了,在Oracle中,只有DML才會開啟一個事務(wù)。也就是說Insert,Update,Delete這些都會開啟一個事務(wù),并且該事務(wù)在commit/rollback/ddl命令時會自動結(jié)束。
其他的,像查詢語句Select(不包含F(xiàn)or Update等語句)時,是不會開啟一個事務(wù)的。
補充:
首先有一點非常抱歉,上次的回答中誤將DML寫成了DDL,可能這一點兒讓你誤解了。
“當insert語句后會打開事務(wù),然后再來一個insert語句又會是一個新事物是嗎”這種說法是不正確的,第一個Insert沒有commit或者rollback的情況下,第二個Insert和第一個是屬于同一個事務(wù)的。因為Insert不屬于commit/rollback/ddl命令,而是屬于DML命令。
當?shù)谝粋€Insert結(jié)束后,立即執(zhí)行一個新建表,刪除表等命令(DDL命令),則會結(jié)束當前事務(wù)。
Oracle事務(wù)始于DML語句 情況發(fā)事務(wù)結(jié)束: 一、COMMIT/ROLLBACK 二、執(zhí)行DDL/DCL語句 三、客戶端主斷數(shù)據(jù)庫連接(DISCONNECT) 四、數(shù)據(jù)庫關(guān)閉(宕機) 另外DDL/DCL語句實際事務(wù)其隱含COMMIT Oracle需要特別指定事務(wù)始結(jié)束事務(wù)結(jié)束事務(wù)