Hoe om te controleren de sluizen in Oracle SQL

Hoe om te controleren de sluizen in Oracle SQL


Oracle SQL maakt gebruik van verschillende soorten software sloten om dezelfde set van gegevens te voorkomen tegen wijzigingen door meer dan een statement tegelijk. Sommige sloten worden automatisch door de database-systeem in te stellen; andere kunnen worden bestuurd door de ontwikkelaar. In sommige gevallen kunnen twee processen beide proberen dezelfde set gegevens te vergrendelen, waardoor een deadlock waarin noch proces voltooien. De database systeem normaal lost impasse omstandigheden op zijn eigen, maar de ontwikkelaars willen vaak om deze problemen op te sporen en te verhelpen. Meerdere SQL-instructies kunnen worden gebruikt om bestaande sluizen in de database te bekijken.

instructies

1 Bepaal de sluis informatie die u nodig weergegeven. Lock informatie wordt gehouden in uitzicht dat kan worden opgevraagd met behulp van elementaire SELECT-instructies. Sommige van deze terugkeren verschillende data.

DBA_LOCK staan ​​alle vergrendelingen momenteel vastgehouden en uitstaande bedrag in een database. Deze optie geeft ook informatie over andere toetsen worden geblokkeerd door een individueel slot aanvraag.

DBA_LOCK_INTERNAL geeft dezelfde informatie als DBA_LOCK, behalve dat het blokkeren van informatie niet wordt geretourneerd.

DBA_DDL_LOCKS en DBA_DML_LOCKS weergave vergrendelen informatie met betrekking tot data definition language (DDL) verklaringen of gegevens wijzigen taal (DML) statements.

2 Verbinding met de database om een ​​query uit te voeren, met behulp van een command line interface of uw favoriete software applicatie.

3 Typ de gewenste SELECT-instructie om de informatie in de gewenste weergave te bekijken. Bijvoorbeeld:

SELECTEER UIT

sys.dba_locks

WHERE [staat]

De "WAAR" statement is optioneel en kan worden gebruikt om een ​​beperking van uw resultaat sets.

4 Voer de SQL-instructie en bekijk het resultaat.

Hints

  • Het voorbeeld in stap 3 omvat een sterretje (*) alle kolommen te selecteren. Het is vaak efficiënter om de asterisk vervangen door de lijst van specifieke kolommen die u wilt terug.