Wie können Sie herausfinden, welche Abfragen auf dem Informix-Datenbankserver seit langem ausgeführt werden? Ich habe eine Abfrage, die die CPU verbraucht und herausfinden will, was die Abfrage ist.Suchen Sie lange laufende Abfrage auf Informix?
Antwort
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
Credit: SQL to View Long Running Queries
SYSIBMADM schlägt eher vor, dass dies eine DB2-Abfrage und keine Informix-Abfrage ist. –
Das ist, weil die vorgeschlagene Lösung für DB2 ist, nicht Informix.
Die sysmaster-Datenbank (eine virtuelle relationale Datenbank von Informix Shared Memory) enthält wahrscheinlich die gesuchten Informationen. Diese Seiten könnten Sie helfen loszulegen:
Die erste Verbindung ist unterbrochen. Kennst du einen Spiegel? – grom
Wenn die Abfrage gerade läuft die onstat -g Akt -r 1 Ausgang beobachten und schauen nach Artikeln mit einem rstcb, die nicht 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
ist
In diesem Beispiel wird die dritte Zeile ausgeführt. Wenn Sie mehrere Zeilen mit rstcb-Werten ungleich Null haben, dann achten Sie auf ein bisschen nach demjenigen, der immer oder fast immer da ist. Das ist wahrscheinlich die Sitzung, nach der Sie suchen.
c0000000d7afcf20 ist die Adresse, an der wir in diesem Beispiel interessiert sind.
Verwenden Sie onstat -u | grep c0000000d7afcf20 die Sitzung
c0000000d7afcf20 Y--P--- 22887 informix - c0000000d5b0abd0 0 5 14060 3811
Dies gibt Ihnen die Session-ID, die in unserem Beispiel zu finden, ist . Verwenden Sie onstat -g ses 22887 , um Informationen über diese Sitzung aufzulisten. In meinem Beispiel handelt es sich um eine Systemsitzung, so dass in der onstat -g ses-Ausgabe nichts zu sehen ist.
Okay, ich brauchte ein wenig um herauszufinden, wie man sich mit sysmaster verbindet. Die JDBC-Verbindungszeichenfolge ist:
jdbc: Informix-sqli: //dbserver.local: 1526/SysMaster: INFORMIXSERVER = mydatabase
Wo die Portnummer ist das gleiche wie wenn Sie eine Verbindung zu die eigentliche Datenbank.Das heißt, wenn die Verbindungszeichenfolge ist:
jdbc: Informix-sqli: // Datenbank: 1541/crm: INFORMIXSERVER = crmlive
Dann wird die SysMaster Verbindungszeichenfolge ist:
jdbc: Informix-sqli: // Datenbank: 1541/SysMaster: INFORMIXSERVER = crmlive
auch this wiki page gefunden, die eine Zahl enthält von SQL-Abfragen für die Ausführung in den sysmaster -Tabellen.
- 1. Wie Sie lange laufende Skripte reparieren?
- 2. Informix Abfrage langsam
- 3. Django lange laufende Prozess Datenbankverbindung
- 4. Sicher stoppen lange laufende Aufgabe
- 5. TPL Parallel.Für lange laufende Aufgaben
- 6. Blätter und lange laufende Aufgaben
- 7. So stoppen Sie eine laufende MySQL-Abfrage
- 8. setInterval und lange laufende Funktionen
- 9. .Net lange laufende geplante Codeausführung
- 10. informix Update-Abfrage mit Joins
- 11. Gevent Profiler für lange laufende Code
- 12. ASP.NET HTTPHandlers und lange laufende Prozesse
- 13. Langsam laufende Abfrage
- 14. Erkennen fehlender Antworten auf lange laufende HTTP (SOAP) Anfragen
- 15. So starten Sie lange laufende Hintergrundaufgabe im Android-Dienst
- 16. Multi-Threading, HttpContext, lange laufende Aufgabe?
- 17. Statische Variablen und lange laufende Thread auf IIS 7.5
- 18. Eine lange laufende Regex-Übereinstimmung abbrechen?
- 19. Alternativen zu PHP Cron Job für lange laufende Jobs
- 20. Zeilennummern für eine Abfrage in Informix
- 21. Lange Abfrage mit NSURLConnection
- 22. Lange Abfrage mit Datenbankdaten?
- 23. Konvertieren einer MS SQL-Abfrage in eine Informix-Abfrage
- 24. Suchen lange (> 255) Dateinamen
- 25. NServiceBus - Lange laufende Handler verhindert Queue Verarbeitung von anderen Nachrichten
- 26. Name/Benutzer sperrt auf Informix
- 27. Wie kann ich eine aktuell lange laufende Abfrage in Neo4j beenden?
- 28. Lange Abfrage in Yesod
- 29. Eine lange Abfrage Tuning
- 30. Wirklich lange Abfrage
Bitte wählen Sie die Antwort aus, die Ihnen am meisten geholfen hat - falls eine davon überhaupt geholfen hat. –
Ich habe keine Antwort gewählt, weil, obwohl zwei von ihnen geholfen haben, keiner von beiden vollständig ist. – grom