Ich möchte alle Abfrage finden in Laufzeit mit dem Namen des Benutzers führen diese Abfrage (Benutzername nicht Sitzungs-ID) Was soll ich tun?finden Sie die Abfrage pro Benutzername
Antwort
Aus dem folgenden können Sie die gesamte Liste der Abfragen nach Schema weise.Überprüfen Sie es.
SELECT V.SQL_TEXT,
V.PARSING_SCHEMA_NAME,
V.FIRST_LOAD_TIME,
V.DISK_READS,
V.ROWS_PROCESSED,
V.ELAPSED_TIME,
V.SERVICE
FROM V$SQL V
WHERE TO_DATE(V.FIRST_LOAD_TIME,'YYYY-MM-DD hh24:mi:ss')>(TRUNC(SYSDATE))
AND PARSING_SCHEMA_NAME ='schema_name'
es hat Fehler: Zeichenfolge in Anführungszeichen nicht ordnungsgemäß beendet –
Was ist die Datenbank, die Sie verwenden? – Goutham
i verwenden Orakel .. –
Sie wollen wahrscheinlich so etwas (nicht getestet). Die WHERE-Klausel enthält zwei Bind-Variablen, eine für den Benutzernamen Ihrer App und die andere für den Zeitraum, über den Sie alles überprüfen möchten.
select s.last_active_time, u.username, s.sql_id, c.cpu_time_total, s.sql_text
from v$sql s join all_users u on s.parsing_user_id = u.user_id
join dba_hist_sqlstat c on s.sql_id = c.sql_id
where username = :app_username
and last_active_time >= :from_date;
danke. Die CPU-Zeit, die es zeigt, ist die CPU-Zeit, die diese Abfrage in der letzten Ausführung verwendet hat? oder die Summe aller CPU-Zeiten, die in allen Läufen verwendet werden? und wenn ich CPU-Zeit in einem Zeitraum verwenden möchte, kann ich die Tabelle für spezielle Benutzer löschen und dann meine App laufen und sehen die genaue CPU-Zeit, die App verwenden? –
Ich bin mir nicht sicher (ich mache keine Überwachung/Tuning, ich habe nur etwas angeboten, von dem ich dachte, dass es dir helfen könnte); Wenn ich in Ihrer Position wäre, würde ich die Dokumentation für dba_hist_sqlstat lesen, sie sollte Antworten auf Ihre Fragen haben. – mathguy
danke yo so viel –
Was meinen Sie mit "alle Abfrage finden"? Was brauchen Sie - den vollständigen Text jeder Abfrage? Oder nur die Frage-ID? – mathguy
Volltext der Abfrage –
Ich führe eine Anwendung und ich möchte alle Abfrage finden, dass diese Anwendung ausführen und danach finden, wie viel CPU diese Abfrage verwenden –