Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Монитор запросов... / 19 сообщений из 19, страница 1 из 1
05.03.2014, 17:59
    #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
05.03.2014, 18:13
    #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
05.03.2014, 18:55
    #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
05.03.2014, 19:38
    #38579443
medoed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Монитор запросов...
Спасибо, Марк! Не знал про отказ, поправлю...
...
Рейтинг: 0 / 0
23.07.2014, 14:38
    #38703946
ввввыаф
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Монитор запросов...
может кто-нибудь знает, как узнать, какие параметры передавались запросу для выполнения?
...
Рейтинг: 0 / 0
23.07.2014, 15:30
    #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
23.07.2014, 16:15
    #38704083
ввввыаф
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Монитор запросов...
CawaSPb,

ух как всё сложно......на клиенте не получается - нужно на БД... блин придётся ковыряться
...
Рейтинг: 0 / 0
23.07.2014, 16:53
    #38704137
ввввыаф
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Монитор запросов...
хотя, может есть объяснение, почему файл трассировки вебсферы пишет при открытии в рантайме:
"файл C:\Program Files\ibm\WebSphere\AppServer\profiles\AppSrv01\logs\server1\trace.log на сервере server1 не является допустимым файлом протокола."
и весит 0 байт?
...
Рейтинг: 0 / 0
23.07.2014, 22:53
    #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
24.07.2014, 01:53
    #38704419
CawaSPb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Монитор запросов...
Mark Barinstein,

Интересно. Честно говоря, вообще до этой возможности не добирался, а встретил бы, не подумал, что её можно применять без Perf.Opt. лицензий.
...
Рейтинг: 0 / 0
24.07.2014, 08:51
    #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
24.07.2014, 14:13
    #38704956
ввввыаф
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Монитор запросов...
knudsen,

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

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

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

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

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

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

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

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


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