DB2 V9.5工作負載管理(六)
在我們生產系統中,可能存在一些正在執行的大SQL,這些活動消耗了太多的資源。如果我們想停止這些正在執行的活動,可以呼叫WLM_CANCEL_ACTIVITY()儲存過程,如果想捕獲一個活動的詳細資訊可以呼叫WLM_CAPTURE_ACTIVITY_IN_PROGRESS()儲存過程,如果想收集和重置一個工作負載物件的統計資訊可以呼叫WLM_COLLECT_STATS()。這些儲存過程的具體資訊如下:
Ø WLM_CANCEL_ACTIVITY ( application_handle , uow_id , activity_id ) .
可以使用這個儲存過程來取消一個正在執行或者正在排隊的活動。對某個特定的活動來說,我們可以使用應用程式控制程式碼、工作單元標識和活動標識來唯一標識。使用這個儲存過程,我們可以取消任何型別的活動。當這個儲存過程執行後,被取消的特定活動將收到SQL4725N的錯誤資訊。
Ø WLM_CAPTURE_ACTIVITY_IN_PROGRESS ( application_handle , uow_id , activity_id ) .
我們可以使用這個儲存過程捕獲特定活動的詳細資訊,併傳送給活動事件監控器。這個儲存過程會立即傳送資訊,而不是等待該活動完成再傳送。
Ø WLM_COLLECT_STATS ( ) .
使用這個儲存過程可以用來收集和重置工作負載物件統計資訊。所有跟蹤收集的服務類、工作負載、閾值佇列和工作動作集統計資訊,都會傳送給活動統計資訊事件監控器(如果存在)並重置。如果沒有活動統計資訊事件監控器,那麼統計資訊將只重置,而不收集。
以上儲存過程呼叫中需要的應用程式控制程式碼(application_handle)、工作單元標識(uow_id)、活動標識(activity_id),可以通過呼叫表函式WLM_GET_WORKLOAD_OCCURRENCE_ACTIVITIES來獲得。
我們繼續在視窗1用ADMINISTRATOR使用者連線示例資料庫DB2TEST1,在視窗2用RHETTE使用者連線示例資料庫DB2TEST1,並在視窗2中執行一個大的查詢,具體如清單23所示:
- - 清單23 . 在視窗2中執行一個大的查詢
C:\> db2 connect to db2test1 user rhette using passw0rd
資料庫連線資訊
資料庫伺服器 = DB2 / NT 9.5.0
SQL 授權標識 = DB2ADMIN
本地資料庫別名 = DB2TEST1
C:\> db2 select count ( * ) from rhette.project , rhette.project , rhette.projec
t , rhette.project , rhette.project , rhette.project
在視窗2中的大型查詢完成之前,在視窗1中呼叫表函式WLM_GET_WORKLOAD_OCCURRENCE_ACTIVITIES,來獲得視窗2中正在進行的大型查詢的應用程式控制程式碼(application_handle)、工作單元標識(uow_id)、活動標識(activity_id)資訊,在獲得這些資訊後,如果還想檢視更詳細的資訊,可以根據應用程式控制程式碼通過LIST APPLICATIONS SHOW DETAIL來檢視。具體如清單24所示:
- - 清單24 . 在視窗1中呼叫表函式WLM_GET_WORKLOAD_OCCURRENCE_ACTIVITIES
C:\> db2 - tvf get_wkld_activities.txt
SELECT T.APPLICATION_HANDLE , T.UOW_ID , T.ACTIVITY_ID , T.ACTIVITY_TYPE , T.ACTIVITY_TYPE , T.ACTIVITY_STATE , T.LOCAL_START_TIME FROM TABLE( WLM_GET_WORKLOAD_OCCURRENCE_ACTIVITIES ( CAST ( NULL AS BIGINT ) , -2 ) ) T ORDER BY T.LOCAL_START_TIME
APPLICATION
_HANDLE UOW_ID ACTIVITY_ID ACTIVITY_TYPE ACTIVITY_STATE LOCAL_START_TIME
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
80 7 1 READ_DML EXECUTING 2008-01-02-17.01.25.306889
81 10 1 READ_DML EXECUTING 2008-01-02-17.01.32.253342
2 條記錄已選擇。
接下來我們來看一下如何取消視窗2中正在進行的大型查詢,在視窗1中呼叫WLM_CANCEL_ACTIVITY儲存過程,輸入引數使用在清單24中獲得的應用程式控制程式碼(application_handle)、工作單元標識(uow_id)、活動標識(activity_id),具體如清單25所示:
- - 清單25 . 在視窗1中呼叫WLM_CANCEL_ACTIVITY儲存過程取消特定活動
C:\> db2 call WLM_CANCEL_ACTIVITY( 80 , 7 , 1 )
返回狀態 = 0
此時視窗2中正在執行的大型查詢會收到“SQL4725N 已取消該活動。 SQLSTATE = 57014”的相關資訊,具體如清單26所示:
- - 清單26 . 在視窗2中獲得特定活動取消的相關資訊
C:\> db2 select count ( * ) from rhette.project , rhette.project , rhette.projec
t , rhette.project , rhette.project , rhette.project
1
- - - - - - - - - - - - - - - - -
SQL4725N 已取消該活動。 SQLSTATE = 57014
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9524210/viewspace-511959/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- DB2 V9.5工作負載管理(二)DB2負載
- DB2 V9.5工作負載管理(五)DB2負載
- DB2 V9.5工作負載管理(七)DB2負載
- DB2負載管理(WLM)(一)DB2負載
- DB2負載管理(WLM)(二)DB2負載
- DB2負載管理(WLM)(三)DB2負載
- 【kamus】DB2 V9.5 - StartingDB2
- oracle,db2,mysql類比之六程式管理OracleDB2MySql
- Kubernetes之Pod工作負載負載
- 負載均衡是什麼?怎麼理解負載均衡的部署方式和工作原理負載
- 六種實現負載均衡技術的方式負載
- 負載均衡器部署方式和工作原理負載
- 經驗預測法(工作負荷)(轉載)
- 資源調控器工作負荷管理方案
- F5負載均衡系列教程六【配置virtual Server】負載Server
- k8s工作負載資源之deploymentK8S負載
- 電阻負載櫃的工作原理是什麼?負載
- k8s工作負載控制器--DeploymentK8S負載
- k8s工作負載控制器--DaemonSetK8S負載
- k8s工作負載控制器--StatefulsetK8S負載
- 【SpringCloud】(六):Ribbon實現客戶端負載均衡SpringGCCloud客戶端負載
- 探祕金融級雲原生髮布工作負載 CafeDeployment負載
- KubeVela 1.7 版本解讀:接管你的已有工作負載負載
- Oracle10g AWR (自動工作負載資訊庫)Oracle負載
- Oracle中自動工作負載資訊庫(AWR)介紹Oracle負載
- 程控水冷阻性負載主要工作方式有哪些負載
- 質量管理的核心工作(轉載)
- 質量管理基礎工作(轉載)
- NLB網路負載均衡管理器詳解負載
- 叢集,lvs負載均衡的四種工作模式負載模式
- 自動工作負載庫(Automatic Workload Repository,AWR)負載
- Oracle中自動工作負載資訊庫(AWR)介紹(2)Oracle負載
- 【VMware VCF】VMware Cloud Foundation Part 06:部署 VI 工作負載域。Cloud負載
- DB2中的限制之六資料庫管理頁大小的限制 (轉)DB2資料庫
- 質管工作中的“六種浪費”(轉載)
- 負載均衡負載
- linux負載均衡總結性說明(四層負載/七層負載)Linux負載
- 除錯Kubernetes工作負載的最簡單方法 - Martin除錯負載