用以下的sql可以查詢出當前session中正在運行的sql信息:
創(chuàng)新互聯(lián)建站專注于成縣企業(yè)網站建設,成都響應式網站建設公司,商城建設。成縣網站建設公司,為成縣等地區(qū)提供建站服務。全流程按需定制設計,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務
select
s.module,
sql_text,
sn.osuser,
sn.machine,
s.executions
from
sys.v_$sql
s,
sys.all_users
u,
v$session
sn
where
s.parsing_user_id
=
u.user_id
and
upper(u.username)
in
('username')
and
(upper(s.module)
=
'app.exe')
and
sn.sql_hash_value
=
s.hash_value
and
sn.sql_address
=
s.address
order
by
s.last_load_time
找出正在執(zhí)行的JOB編號及其會話編號 SELECT SID,JOB FROM DBA_JOBS_RUNNING; 停止該JOB的執(zhí)行 SELECT SID,SERIAL# FROM V$SESSION WHERE SID='SID'; ALTER SYSTEM KILL SESSION 'SID,SERIAL'; EXEC DBMS_JOB.BROKEN(JOB,TRUE);實例分析:1,查詢正在運行的Job,通過查詢有兩個,和進程占用較多的是兩個ORACLE進程符合。SQL SELECT SID,JOB FROM DBA_JOBS_RUNNING; SID JOB\x0d\x0a---------- ----------12 11616 1172,查詢正在運行的job的信息SQL SELECT SID,SERIAL# FROM V$SESSION WHERE SID='12'; SID SERIAL#\x0d\x0a---------- ----------\x0d\x0a12 4SQL SELECT SID,SERIAL# FROM V$SESSION WHERE SID='16'; SID SERIAL#\x0d\x0a---------- ----------\x0d\x0a16 13,利用查詢出來的job信息將job結束掉SQL ALTER SYSTEM KILL SESSION '12,4';System altered.SQL ALTER SYSTEM KILL SESSION '16,1';System altered.\x0d\x0a4,如果不希望運行上述job的話,可以將job設置為broken.EXEC DBMS_JOB.BROKEN(116,TRUE);EXEC DBMS_JOB.BROKEN(117,TRUE);
1. 在V$ACCESS視圖中找到要停止進程的SID:
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命令即可強制停止進程。
如果想正常關閉,那么最好是:先手動斷開所有數據庫連接(外部鏈接,比如訪問等),關閉監(jiān)聽(防止再次產生外部鏈接),然后殺掉所有正在執(zhí)行的數據庫進程(數據庫內部的一些,比如正在執(zhí)行的執(zhí)行計劃等,主進程別殺啊),然后關閉外圍服務,最后再用immediate關閉數據庫。這樣能快一些,而且相對而言數據庫會正常,不會因為斷開外部鏈接,等待進程結束等問題等待時間超長。,當然也只是快一些而已,如果數據庫很大,那么還是會很慢。
其他的shutdown abort,也是一個關閉數據庫的方法,不過oracle本身也不推薦,因為每次abort后數據庫可能會有這樣那樣的問題。
再baoli一些的,就是直接關機器,關電源了。
退出循環(huán):EXIT/RETURN
RETURN表示退出整個過程,也就是過程執(zhí)行到此處結束執(zhí)行,程序退出;
EXIT表示退出當前循環(huán),繼續(xù)向下執(zhí)行,如果是有兩層循環(huán)的話,EXIT則是退出內層循環(huán),外層循環(huán)繼續(xù)執(zhí)行。
GOTO用法:
1,先設置標簽 《wait_goto》
2,goto wait_goto;程序返回至wait_goto處繼續(xù)執(zhí)行。
啟動oracle數據庫步驟:首先使用oracle用戶登錄Linux,然后在shell命令行中執(zhí)行下面的命令:第一步:打開Oracle監(jiān)聽$ lsnrctl start第二步:進入sqlplus$ sqlplus /nologSQL第三步:使用sysdab角色登錄sqlplusSQL conn /as sysdba第四步:啟動數據庫SQL startup經過上面的四個步驟,oracle數據庫就可以啟動了。關閉數據庫用 shutdown 是要等待事物結束才關閉,強制關閉用 shutdown abort。
本文標題:oracle怎么結束 oracle結束進程
標題URL:http://muchs.cn/article20/hjsijo.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網頁設計公司、App開發(fā)、App設計、微信小程序、自適應網站、
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)