Heim  >  Artikel  >  Datenbank  >  So fragen Sie den Verlauf in Oracle ab

So fragen Sie den Verlauf in Oracle ab

PHPz
PHPzOriginal
2023-04-17 16:37:155157Durchsuche

In der Oracle-Datenbank bezieht sich der Abfrageverlauf auf den Verlauf von Abfragevorgängen, einschließlich Abfrageanweisungen, Abfragezeit, Abfrageergebnissen und anderen zugehörigen Informationen. Der Abfrageverlauf ist wichtig für die Optimierung der Datenbankleistung, die Fehlerbehebung und die Bestätigung der Datenintegrität.

Um den Abfrageverlauf aufzuzeichnen, stellt Oracle mehrere Methoden zur Verfügung, die wir im Folgenden einzeln vorstellen.

  1. Verwendung von Oracle Auditing

Oracle Auditing ist ein Mechanismus zum Aufzeichnen von Vorgängen, die in einer Datenbank ausgeführt werden. Wir können den Abfrageverlauf aufzeichnen, indem wir die Prüffunktion aktivieren und Prüfregeln festlegen.

Aktivieren Sie die Audit-Funktion:

ALTER SYSTEM SET audit_trail=DB SCOPE=SPFILE;

Nach dem Einschalten der Audit-Funktion müssen Sie auch Audit-Regeln festlegen. Sie können nach Bedarf mehrere Regeln festlegen. Wir können beispielsweise festlegen, dass alle Datensätze, die mehr als 1.000 Zeilen in allen Tabellen abfragen, geprüft werden müssen.

PRÜFRICHTLINIE ERSTELLEN query_audit AKTIONEN TABELLE AUSWÄHLEN, JEDE TABELLE AUSWÄHLEN, WO Zeilenanzahl > 1000;

Aktivieren Sie die oben genannten Regeln:

AUDITRICHTLINIE query_audit;

Auf diese Weise zeichnet Oracle die Prüfbedingung im Audit auf Protokolldatei Verwandte Informationen.

Prüfungsergebnisse abfragen:

SELECT Benutzername, TO_CHAR(Zeitstempel, 'JJJJ-MM-TT HH24:MI:SS'), Anweisungstyp, SQL-Text, erweiterter_Zeitstempel, Rückgabecode FROM dba_audit_trail WHERE Anweisungstyp = 'SELECT' UND Rückgabecode = 0 ORDER BY Zeitstempel DESC;

Es ist zu beachten, dass bei aktivierter Audit-Funktion das Audit-Protokoll regelmäßig bereinigt werden muss.

  1. Historische Ansichten abfragen

Oracle bietet mehrere Systemansichten, um Benutzern das Abfragen historischer Datensätze zu erleichtern. Unter anderem wird DBA_HIST_SQLTEXT zum Aufzeichnen des Verlaufs von SQL-Anweisungen verwendet.

SQL-Anweisungsverlauf abfragen:

SELECT sql_text, force_matching_signature, plan_hash_value, last_active_time FROM DBA_HIST_SQLTEXT WHERE sql_text LIKE '%SELECT%' ORDER BY last_active_time DESC;

Die obige Abfrageanweisung gibt den gesamten SQL-Anweisungsverlauf zurück, beginnend mit „SELECT“-Datensätzen , sortiert nach der letzten Aktivitätszeit.

  1. Verwenden Sie Tools von Drittanbietern

Zusätzlich zu den von Oracle bereitgestellten Methoden können wir auch GUI-basierte Oracle-Verwaltungstools (wie Toad) verwenden, um historische Datensätze einfach abzufragen.

Über die visuelle Benutzeroberfläche von Toad können wir den SQL-Verlauf einfach anzeigen, filtern und sortieren. Darüber hinaus bietet Toad auch eine Vielzahl von Tools zur Optimierung der Abfrageleistung, wie z. B. SQL-Tuning-Assistent, Ausführungsplananalyse usw.

Man kann sagen, dass die Verwendung von Tools von Drittanbietern die bequemste und intuitivste Möglichkeit ist, den Verlauf abzufragen.

Zusammenfassung:

Der Abfrageverlauf ist für die Verwaltung und Wartung der Oracle-Datenbank sehr wichtig. Oracle bietet eine Vielzahl von Möglichkeiten zum Aufzeichnen des Abfrageverlaufs, einschließlich Prüfmechanismen, Abfrageverlaufsansichten und Tools von Drittanbietern. Benutzer können die am besten geeignete Methode zum Abfragen historischer Datensätze basierend auf dem tatsächlichen Bedarf auswählen. Gleichzeitig müssen Sie auch darauf achten, den Abfrageverlauf regelmäßig zu bereinigen und zu sichern, um Probleme wie die Beanspruchung von zu viel Speicherplatz oder Datenverlust zu vermeiden.

Das obige ist der detaillierte Inhalt vonSo fragen Sie den Verlauf in Oracle ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn