Come controllare le serrature in Oracle SQL

December 19

Come controllare le serrature in Oracle SQL


Oracle SQL utilizza vari tipi di serrature software per evitare che lo stesso insieme di dati venga modificato da più di un'istruzione alla volta. Alcune serrature sono impostati automaticamente dal sistema di database; altri possono essere controllati dallo sviluppatore. In alcuni casi, due processi possono entrambi tentare di bloccare lo stesso insieme di dati, causando una condizione deadlock dove né processo può completare. Il sistema di database risolve normalmente stallo condizioni di per sé, ma gli sviluppatori spesso vogliono identificare e risolvere questi problemi. istruzioni SQL multipli possono essere utilizzati per visualizzare i blocchi esistenti nel database.

istruzione

1 Determinare le informazioni di blocco è necessario visualizzare. Informazioni Lock è tenuto in viste di sistema che possono essere interrogati utilizzando istruzioni SELECT di base. Alcuni di questi restituiscono dati diversi.

DBA_LOCK elenca tutte le serrature e chiavistelli attualmente detenuto e in circolazione in un database. Questa opzione visualizza anche informazioni su altre serrature bloccate da una richiesta di blocco individuale.

DBA_LOCK_INTERNAL restituisce le stesse informazioni DBA_LOCK, salvo che le informazioni di blocco non viene restituita.

DBA_DDL_LOCKS e DBA_DML_LOCKS visualizzazione bloccaggio informazioni relative al Data Definition Language (DDL) affermazioni o dichiarazioni lingua modifica dei dati (DML).

2 La connessione al database per eseguire una query, utilizzando una interfaccia a riga di comando o l'applicazione software preferito.

3 Digitare l'istruzione SELECT desiderato per visualizzare le informazioni nella visualizzazione preferito. Per esempio:

SCELTO DA

sys.dba_locks

WHERE [condizione]

Il "dove" dichiarazione è opzionale e può essere utilizzato per restringere le serie di risultati.

4 Eseguire l'istruzione SQL e rivedere i risultati.

Consigli e avvertenze

  • L'esempio nel passo 3 include un asterisco (*) per selezionare tutte le colonne. Spesso è più efficiente per sostituire l'asterisco con l'elenco delle colonne specifiche che si desidera venga restituito.