您好,登錄后才能下訂單哦!
Oracle -- ALTER SYSTEM KILL SESSION 殺死會話的基本語法如下所示。
SQL> ALTER SYSTEM KILL SESSION 'sid,serial#';
在RAC環境中,可以選擇指定INST_ID,在查詢GV$SESSION視圖時顯示。這允許終止不同RAC節點上的會話。
SQL> ALTER SYSTEM KILL SESSION 'sid,serial#,@inst_id';
KILL SESSION命令實際上不會終止會話。它只是要求會話自殺。在某些情況下,例如等待遠程數據庫的回復或回滾事務,會話不會立即自行終止并等待當前操作完成。在這些情況下,會話將具有“標記為殺死”的狀態。然后它會盡快被殺死。 除了上面描述的語法之外,還可以添加IMMEDIATE子句。
SQL> ALTER SYSTEM KILL SESSION 'sid,serial#' IMMEDIATE;
這不會影響命令執行的工作,但會立即將控制權返回給當前會話,而不是等待確認kill。
DM 數據庫采用的是線程架構,所有不能向Oracle那樣直接kill 進程,只能調用sp_close_session()來kill 線程殺掉會話。
SQL> select sess_id,curr_sch ,sql_text,user_name,trx_id ,clnt_host,clnt_ip,osname, vpooladdr from sys.v$sessions where sql_text<>'';
LINEID SESS_ID CURR_SCH SQL_TEXT
---------- -------------------- -------- --------------------------------------------------------------------------------------------------------------------------------
USER_NAME TRX_ID CLNT_HOST CLNT_IP OSNAME VPOOLADDR
--------- -------------------- --------- -------------------- --------- --------------------
1 140615618728712 SYSDBA select COMMENT$ from SYS.SYSCOLUMNCOMMENTS where SCHNAME='SYS' and TVNAME='SYSOBJECTS' and COLNAME='SUBTYPE$'
SYSDBA 1871 ahzhixin ::ffff:192.168.20.45 Windows 8 140615618661112
2 140615954273032 SYSDBA select sess_id,curr_sch ,sql_text,user_name,trx_id ,clnt_host,clnt_ip,osname, vpooladdr from sys.v$sessions where sql_text<>'';
SYSDBA 1874 dm2 ::ffff:127.0.0.1 Linux 140615954205432
used time: 1.935(ms). Execute id is 57.
然后根據SESSION_ID使用系統過程SP_CLOSE_SESSION(SESSION_ID)來kill 會話:
SQL> SP_CLOSE_SESSION(140615618728712);
DMSQL executed successfully
used time: 1.099(ms). Execute id is 58.
SQL>
在Oracle 數據庫中,有很多的進程,每個進程負責不同的功能。 而DM 數據庫使用“對稱服務器構架”的單進程、多線程結構。這種對稱服務器構架在有效地利用了系統資源的同時又提供了較高的可伸縮性能,這里所指的線程即為操作系統的線程。
[root@dm1 dm]# ps -ef|grep dmserver
dmdba 21285 1 0 18:02 ? 00:00:04 /dm/dmdbms/bin/dmserver /dm/dmdbms/data/cndba/dm.ini -noconsole
root 21638 21435 0 23:52 pts/1 00:00:00 grep dmserver
[root@dm1 dm]#
服務器在運行時由各種內存數據結構和一系列的線程組成,線程分為多種類型,不同類型的線程完成不同的任務。線程通過一定的同步機制對數據結構進行并發訪問和處理,以完成客戶提交的各種任務。DM 數據庫服務器是共享的服務器,允許多個用戶連接到同一個服務器上,服務器進程稱為共享服務器進程。
DM 進程中主要包括監聽線程、IO 線程、工作線程、調度線程、日志線程等,可以通過DM 的動態性能視圖查看線程的相關信息。主要 相關的線程有如下4個:
V$LATCHES 記錄當前正在等待的線程信息 V$THREADS 記錄當前系統中活動線程的信息 V$WTHRD_HISTORY 記錄自系統啟動以來,所有活動過線程的相關歷史信息。 V$PROCESS 記錄服務器進程信息
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。