v$SORT_USAGE.SQL_ID 不是會話當前的執行的SQL ID
v$SORT_USAGE.SQL_ID 不是會話當前的執行的SQL ID
Kevin Zou
2011-9-2
資料庫的臨時表空間使用率較高,在查詢那個會話在使用臨時表空間時,發現檢視v$SORT_USAGE.SQL_ID 不是會話當前的執行的SQL ID。
當前使用了臨時段的會話:
|
發現SYS使用者的在使用較多的臨時段。通過SQL_ID檢視其執行的SQL:
SYS@hr9prd>SELECT /*+ ORDERED */
2 sql_text
FROM v$sqltext a
WHERE a.sql_id = '&sql_id'
ORDER BY piece ASC 3 4 5 ;
Enter value for sql_id: a96buqnd9gfnf
old 4: WHERE a.sql_id = '&sql_id'
new 4: WHERE a.sql_id = 'a96buqnd9gfnf'
SQL_TEXT
----------------------------------------------------------------
alter user sys tempo
這個SQL是我曾經執行過的,但不會佔用這麼多的臨時段。
通過V$SESSION 和V$SORT_USAGE聯合來查詢:
|
看到V$SORT_USAGE.SQL_ID其實對應的V$SESSION.PREV_SQL_ID的欄位,也就是會話執行SQL的前一個SQL。
-THE END-
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/40239/viewspace-706477/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle查詢當前會話的sidOracle會話
- 檢視當前會話session id方法:會話Session
- 茴字的三種寫法-找出當前會話ID會話
- 獲取當前會話資訊的方法會話
- oracle獲取當前會話(程式)session id(sid)Oracle會話Session
- 【轉載】檢視當前會話SID的三種方法會話
- 獲取當前會話資訊的方法(二)會話
- 獲取當前會話的trc檔名會話
- 簡單實現Laravel獲取當前執行的SQLLaravelSQL
- 查詢當前執行的sql及相關內容SQL
- 查詢當前正在執行的SQL語句並KILLSQL
- 檢視當前oracle中正在執行的sql語句OracleSQL
- 從V$SESSMETRIC檢視中找出當前最佔用資源的會話SSM會話
- 利用dbms_support包查詢當前會話的session_id會話Session
- Oracle 檢視當前會話 SESSION ID 方法 說明Oracle會話Session
- PHP mysql_thread_id 返回當前執行緒的 IDPHPMySqlthread執行緒
- 修改oracle當前會話的語言環境Oracle會話
- oracle 10046當前會話Oracle會話
- PostgreSQL 查詢當前執行中sql的執行計劃——pg_show_plans模組SQL
- oracle 中如何顯示sql語句的執行時間和sql語句的執行後的當前時間OracleSQL
- Oracle 查詢當前會話標識Oracle會話
- 檢視資料庫的當前連線session,以及其執行的sql資料庫SessionSQL
- sys_context獲取當前會話的屬性Context會話
- Android 判斷當前執行緒是否是主執行緒的兩種方法Android執行緒
- 檢視當前pg會話連線數會話
- oracle 跟蹤當前使用者會話Oracle會話
- android應用開發—獲取當前執行的services列表Android
- Android 的View不是執行緒安全的.AndroidView執行緒
- 分析依賴物件對當前失敗會話的影響物件會話
- 查詢當前正在執行的job的情況
- [系列] Go - 基於 GORM 獲取當前請求所執行的 SQL 資訊GoORMSQL
- 決定一個SQL執行效率的是執行計劃, 而不是SQL的寫法SQL
- Yii1列印當前請求所有執行的SQL及耗時SQL
- kill執行時間較長的會話會話
- 當前Activity的onPause執行完後,呼叫Paused介面
- ORA-00027: 無法終止當前會話會話
- 查詢當前SQL Server的版本SQLServer
- Java如何獲取當前執行緒Java執行緒