Der Assistent für die Datenbankprotokollierung kann verwendet werden, um eine Sitzung für die Diagnoseprotokollierung zu erstellen. Die Protokollierungssitzung erfasst die Deadlock-Daten.
In der praktischen Einführung in die Anwendungsprofilerstellung werden Protokollierungsinformationen in der Testdatenbank (app_profiling.db) gespeichert, bei der es sich um die in den praktischen Einführungen verwendete Datenbank handelt. Wenn Sie allerdings das Profil einer Datenbank mit großer Arbeitslast erstellen, ist es empfehlenswert, Protokollierungsdaten in einer separaten Datenbank zu speichern, um Auswirkungen auf die Performance der Produktionsdatenbank zu vermeiden.
In Sybase Central wählen Sie Modus » Anwendungsprofil.
Wenn der Assistent für die Anwendungsprofilerstellung eingeblendet wird, klicken Sie auf Abbrechen.
Starten Sie den Assistenten für die Datenbankprotokollierung wie folgt:
Im linken Fensterausschnitt klicken Sie auf app_profiling - DBA und wählen Sie Datei » Protokollierung.
Auf der Seite Willkommen klicken Sie auf Weiter.
Auf der Seite Protokollierungsdetailtiefe wählen Sie Hohe Detaillierung (bei kurzfristiger, intensiver Überwachung empfohlen) und klicken Sie dann auf Weiter.
Auf der Seite Protokollierungsstufen bearbeiten klicken Sie auf Weiter.
Auf der Seite Externe Datenbank erstellen wählen Sie Keine neue Datenbank erstellen. Vorhandene Datenbank soll benutzt werden und klicken Sie dann auf Weiter.
Auf der Seite Protokollierung starten wählen Sie Protokollierungsdaten in dieser Datenbank speichern.
Um für die Menge von gespeicherten Protokollierungsdaten keine Obergrenze zu setzen, wählen Sie Keine Beschränkung und klicken dann auf Fertig stellen.
Erstellen Sie den Deadlock wie folgt:
Im linken Fensterausschnitt klicken Sie auf app_profiling - DBA und wählen Sie dann Datei » Interactive SQL öffnen.
Interactive SQL wird gestartet und stellt eine Verbindung mit der Datenbank app_profiling.db her.
Wiederholen Sie den vorherigen Schritt, um ein zweites Interactive SQL-Fenster zu öffnen.
Führen Sie im ersten Interactive SQL-Fenster die folgende SQL-Anweisung aus:
CALL "DBA"."proc_deadlock1"(); |
Führen Sie im zweiten Interactive SQL Fenster innerhalb von 20 Sekunden nach der Ausführung der SQL-Anweisung im ersten Interactive SQL-Fenster die folgende SQL-Anweisung aus:
CALL "DBA"."proc_deadlock2"(); |
Nach ein paar Augenblicken wird ein ISQL-Fehler-Fenster angezeigt, das angibt, dass ein Deadlock erkannt wurde.
Der Deadlock ist aufgetreten, da proc_deadlock1 Zugriff auf die Tabelle "deadlock2" benötigt, die von proc_deadlock2 gesperrt wurde. Gleichzeitig benötigt proc_deadlock2 Zugriff auf die Tabelle "deadlock1", die von proc_deadlock1 gesperrt wurde.
Klicken Sie auf OK.
SQL Anywhere hat die Deadlock-Vorgänge gestoppt und Sie können die Interactive SQL-Fenster schließen.
Stoppen Sie in Sybase Central die Protokollierungssitzung, indem Sie im linken Fensterausschnitt auf die app_profiling - DBA-Verbindung klicken, und wählen Sie dann Datei » Protokollierung » Protokollierung mit Speichern stoppen.
Klicken Sie auf diesen Link, um mit der praktischen Einführung fortzufahren: Lektion 3: Daten blockierter Verbindungen überprüfen.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |