Le contenu de cet article concerne la méthode de vérification et de déverrouillage des tables verrouillées dans Oracle (exemples de code). Les amis dans le besoin peuvent s'y référer.
--Les tables suivantes sont associées
SELECT * FROM v$lock; SELECT * FROM v$sqlarea; SELECT * FROM v$session; SELECT * FROM v$process ; SELECT * FROM v$locked_object; SELECT * FROM all_objects; SELECT * FROM v$session_wait;
--Afficher les tables verrouillées
select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id;
--Afficher quel utilisateur et quel processus sont bloqués
select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = b.sid order by b.logon_time;
--Afficher le processus connecté
SELECT sid, serial#, username, osuser FROM v$session;
- -3. Découvrez le sid, le numéro de série, le nom_utilisateur_os, le nom_machine, le terminal, le type de verrou, le mode de la table verrouillée
SELECT s.sid, s.serial#, s.username, s.schemaname, s.osuser, s.process, s.machine, s.terminal, s.logon_time, l.type FROM v$session s, v$lock l WHERE s.sid = l.sid AND s.username IS NOT NULL ORDER BY sid;
Cette instruction trouvera la base de données en regardant les verrous. généré par toutes les instructions DML dans
, nous pouvons également constater que toute instruction DML génère en fait deux verrous, l'un est un verrou de table et l'autre est un verrou de ligne.
--Tuez le processus sid, numéro de série
alter system kill session '210,11562'; Il doit y avoir des espaces lors de la connexion ici, sinon une erreur sera signalée, telle que comme (modifier la session de suppression du système '210,11562').
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!