Le verrouillage des enregistrements sur une base de données est une procédure normale et nécessaire. Lorsqu'une transaction démarre, le champ est mis à jour est verrouillé de sorte qu'aucun autre utilisateur ne peut mettre à jour le même champ en même temps. Le champ restera bloqué jusqu'à ce que l'utilisateur qui a placé le verrou soit commet ou fait un retour en arrière. Le processus de traitement des dossiers verrouillés est différente dans Oracle, MySQL et SQL Server.
Comment détecter et claire d'un enregistrement Enfermé dans MySQL
MySQL automatiquement gère les blocages et les brise si nécessaire. En tant qu'administrateur de base de données (DBA), vous pouvez définir le innodb_lock_wait_timeout à une valeur inférieure si vous avez besoin pour réduire le temps de verrous de ligne.
Ce paramètre peut être réglé avec en entrant: SET déclaration SESSION:
SET innodb_lock_wait_timeout = 10
Cela peut être fait en MySQL Workbench dans la fenêtre de requête.
Cela peut aussi être fait à partir de la ligne de commande.
Comment détecter et claire d'un enregistrement Enfermé dans Oracle
Dans Oracle, pour effacer un verrouillage d'enregistrement, vous devez d'abord trouver l'ID de session, ou SID. Pour trouver le SID, dans Oracle SQL Developer, tapez la commande suivante:
sélectionnez session_id de dba_dml_locks où nom = 'NAME'-
Ensuite, trouver le numéro de série de la session en utilisant la commande suivante:
sélectionnez sid, serial # à partir de v $ session où sid dans (sélectionnez session_id de dba_dml_locks où nom = 'NAME') -
Lorsque vous avez le numéro de série et le SID, avec des privilèges DBA, vous pouvez tuer la session. La commande de la session de mise à mort ne met pas automatiquement la session d'un utilisateur. Il envoie une commande qui demande la session de l'utilisateur de mettre fin à toute sécurité. commandes de coupe de niveau de base de données vont attendre jusqu'à ce qu'une restauration est terminée.
modifier le système kill session "SID, SERIAL # '-
Comment détecter et clair qu'un document verrouillé dans SQL Server
Dans SQL Server Management Studio, trouver le SID de l'utilisateur qui crée le verrou en exécutant la commande suivante:
EXEC sp_who «actif»
Après avoir localisé l'ID de session qui est à l'origine du blocage, vous pouvez tuer cette session.
KILL -