powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Монитор запросов...
19 сообщений из 19, страница 1 из 1
Монитор запросов...
    #38579361
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут я на днях по DB2 прощелся слегка.
Дабы исправить ситуацию, делюсь скриптом (показывает текущие запросы, авторов и статусы):

Win ; Db2-9.7

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 select coalesce(APP.TPMON_CLIENT_APP,MON.APPLICATION_NAME) as CL_OBJ  
,ELAPSED_TIME_SEC as TIME_SEC
,CAST (STMT_TEXT as VARCHAR(2000)) as SQL
,coalesce(TPMON_CLIENT_USERID,EXECUTION_ID) as LOGIN
,coalesce(TPMON_CLIENT_WKSTN, CLIENT_NNAME) as HOSTNAME
,DB_NAME as BASE
,ACTIVITY_STATE as STATE
,ACTIVITY_TYPE  as TYPE
from sysibmadm.MON_CURRENT_SQL as MON, table(snapshot_appl_info('',-1))  as APP
where MON.APPLICATION_HANDLE = APP.AGENT_ID and MON.APPLICATION_NAME = APP.APPL_NAME
order by 2 desc with ur



Если что, критикуйте!
...
Рейтинг: 0 / 0
Монитор запросов...
    #38579374
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно и так, а то мало ли 1-ый монитор, более обширный:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 select coalesce(APP.TPMON_CLIENT_APP,MON.APPLICATION_NAME) as CL_OBJ  
,ELAPSED_TIME_SEC as TIME_SEC
,CAST (STMT_TEXT as VARCHAR(2000)) as SQL
,coalesce(TPMON_CLIENT_USERID,EXECUTION_ID) as LOGIN
,coalesce(TPMON_CLIENT_WKSTN, CLIENT_NNAME) as HOSTNAME
,DB_NAME as BASE
,ACTIVITY_STATE as STATE
,ACTIVITY_TYPE  as TYPE
from sysibmadm.MON_CURRENT_SQL as MON
left join table(snapshot_appl_info('',-1))  as APP 
              on MON.APPLICATION_HANDLE = APP.AGENT_ID and MON.APPLICATION_NAME = APP.APPL_NAME
order by 2 desc with ur
...
Рейтинг: 0 / 0
Монитор запросов...
    #38579407
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
medoed,

snapshot_appl_info - deprecated, т.е. устарела.
Код: sql
1.
2.
3.
select ...
from sysibmadm.MON_CURRENT_SQL as MON, SYSIBMADM.SNAPAPPL_INFO as APP
where MON.APPLICATION_HANDLE = APP.AGENT_ID


в DPF окружении SYSIBMADM.SNAPAPPL_INFO может возвратить по 1 записи для каждой ноды, поэтому можно добавить
and MON.COORD_MEMBER=APP.DBPARTITIONNUM
...
Рейтинг: 0 / 0
Монитор запросов...
    #38579443
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, Марк! Не знал про отказ, поправлю...
...
Рейтинг: 0 / 0
Монитор запросов...
    #38703946
ввввыаф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может кто-нибудь знает, как узнать, какие параметры передавались запросу для выполнения?
...
Рейтинг: 0 / 0
Монитор запросов...
    #38704027
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ввввыаф,

https://groups.google.com/forum/#!topic/comp.databases.ibm-db2/m27RIbj59BU

Но опять таки, для этого как в соседнем топике (в конце дискуссии про temp space) нужна включённая функциональность WLM (лицензии на Performance Optimization Feature или AWSE/AESE редакции).

Альтернатива - трейсить на клиенте CLI/JDBC (как более низкоуровневый вариант - DRDA) в зависимости от того, через что приложение ходит к БД.
...
Рейтинг: 0 / 0
Монитор запросов...
    #38704083
ввввыаф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CawaSPb,

ух как всё сложно......на клиенте не получается - нужно на БД... блин придётся ковыряться
...
Рейтинг: 0 / 0
Монитор запросов...
    #38704137
ввввыаф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хотя, может есть объяснение, почему файл трассировки вебсферы пишет при открытии в рантайме:
"файл C:\Program Files\ibm\WebSphere\AppServer\profiles\AppSrv01\logs\server1\trace.log на сервере server1 не является допустимым файлом протокола."
и весит 0 байт?
...
Рейтинг: 0 / 0
Монитор запросов...
    #38704369
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CawaSPb https://groups.google.com/forum/#!topic/comp.databases.ibm-db2/m27RIbj59BU

Но опять таки, для этого как в соседнем топике (в конце дискуссии про temp space) нужна включённая функциональность WLM (лицензии на Performance Optimization Feature или AWSE/AESE редакции).Ну, если хэндл приложения известен, то при активном event monitor for activities можно собирать информацию о параметрах запроса и без WLM с помощью процедуры WLM_SET_CONN_ENV .
При желании можно, например, автоматически включать сбор информации для своего соединения с помощью вызова этой процедуры при соединении с базой.
Customizing an application environment using the connect procedure .
...
Рейтинг: 0 / 0
Монитор запросов...
    #38704419
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinstein,

Интересно. Честно говоря, вообще до этой возможности не добирался, а встретил бы, не подумал, что её можно применять без Perf.Opt. лицензий.
...
Рейтинг: 0 / 0
Монитор запросов...
    #38704493
knudsen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А я как-то вот такой штукой воспользовался, но для пользователя и приложения, тоже помогло:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
CREATE EVENT MONITOR STMT_USERDB FOR STATEMENTS
WHERE AUTH_ID='USERDB'
WRITE TO TABLE
  CONNHEADER (TABLE STMT_USERDB_CONN IN USERSPACE1)
, STMT (TABLE STMT_USERDB_STMT IN USERSPACE1);

SET EVENT MONITOR STMT_USERDB STATE 1;

-- .... подождать нужное время ....

SET EVENT MONITOR STMT_USERDB STATE 0;

SELECT "AGENT_ID", "AGENTS_TOP", "APPL_ID", "BLOCKING_CURSOR", 
    "CONSISTENCY_TOKEN", "CREATOR", "CURSOR_NAME", "EVMON_FLUSHES", 
    "FETCH_COUNT", "INT_ROWS_DELETED", "INT_ROWS_INSERTED", "INT_ROWS_UPDATED"
    , "PACKAGE_NAME", "PACKAGE_VERSION_ID", "PARTIAL_RECORD", 
    "POOL_DATA_L_READS", "POOL_DATA_P_READS", "POOL_INDEX_L_READS", 
    "POOL_INDEX_P_READS", "POOL_TEMP_DATA_L_READS", "POOL_TEMP_DATA_P_READS", 
    "POOL_TEMP_INDEX_L_READS", "POOL_TEMP_INDEX_P_READS", 
    "POOL_TEMP_XDA_L_READS", "POOL_TEMP_XDA_P_READS", "POOL_XDA_L_READS", 
    "POOL_XDA_P_READS", "ROWS_READ", "ROWS_WRITTEN", "SECTION_NUMBER", 
    "SEQUENCE_NO", "SORT_OVERFLOWS", "SQL_REQ_ID", "SQLCABC", "SQLCAID", 
    "SQLCODE", "SQLERRD1", "SQLERRD2", "SQLERRD3", "SQLERRD4", "SQLERRD5", 
    "SQLERRD6", "SQLERRM", "SQLERRP", "SQLSTATE", "SQLWARN", "START_TIME", 
    "STATS_FABRICATE_TIME", "STMT_OPERATION", "STMT_TYPE", "STOP_TIME", 
    "SYNC_RUNSTATS_TIME", "SYSTEM_CPU_TIME", "TOTAL_SORT_TIME", "TOTAL_SORTS",
    "USER_CPU_TIME", "STMT_TEXT"
  FROM "USERDB"."STMT_USERDB_STMT"
  INNER JOIN
  (SELECT "AGENT_ID" AID, "APPL_ID" APLID
  from "USERDB"."STMT_USERDB_CONN" WHERE TRIM("CLIENT_NNAME") = 'app_name_from_client') AS DRUMS
  ON DRUMS.AID="AGENT_ID" AND "APPL_ID" = DRUMS.APLID
  WHERE "STMT_TEXT" IS NOT NULL AND TRIM("STMT_TEXT")<>'';



- ну там в запросе поля ненужные убрать только...

Как-то так.
...
Рейтинг: 0 / 0
Монитор запросов...
    #38704956
ввввыаф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
knudsen,

USERSPACE1 - что это?
ругается, говорит, что undefined name.
...
Рейтинг: 0 / 0
Монитор запросов...
    #38704971
ввввыаф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сори, тупанул _))
...
Рейтинг: 0 / 0
Монитор запросов...
    #38704976
knudsen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ввввыаф,

эта штука пишет в таблицу как сумашедшая (в моём случае), поэтому отдельный таблеспэйс сделал.
...
Рейтинг: 0 / 0
Монитор запросов...
    #38705023
ввввыаф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
knudsen,

в STMT_TEXT не указываются параметры запроса...Они где-то в другом месте?
...
Рейтинг: 0 / 0
Монитор запросов...
    #38705065
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ввввыаф,

event monitor for statements не показывает значения параметров.
...
Рейтинг: 0 / 0
Монитор запросов...
    #38705066
knudsen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ввввыаф,

В других полях все параметры.
Но если нужно узнать какие переменные передавались в условие WHERE, например, то шиш - база уже получает готовый запрос для выполнения, можно только процедурки и функции посмотреть, которые она запускает... таки можно разобрать поле STMT_TEXT, остальное на клиенте.
...
Рейтинг: 0 / 0
Монитор запросов...
    #38705116
knudsen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
knudsen,

что называть параметрами ? Я, навено, путаюсь...
...
Рейтинг: 0 / 0
Монитор запросов...
    #38705224
ввввыаф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
knudsen,

которые подставляются в параметризированный запрос, например :Val1

Короче, я разобрался. Через EVENT MONITOR ... гемор, канешн, но работает.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Монитор запросов...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]