powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Как посмотреть запросы к БД, выполняемые клиентом.
15 сообщений из 15, страница 1 из 1
Как посмотреть запросы к БД, выполняемые клиентом.
    #34113686
ВячеSlav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем доброе время суток!

Я в informix и unix новичок. Задача простая - посмотреть запросы, которые выполняет клиентская программа. Нужно узнать что хранится в таблицах.
А изучение связанных запросов - хороший старт.

База крутится под управлением HP-UX 11i версия 1.
Версия Informix 5.10 на 16 юзеров (dbaccess -V).

Я знаю пароль и логин админа системы который подходит к админу базы.
С помощью dbaccess я увидел все таблицы в базе: структура, данные и тп.

А теперь бы хотелось бы заполучить запросы которые выполняет клиентская прога к этим самым табличкам.

Всем заранее спасибо.

P.S. Это не взлом, за все заплачено, все лицензионное.
Прошу прощения, кажется первый пост я оставил не в этом разделе.

С наилучшими пожеланиями, Вячеслав.
...
Рейтинг: 0 / 0
Как посмотреть запросы к БД, выполняемые клиентом.
    #34113820
Выбегалло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
onstat -g sql дает моментальную картинку ( текущий и предыдущий запросы).
Еще можно включить подсистему аудита, и/или трассировку. И то, и другое создает довольно значительную нагрузку на сервер и не очень просто в расшифровке.

В таком вот аксепте
...
Рейтинг: 0 / 0
Как посмотреть запросы к БД, выполняемые клиентом.
    #34114384
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для получения последовательности запросов, которые исходят от конкретного клиента к базе, можно использовать dynamic explain (в IDS 10). Для этого находите с помощью onstat -g ses нужную сессию (sid), и включаете для нее dynamic explain с помощью onmode -Y sid 1 , запросы (а также их планы) будут находится в файле sqexplain.out.sid
Чтобы отключить dynamic explain для конкретной сессии, надо выполнить onmode -Y sid 0
...
Рейтинг: 0 / 0
Как посмотреть запросы к БД, выполняемые клиентом.
    #34114925
ВячеSlav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я обыскал всю систему и не нашел "onstat".
Где "onstat" и "onmode" должны лежать ?
Если я их там не найду, то можно их где то скачать и прикрутить к существующей системе ?

Спасибо.
...
Рейтинг: 0 / 0
Как посмотреть запросы к БД, выполняемые клиентом.
    #34114972
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 будут все - или только те, которые были подвержены оптимизации именно при выполнении? Ну, то есть, вызовы ХП, для которых планы запросов были сохранены раньше и не переоптимизируются при текущем вызове, будут в этом файле?
...
Рейтинг: 0 / 0
Как посмотреть запросы к БД, выполняемые клиентом.
    #34115041
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВячеSlavА теперь бы хотелось бы заполучить запросы которые выполняет клиентская прога к этим самым табличкам.
А может тебя устроить смотреть запросы не со стороны сервера, а со стороны клиента?
Тогда нужно смотреть, что из себя представляет эта самая клиентская прога.
Например, для прог, использующих BDE, вполне подойдёт Borland SQL Monitor...
...
Рейтинг: 0 / 0
Как посмотреть запросы к БД, выполняемые клиентом.
    #34115254
ВячеSlav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Клиентская программа заточена под Unix. Поэтому я ее запускаю в X Session под Windows. Понятно что сниф тра фика тут бесполезен. Я не увидел в уходящих пакетах открытых запросов или вызовов процедур. Поэтому решил зайти с другой стороны, со стороны сервера. Может быть запустить прогу под Unix и как то снифить запросы? Даже не знаю как подойти к решению подобной задачи.
...
Рейтинг: 0 / 0
Как посмотреть запросы к БД, выполняемые клиентом.
    #34115509
olleg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВячеSlav
Версия Informix 5.10


ВячеSlav
Я обыскал всю систему и не нашел "onstat".
Где "onstat" и "onmode" должны лежать ?


Кажется в этой версии Informix команды назывались
tbstat и tbmode соответственно.
Лежат где-то в $INFORMIXDIR/bin
...
Рейтинг: 0 / 0
Как посмотреть запросы к БД, выполняемые клиентом.
    #34115607
ВячеSlav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, точно - есть такие. Спасибо.

У tbstat нет ключа -g. Как теперь мне правильно воспользоваться этими утилитками, не нарушив работоспособность сервера ?
...
Рейтинг: 0 / 0
Как посмотреть запросы к БД, выполняемые клиентом.
    #34115636
ВячеSlav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На всякий случай

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
...
Рейтинг: 0 / 0
Как посмотреть запросы к БД, выполняемые клиентом.
    #34116982
olleg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У тебя очень древняя версия.
Подозреваю, что там и базы данных sysmaster не было
и что
tbstat -u
и
tbmonitor -> status-> Users

тоже ничего не покажут.

Я,честно говоря, не помню.

вот что мне советовали
...
Рейтинг: 0 / 0
Как посмотреть запросы к БД, выполняемые клиентом.
    #34118384
ВячеSlav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за инфу. А где нужно прописывать ?

set SQLIDEBUG=2:trace_my_sql
...
Рейтинг: 0 / 0
Как посмотреть запросы к БД, выполняемые клиентом.
    #34124191
ВячеSlav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Совсем никак ?
...
Рейтинг: 0 / 0
Как посмотреть запросы к БД, выполняемые клиентом.
    #34124637
Leonid Vorontsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> где нужно прописывать ?
> set SQLIDEBUG=2:trace_my_sql
По-моему, можно как на клиенте, так и на сервере. Просто на сервере эти файлы будут очень плодиться - трудно будет разобраться, что к чему.
...
Рейтинг: 0 / 0
Как посмотреть запросы к БД, выполняемые клиентом.
    #34124708
ВячеSlav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно чуть подробнее ? Я просто не силен в Unx системах. Где и что открыть, куда вписать ? Какие команды подавать. Засаряемость системы меня не интересует, т.к. мне нужно единожды посмотреть что делает клиент и затем вернуть все как было.

Спасибо.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Как посмотреть запросы к БД, выполняемые клиентом.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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