Heim >Datenbank >Oracle >So fragen Sie einen Deadlock in Oracle ab

So fragen Sie einen Deadlock in Oracle ab

WBOY
WBOYOriginal
2022-02-17 17:13:1832606Durchsuche

In Oracle können Sie den DBA-Benutzer verwenden, um die Anweisung „Benutzername, Lockwait, Status, Maschine, Programm aus v$session, wo Sid in auswählt“ auszuführen, um den Deadlock abzufragen. Wenn ein Ergebnis vorliegt, wird der Deadlock angezeigt .

So fragen Sie einen Deadlock in Oracle ab

Die Betriebsumgebung dieses Tutorials: Windows 10-System, Oracle 11g-Version, Dell G3-Computer.

So fragen Sie Deadlocks in Oracle ab

1. Überprüfen Sie Deadlocks

1) Verwenden Sie den DBA-Benutzer, um die folgende Anweisung auszuführen: Sackgasse? Turm. Feldbeschreibung:

Benutzername: Der von der Deadlock-Anweisung verwendete Datenbankbenutzer.

Lockwait: Der Status des Deadlocks. Wenn Inhalt vorhanden ist, bedeutet dies, dass er Deadlock ist.

Status: Status, aktiv bedeutet Deadlock

Machine: Die Maschine, auf der sich die Deadlock-Anweisung befindet.

Programm: Aus welcher Anwendung stammen die blockierten Anweisungen hauptsächlich?

2) Verwenden Sie den DBA-Benutzer, um die folgenden Anweisungen auszuführen, um die blockierten Anweisungen anzuzeigen.

select username,lockwait,status,machine,program from v$session where sid in
(select session_id from v$locked_object)

2. Lösung für den Deadlock

1) Den blockierten Prozess finden:

select sql_text from v$sql where hash_value in
(select sql_hash_value from v$session where sid in
(select session_id from v$locked_object))

2) Den blockierten Prozess beenden: alter system kill session 'sid,serial#'; (wobei sid=l. session_id)

3) Wenn es immer noch nicht gelöst werden kann:

SELECT s.username,l.OBJECT_ID,l.SESSION_ID,s.SERIAL#,
l.ORACLE_USERNAME,l.OS_USER_NAME,l.PROCESS
FROM V$LOCKED_OBJECT l,V$SESSION S WHERE l.SESSION_ID=S.SID;

Ersetzen Sie die Seite durch die Deadlock-Seite:

Empfohlenes Tutorial: „

Oracle Video Tutorial

Das obige ist der detaillierte Inhalt vonSo fragen Sie einen Deadlock 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