Question & Answer
Question
任意の期間に実行された SQL とその実行回数を取得する方法を教えてください。
Answer
アクティビティー・イベント・モニターを設定し、モニターが有効な期間に実行された SQL を集計できます。
- アクティビティー・イベント・モニターの設定例
- DBADM もしくは SQLADM 権限を持ったユーザーで DB に接続します。
$ db2 CONNECT TO <db-name>
- デフォルトワークロードをアクティビティ・データが収集できるように変更します。
$ db2 ALTER WORKLOAD SYSDEFAULTUSERWORKLOAD COLLECT ACTIVITY DATA ON ALL WITH DETAILS
お客様のもとでワークロードを設定されている場合はそれに応じて設定してください。 - アクティビティ・イベント・モニターを作成します。
$ db2 CREATE EVENT MONITOR ACTEVMON FOR ACTIVITIES WRITE TO TABLE
ACTIVITYMETRICS_ACTEVMON
ACTIVITYSTMT_ACTEVMON
ACTIVITYVALS_ACTEVMON
ACTIVITY_ACTEVMON
CONTROL_ACTEVMON
- アクティビティ・イベント・モニターを有効にします。
$ db2 SET EVENT MONITOR ACTEVMON STATE 1
- DBADM もしくは SQLADM 権限を持ったユーザーで DB に接続します。
- 必要に応じてアクティビティ・イベント・モニターを停止します。
$ db2 SET EVENT MONITOR ACTEVMON STATE 0
- イベント・データの集計
例えば 以下の SQL で 2019/1/23 の 9:00 ~ 12:00 までに実行された SQL と実行回数が表示できます。db2 "select count(st.stmtid) as num_exec, varchar(st.stmt_text,512) as txt from ACTIVITY_ACTEVMON a, ACTIVITYSTMT_ACTEVMON st where a.activity_id = st.activity_id and a.uow_id = st.uow_id and a.appl_id = st.appl_id and a.time_started between '2019-01-23-09.00.00.000000' and '2019-01-23-12.00.00.000000' group by st.stmtid, varchar(st.stmt_text,512) order by 1 desc"
- イベント・データの削除方法
イベント・データが不要になった場合、イベント・モニターを停止後に以下のステートメントでイベント・データを削除できます。$ db2 "truncate table ACTIVITYMETRICS_ACTEVMON" $ db2 "truncate table ACTIVITYSTMT_ACTEVMON" $ db2 "truncate table ACTIVITYVALS_ACTEVMON" $ db2 "truncate table ACTIVITY_ACTEVMON"
関連情報
[{"Type":"MASTER","Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"ARM Category":[{"code":"a8m0z00000006paAAA","label":"Administrative Tools-\u003EWLM"},{"code":"a8m500000008PmIAAU","label":"Monitors-\u003EEvent Monitor"}],"ARM Case Number":"","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF016","label":"Linux"},{"code":"PF033","label":"Windows"}],"Version":"All Versions"}]
Was this topic helpful?
Document Information
Modified date:
28 November 2023
UID
ibm10869984