查詢當前正在執行的SQL語句並KILL
一、查詢當前正在執行的SQL(其中一種方式):
select a.username, a.sid,b.SQL_TEXT, b.SQL_FULLTEXT from v$session a, v$sqlarea b where a.sql_address = b.address;
其中v$session檢視結構中的username為執行該條SQL的使用者名稱
sid為session ID,即會話標識
sql_address為和SQL_HASH_VLAUE的一樣用來標識正在執行的SQL(官方文件解釋:Used with SQL_HASH_VALUE to identify the SQL statement that is currently being executed)
v$sqlarea檢視結構中的sql_text為前1000位元組的SQL語句
sql_fulltext為所有位元組的SQL語句(即不管超不超過1000位元組均可以顯示出來)
address為根指標所在控制程式碼的地址,此值與HASH_VALUE一對一的關係(官方文件解釋:Address of the handle to the parent for this cursor)
二、檢視正在執行的SQL
select sid,serial# from v$session where sid='上面查出來的sid';
v$session檢視中的serial#欄位含義為session serial number,主要是用來唯一標識會話連線的物件,如果一個會話結束而另外一個會話以相同的SID開始的情況下,保證會話級別的命令能夠唯一的作用到正確的會話物件
三、終止該SQL
alter system kill session 'sid,serial#';
如果如此還沒有終止,則需透過系統級別的命令殺死改SQL
SQL> select b.username,b.SPID from v$session a,v$process b where a.PADDR=b.ADDR and a.sid=1511;
USERNAME SPID
--------------- ------------
oracle 6066
其中v$process檢視中username的含義為該程式所屬的OS user
SPID的含義為該程式的作業系統程式號
然後透過系統級別命令 kill -9 6066終止即可
select a.username, a.sid,b.SQL_TEXT, b.SQL_FULLTEXT from v$session a, v$sqlarea b where a.sql_address = b.address;
其中v$session檢視結構中的username為執行該條SQL的使用者名稱
sid為session ID,即會話標識
sql_address為和SQL_HASH_VLAUE的一樣用來標識正在執行的SQL(官方文件解釋:Used with SQL_HASH_VALUE to identify the SQL statement that is currently being executed)
v$sqlarea檢視結構中的sql_text為前1000位元組的SQL語句
sql_fulltext為所有位元組的SQL語句(即不管超不超過1000位元組均可以顯示出來)
address為根指標所在控制程式碼的地址,此值與HASH_VALUE一對一的關係(官方文件解釋:Address of the handle to the parent for this cursor)
二、檢視正在執行的SQL
select sid,serial# from v$session where sid='上面查出來的sid';
v$session檢視中的serial#欄位含義為session serial number,主要是用來唯一標識會話連線的物件,如果一個會話結束而另外一個會話以相同的SID開始的情況下,保證會話級別的命令能夠唯一的作用到正確的會話物件
三、終止該SQL
alter system kill session 'sid,serial#';
如果如此還沒有終止,則需透過系統級別的命令殺死改SQL
SQL> select b.username,b.SPID from v$session a,v$process b where a.PADDR=b.ADDR and a.sid=1511;
USERNAME SPID
--------------- ------------
oracle 6066
其中v$process檢視中username的含義為該程式所屬的OS user
SPID的含義為該程式的作業系統程式號
然後透過系統級別命令 kill -9 6066終止即可
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29802484/viewspace-1390968/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 查詢正在執行的SQL語句SQL
- 查詢Oracle正在執行的SQL語句OracleSQL
- 檢視當前oracle中正在執行的sql語句OracleSQL
- 查詢正在執行的sql語句及該語句執行的時間SQL
- 查詢Oracle正在執行和執行過的SQL語句OracleSQL
- Oracle 查詢某個session正在執行的sql語句OracleSessionSQL
- 查詢Oracle正在執行的sql語句及執行該語句的使用者OracleSQL
- 【Gp】PostgreSql中如何kill掉正在執行的sql語句SQL
- 查詢當前正在執行的job的情況
- 查詢執行慢的SQL語句SQL
- Laravel 框架查詢執行的 SQL 語句Laravel框架SQL
- 查詢sql語句執行次數SQL
- SQL Server 查詢歷史執行的SQL語句SQLServer
- SQL 查詢語句的執行順序解析SQL
- 查詢orcale執行的SQL語句記錄SQL
- 查詢當前執行的sql及相關內容SQL
- 一條 SQL 查詢語句是如何執行的?SQL
- 檢視mysql正在執行的SQL語句MySql
- T-sql語句查詢執行順序SQL
- GaussDB SQL查詢語句執行過程解析SQL
- oracle 中如何顯示sql語句的執行時間和sql語句的執行後的當前時間OracleSQL
- 輸入的查詢 SQL 語句,是如何執行的?SQL
- 查詢oracle正在執行的SQL和事務OracleSQL
- PostgreSQL 查詢當前執行中sql的執行計劃——pg_show_plans模組SQL
- 查詢當前SQL Server的版本SQLServer
- 一條查詢語句的執行流程
- SQL Server簡潔查詢正在執行SQL(等待事件)SQLServer事件
- 強制SQL Server執行計劃使用並行提升在複雜查詢語句下的效能SQLServer並行
- MySQL系列之一條SQL查詢語句的執行過程MySql
- Oracle中SQL語句執行效率的查詢與解決 (3)OracleSQL
- Oracle中SQL語句執行效率的查詢與解決 (2)OracleSQL
- Oracle中SQL語句執行效率的查詢與解決 (1)OracleSQL
- SQL查詢語句 (Oracle)SQLOracle
- SQL server 查詢語句SQLServer
- sql查詢語句流程SQL
- SQL mother查詢語句SQL
- SQL語句執行進度檢查SQL
- php連線mysql並執行sql語句PHPMySql