====== Monitoring tables ======
Ve verzi Firebird 2.1
select * from mon$database;
select * from mon$attachments;
select * from mon$transactions;
select * from mon$statements where mon$state=1;
Dokumentace: [[http://wiki.firebirdsql.org/wiki/index.php?page=Monitoring+tables]]
===== Cancel query =====
Ukončí všechny SQL query kromě aktivního připojení:
delete from mon$statements where mon$attachment_id <> current_connection;
Transactions ani attachments se nedají ukončit. Je tedy možno zabít vytěžující SQL dotaz, ale není možno uvolnit visející licence.
===== Zobrazeni blokujících transakcí =====
select
a.MON$SERVER_PID, cast(a.MON$REMOTE_ADDRESS as varchar(16)) as IP,
t.MON$ATTACHMENT_ID, t.MON$TRANSACTION_ID, t.MON$TIMESTAMP,
s.MON$RECORD_UPDATES, s.MON$RECORD_INSERTS, s.MON$RECORD_DELETES
from MON$TRANSACTIONS t
join MON$RECORD_STATS s on s.MON$STAT_ID=t.MON$STAT_ID
join MON$ATTACHMENTS a on a.MON$ATTACHMENT_ID=t.MON$ATTACHMENT_ID
where t.MON$STATE=1 and s.MON$RECORD_UPDATES+s.MON$RECORD_INSERTS+s.MON$RECORD_DELETES>0
;