Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как посмотреть запросы к БД, выполняемые клиентом.
|
|||
|---|---|---|---|
|
#18+
Всем доброе время суток! Я в informix и unix новичок. Задача простая - посмотреть запросы, которые выполняет клиентская программа. Нужно узнать что хранится в таблицах. А изучение связанных запросов - хороший старт. База крутится под управлением HP-UX 11i версия 1. Версия Informix 5.10 на 16 юзеров (dbaccess -V). Я знаю пароль и логин админа системы который подходит к админу базы. С помощью dbaccess я увидел все таблицы в базе: структура, данные и тп. А теперь бы хотелось бы заполучить запросы которые выполняет клиентская прога к этим самым табличкам. Всем заранее спасибо. P.S. Это не взлом, за все заплачено, все лицензионное. Прошу прощения, кажется первый пост я оставил не в этом разделе. С наилучшими пожеланиями, Вячеслав. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 18:59 |
|
||
|
Как посмотреть запросы к БД, выполняемые клиентом.
|
|||
|---|---|---|---|
|
#18+
onstat -g sql дает моментальную картинку ( текущий и предыдущий запросы). Еще можно включить подсистему аудита, и/или трассировку. И то, и другое создает довольно значительную нагрузку на сервер и не очень просто в расшифровке. В таком вот аксепте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2006, 20:05 |
|
||
|
Как посмотреть запросы к БД, выполняемые клиентом.
|
|||
|---|---|---|---|
|
#18+
Для получения последовательности запросов, которые исходят от конкретного клиента к базе, можно использовать dynamic explain (в IDS 10). Для этого находите с помощью onstat -g ses нужную сессию (sid), и включаете для нее dynamic explain с помощью onmode -Y sid 1 , запросы (а также их планы) будут находится в файле sqexplain.out.sid Чтобы отключить dynamic explain для конкретной сессии, надо выполнить onmode -Y sid 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2006, 09:10 |
|
||
|
Как посмотреть запросы к БД, выполняемые клиентом.
|
|||
|---|---|---|---|
|
#18+
Я обыскал всю систему и не нашел "onstat". Где "onstat" и "onmode" должны лежать ? Если я их там не найду, то можно их где то скачать и прикрутить к существующей системе ? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2006, 11:10 |
|
||
|
Как посмотреть запросы к БД, выполняемые клиентом.
|
|||
|---|---|---|---|
|
#18+
AndronДля получения последовательности запросов, которые исходят от конкретного клиента к базе, можно использовать dynamic explain (в IDS 10). Для этого находите с помощью onstat -g ses нужную сессию (sid), и включаете для нее dynamic explain с помощью onmode -Y sid 1 , запросы (а также их планы) будут находится в файле sqexplain.out.sid Чтобы отключить dynamic explain для конкретной сессии, надо выполнить onmode -Y sid 0 Чистый интерес: "запросы" в sqexplain.out.sid будут все - или только те, которые были подвержены оптимизации именно при выполнении? Ну, то есть, вызовы ХП, для которых планы запросов были сохранены раньше и не переоптимизируются при текущем вызове, будут в этом файле? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2006, 11:17 |
|
||
|
Как посмотреть запросы к БД, выполняемые клиентом.
|
|||
|---|---|---|---|
|
#18+
ВячеSlavА теперь бы хотелось бы заполучить запросы которые выполняет клиентская прога к этим самым табличкам. А может тебя устроить смотреть запросы не со стороны сервера, а со стороны клиента? Тогда нужно смотреть, что из себя представляет эта самая клиентская прога. Например, для прог, использующих BDE, вполне подойдёт Borland SQL Monitor... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2006, 11:31 |
|
||
|
Как посмотреть запросы к БД, выполняемые клиентом.
|
|||
|---|---|---|---|
|
#18+
Клиентская программа заточена под Unix. Поэтому я ее запускаю в X Session под Windows. Понятно что сниф тра фика тут бесполезен. Я не увидел в уходящих пакетах открытых запросов или вызовов процедур. Поэтому решил зайти с другой стороны, со стороны сервера. Может быть запустить прогу под Unix и как то снифить запросы? Даже не знаю как подойти к решению подобной задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2006, 12:01 |
|
||
|
Как посмотреть запросы к БД, выполняемые клиентом.
|
|||
|---|---|---|---|
|
#18+
ВячеSlav Версия Informix 5.10 ВячеSlav Я обыскал всю систему и не нашел "onstat". Где "onstat" и "onmode" должны лежать ? Кажется в этой версии Informix команды назывались tbstat и tbmode соответственно. Лежат где-то в $INFORMIXDIR/bin ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2006, 12:50 |
|
||
|
Как посмотреть запросы к БД, выполняемые клиентом.
|
|||
|---|---|---|---|
|
#18+
да, точно - есть такие. Спасибо. У tbstat нет ключа -g. Как теперь мне правильно воспользоваться этими утилитками, не нарушив работоспособность сервера ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2006, 13:06 |
|
||
|
Как посмотреть запросы к БД, выполняемые клиентом.
|
|||
|---|---|---|---|
|
#18+
На всякий случай usage: tbstat [-abcdklmpstuzBDFPRX] [-r seconds] [-o file] [infile] -a print all info (options: bcdklmpstu) -b print buffers -c print configuration file -d print dbspaces and chunks -k print locks -l print logging -m print message log -p print profile -s print latches -t print tblspaces -u print users -z zero profile counts -B print all buffers -D print dbspaces and detailed chunk stats -F print page flushers -P print profile, including BIGreads -R print LRU queues -X print entire list of sharers and waiters for buffers -r repeat options every n seconds (default: 5) -o put shared memory into specified file (default: tbstat.out) infile use infile to obtain shared memory information ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2006, 13:11 |
|
||
|
Как посмотреть запросы к БД, выполняемые клиентом.
|
|||
|---|---|---|---|
|
#18+
У тебя очень древняя версия. Подозреваю, что там и базы данных sysmaster не было и что tbstat -u и tbmonitor -> status-> Users тоже ничего не покажут. Я,честно говоря, не помню. вот что мне советовали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2006, 16:57 |
|
||
|
Как посмотреть запросы к БД, выполняемые клиентом.
|
|||
|---|---|---|---|
|
#18+
Спасибо за инфу. А где нужно прописывать ? set SQLIDEBUG=2:trace_my_sql ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2006, 10:11 |
|
||
|
Как посмотреть запросы к БД, выполняемые клиентом.
|
|||
|---|---|---|---|
|
#18+
Совсем никак ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2006, 15:15 |
|
||
|
Как посмотреть запросы к БД, выполняемые клиентом.
|
|||
|---|---|---|---|
|
#18+
> где нужно прописывать ? > set SQLIDEBUG=2:trace_my_sql По-моему, можно как на клиенте, так и на сервере. Просто на сервере эти файлы будут очень плодиться - трудно будет разобраться, что к чему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2006, 17:00 |
|
||
|
Как посмотреть запросы к БД, выполняемые клиентом.
|
|||
|---|---|---|---|
|
#18+
А можно чуть подробнее ? Я просто не силен в Unx системах. Где и что открыть, куда вписать ? Какие команды подавать. Засаряемость системы меня не интересует, т.к. мне нужно единожды посмотреть что делает клиент и затем вернуть все как было. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2006, 17:18 |
|
||
|
|

start [/forum/topic.php?fid=44&msg=34116982&tid=1608552]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
42ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 261ms |
| total: | 361ms |

| 0 / 0 |
