Этот вопрос неоднократно задавался в течение последних нескольких лет на других форумах, связанных с Informix, и нет действительно удовлетворительного ответа.
Вы, вероятно, знакомы с некоторым вариантом:
SELECT hex(i.ti_partnum) partition,
trim(n.dbsname) || ":" || trim(n.owner) || ":" || trim(n.tabname) table,
i.ti_nptotal allocated_pages
FROM sysmaster:systabnames n, sysmaster:systabinfo i
WHERE ( sysmaster:bitval(i.ti_flags, "0x0020") = 1
OR sysmaster:bitval(i.ti_flags, "0x0040") = 1
OR sysmaster:bitval(i.ti_flags, "0x0080") = 1
)
AND i.ti_partnum = n.partnum
AND i.ti_partnum > 0
, который должен быть переписан с использованием записи JOIN как:
SELECT hex(i.ti_partnum) partition,
trim(n.dbsname) || ":" || trim(n.owner) || ":" || trim(n.tabname) table,
i.ti_nptotal allocated_pages
FROM sysmaster:systabnames n
JOIN sysmaster:systabinfo i
ON i.ti_partnum = n.partnum
WHERE ( sysmaster:bitval(i.ti_flags, "0x0020") = 1
OR sysmaster:bitval(i.ti_flags, "0x0040") = 1
OR sysmaster:bitval(i.ti_flags, "0x0080") = 1
)
AND i.ti_partnum > 0
Но это дает только ту информацию, о которой вы уже знаете.
Я нашел методсообщил об использовании onstat -g opn
для обнаружения открытых разделов, которые каким-то образом подключались к сеансам через onstat -u
.К сожалению, onstat -g opn
сообщает о данных, которые недоступны от SMI и sysmaster, поэтому они попадают в категорию «анализ сценариев вывода ON-Stat».Если вы хотите, чтобы я выкопал детали, как они были, из неясного архива учетной записи электронной почты (около 2007 г., IIRC), то оставьте комментарий.