
SELECT ELAPSED_TIME_MIN,SUBSTR(AUTHID,1,10) AS AUTH_ID,
AGENT_ID, APPL_STATUS,SUBSTR(STMT_TEXT,1,20) AS SQL_TEXT
FROM SYSIBMADM.LONG_RUNNING_SQL
WHERE ELAPSED_TIME_MIN > 0
ORDER BY ELAPSED_TIME_MIN DESC
Кредит: SQL для просмотра длительных запросов
SYSIBMADM скорее предполагает, что это запрос DB2, а не Informix.
Это потому, что предлагаемый ответ предназначен для DB2, а не для Informix.
База данных sysmaster (виртуальная реляционная база данных совместно используемой памяти Informix), вероятно, будет содержать искомую информацию. Эти страницы могут помочь вам начать работу:
Первая ссылка не работает. Вы знаете зеркало?
Если запрос в настоящее время выполняется, просмотрите вывод onstat -g act -r 1 и найдите элементы с rstcb, отличным от 0
Running threads:
tid tcb rstcb prty status vp-class name
106 c0000000d4860950 0 2 running 107soc soctcppoll
107 c0000000d4881950 0 2 running 108soc soctcppoll
564457 c0000000d7f28250 c0000000d7afcf20 2 running 1cpu CDRD_10
В этом примере третья строка - это то, что сейчас выполняется. Если у вас есть несколько строк с ненулевыми значениями rstcb, обратите внимание на бит, ищущий тот, который всегда или почти всегда есть. Скорее всего, это сеанс, который вы ищете.
c0000000d7afcf20 - это адрес, который нас интересует в этом примере.
Используйте onstat -u | grep c0000000d7afcf20, чтобы найти сеанс
c0000000d7afcf20 Y--P--- 22887 informix - c0000000d5b0abd0 0 5 14060 3811
Это дает вам идентификатор сеанса, который в нашем примере - 22887. Используйте onstat -g ses 22887 чтобы перечислить информацию об этом сеансе. В моем примере это системный сеанс, поэтому в выводе onstat -g ses ничего не видно.
Хорошо, мне потребовалось немного времени, чтобы понять, как подключиться к sysmaster. Строка подключения JDBC:
jdbc:informix-sqli://dbserver.local:1526/sysmaster:INFORMIXSERVER=mydatabase
Где номер порта такой же, как и при подключении к реальной базе данных. То есть, если ваша строка подключения:
jdbc:informix-sqli://database:1541/crm:INFORMIXSERVER=crmlive
Тогда строка подключения sysmaster:
jdbc:informix-sqli://database:1541/sysmaster:INFORMIXSERVER=crmlive
Также обнаружен эта страница вики, содержащий ряд SQL-запросов для работы с таблицами sysmaster.
Выберите ответ, который помог вам больше всего - помог ли вообще какой-либо из них.