sql >> Database teknologi >  >> RDS >> Oracle

Hvordan kan jeg identificere de rækker, der er involveret i en Oracle-deadlock?

Jeg fandt svaret:

  1. Nummeret efter dictionary objn kan bruges til at vælge ud af DBA_objects.

    SELECT owner, object_name, object_type 
    FROM dba_objects 
    WHERE object_id = 217431;
    
  2. Når tabellen er identificeret, kan rækken findes ved hjælp af rækkevidden:

    SELECT * 
    FROM table_found_above 
    WHERE rowid = 'AAA1FXAAxAAASfLAAn';
    

Hvis sporingsfilen siger, at der ikke er nogen "Rows waited on" vil denne teknik ikke fungere. Problemet kan skyldes en uindekseret fremmednøgle.




  1. MYSQL - Sådan får du ikke-aggregerede kolonner fra en tabel baseret på en aggregeret kolonne

  2. Brug APP_NAME() til at få applikationsnavnet på den aktuelle session i SQL Server

  3. Hvordan sletter jeg en af ​​mine to dublerede rækker af data i Postgres?

  4. MySQL &PHP Parameter 1 som ressource