recherche
Maisonbase de donnéestutoriel mysqlOracle 查询锁之间的依赖关系

注释: 该SQL可查询多会话,非select的DML操作,同时操作A表引起的锁 ..会话之间的关系~ ....下文有该SQL用到的视图/字段的详细

注释:

  该SQL可查询多会话,非select的DML操作,同时操作A表引起的锁 ..会话之间的关系~

  ....下文有该SQL用到的视图/字段的详细注释..

  ....若想显示其他字段可以按照自己需求增加 .. 


SQL:

SELECT DISTINCT S.SID , /*会话的唯一标识,通常要对某个会话进行分析前,首先就需要获得该会话的SID。*/

                --S.SERIAL# /*会话的序号*/,

                S.STATE /*WAIT STATE~*/ ,

                S.BLOCKING_SESSION ,

                --SESSION IDENTIFIER OF THE BLOCKING SESSION. THIS COLUMN IS VALID ONLY IF BLOCKING_SESSION_STATUS HAS THE VALUE VALID.

                S.BLOCKING_SESSION_STATUS STATUS, /*THIS COLUMN PROVIDES DETAILS ON WHETHER THERE IS A BLOCKING SESSION: */

                ( CASE

                  WHEN SQL_TEXT IS NULL /*LO.REQUEST = 0 */

                  THEN

                  '(SID:' || S.SID || ')会话 SQL已跑完'

                  ELSE

                  '(SID:' || S.SID || ')会话 正执行SQL:' || SQL_.SQL_TEXT

                END ) SQL_TEXT /*执行完的SQL'SQL_TEXT标记SQL已跑完,否则标记SQL'*/ ,

                --SQL_.SQL_FULLTEXT SQL全文本,

                S.USERNAME /*创建该会话的用户名*/ ,

                O.OWNER || '.' || O.OBJECT_NAME 锁的对象, --V$SESSION.ROW_WAIT_OBJ#若操作完的该字段值=-1,,所以关联的V$LOCKED_OBJECT取锁表

                LO.REQUEST  , -- Lock mode in which the process requests the lock 会话申请的锁的模式

                S.EVENT  ,

                S.MACHINE /*客户端的机器名。*/ ,

                S.LOGON_TIME /*登陆时间*/ ,

                'ALTER SYSTEM KILL SESSION ''' || S.SID || ',' || S.SERIAL# || ''';' KILL --若存在锁情况,会用到KILL锁释放~

  FROM V$SESSION S

  LEFT JOIN V$SQL SQL_

    ON SQL_.SQL_ID = S.SQL_ID

  JOIN V$LOCKED_OBJECT L

    ON L.SESSION_ID = S.SID

  JOIN ALL_OBJECTS O

    ON L.OBJECT_ID = O.OBJECT_ID

  JOIN V$LOCK LO

    ON (LO.BLOCK != 0 OR LO.REQUEST != 0 )

    --V$LOCK.block => A value of either 0 or 1, depending on whether or not the lock in question is the blocker

    --V$LOCK.REQUEST => Lock mode in which the process requests the lock:下文有值的意义~ ['0 - none']

  WHERE LO.SID = L.SESSION_ID

  AND LO.SID = S.SID

  ORDER BY S.BLOCKING_SESSION DESC ;
 

注释:

--视图==官网注释

 

--v$session        ==    #REFRN30223


--V$SQL            ==    #REFRN30246


--V$LOCK          ==    #REFRN30121


--V$LOCKED_OBJECT  ==    #REFRN30125


--ALL_OBJECTS      ==    #REFRN20146

 

 

--显示字段==官网注释:

V$SESSION.STATE = Wait state :

 

--WAITING - Session is currently waiting


--WAITED UNKNOWN TIME - Duration of the last wait is unknown; this is the value when the parameter TIMED_STATISTICS is set to false


--WAITED SHORT TIME - Last wait was less than a hundredth of a second


--WAITED KNOWN TIME - Duration of the last wait is specified in the WAIT_TIME column  S.BLOCKING_SESSION ,


--Session identifier of the blocking session. This column is valid only if BLOCKING_SESSION_STATUS has the value VALID.


V$SESSION.BLOCKING_SESSION_STATUS = This column provides details on whether there is a blocking session :

 

--VALID - there is a blocking session, and it is identified in the BLOCKING_INSTANCE and BLOCKING_SESSION columns


--NO HOLDER - there is no session blocking this session


--NOT IN WAIT - this session is not in a wait


--UNKNOWN - the blocking session is unknown


V$LOCK.REQUEST = Lock mode in which the process requests the lock :

 

--0 - none


--1 - null (NULL)


--2 - row-S (SS)


--3 - row-X (SX)


--4 - share (S)


--5 - S/Row-X (SSX)


--6 - exclusive (X)

本文永久更新链接地址:

linux

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Rôle de MySQL: Bases de données dans les applications WebRôle de MySQL: Bases de données dans les applications WebApr 17, 2025 am 12:23 AM

Le rôle principal de MySQL dans les applications Web est de stocker et de gérer les données. 1.MySQL traite efficacement les informations utilisateur, les catalogues de produits, les enregistrements de transaction et autres données. 2. Grâce à SQL Query, les développeurs peuvent extraire des informations de la base de données pour générer du contenu dynamique. 3.MySQL fonctionne basé sur le modèle client-serveur pour assurer une vitesse de requête acceptable.

MySQL: Construire votre première base de donnéesMySQL: Construire votre première base de donnéesApr 17, 2025 am 12:22 AM

Les étapes pour construire une base de données MySQL incluent: 1. Créez une base de données et une table, 2. Insérer des données et 3. Conduisez des requêtes. Tout d'abord, utilisez les instructions CreateDatabase et CreateTable pour créer la base de données et la table, puis utilisez l'instruction InsertInto pour insérer les données, et enfin utilisez l'instruction SELECT pour interroger les données.

MySQL: une approche adaptée aux débutants du stockage de donnéesMySQL: une approche adaptée aux débutants du stockage de donnéesApr 17, 2025 am 12:21 AM

MySQL convient aux débutants car il est facile à utiliser et puissant. 1.MySQL est une base de données relationnelle et utilise SQL pour les opérations CRUD. 2. Il est simple à installer et nécessite la configuration du mot de passe de l'utilisateur racine. 3. Utilisez l'insertion, la mise à jour, la suppression et la sélection pour effectuer des opérations de données. 4. OrderBy, où et jointure peut être utilisé pour des requêtes complexes. 5. Le débogage nécessite de vérifier la syntaxe et d'utiliser Expliquez pour analyser la requête. 6. Les suggestions d'optimisation incluent l'utilisation d'index, le choix du bon type de données et de bonnes habitudes de programmation.

MySQL est-il adapté aux débutants? Évaluation de la courbe d'apprentissageMySQL est-il adapté aux débutants? Évaluation de la courbe d'apprentissageApr 17, 2025 am 12:19 AM

MySQL convient aux débutants car: 1) facile à installer et à configurer, 2) Riches Ressources d'apprentissage, 3) Syntaxe SQL intuitive, 4) Prise en charge de l'outil puissant. Néanmoins, les débutants doivent surmonter des défis tels que la conception de la base de données, l'optimisation des requêtes, la gestion de la sécurité et la sauvegarde des données.

SQL est-il un langage de programmation? Clarifier la terminologieSQL est-il un langage de programmation? Clarifier la terminologieApr 17, 2025 am 12:17 AM

Oui, sqlisaprogrammingNanguages ​​en matière de responsabilité de responsabilité.

Expliquez les propriétés acides (atomicité, cohérence, isolement, durabilité).Expliquez les propriétés acides (atomicité, cohérence, isolement, durabilité).Apr 16, 2025 am 12:20 AM

Les attributs acides comprennent l'atomicité, la cohérence, l'isolement et la durabilité, et sont la pierre angulaire de la conception de la base de données. 1. L'atomicité garantit que la transaction est complètement réussie ou complètement échouée. 2. La cohérence garantit que la base de données reste cohérente avant et après une transaction. 3. L'isolement garantit que les transactions n'interfèrent pas entre elles. 4. La persistance garantit que les données sont enregistrées en permanence après la soumission des transactions.

MySQL: Système de gestion de la base de données vs langage de programmationMySQL: Système de gestion de la base de données vs langage de programmationApr 16, 2025 am 12:19 AM

MySQL n'est pas seulement un système de gestion de base de données (SGBD) mais également étroitement lié aux langages de programmation. 1) En tant que SGBD, MySQL est utilisé pour stocker, organiser et récupérer des données et l'optimisation des index peut améliorer les performances de la requête. 2) La combinaison de SQL avec des langages de programmation, intégrés dans Python, en utilisant des outils ORM tels que SQLALCHEMY peut simplifier les opérations. 3) L'optimisation des performances comprend l'indexation, la requête, la mise en cache, la division des bibliothèques et des tableaux et la gestion des transactions.

MySQL: Gestion des données avec les commandes SQLMySQL: Gestion des données avec les commandes SQLApr 16, 2025 am 12:19 AM

MySQL utilise des commandes SQL pour gérer les données. 1. Les commandes de base incluent sélectionner, insérer, mettre à jour et supprimer. 2. L'utilisation avancée implique des fonctions de jointure, de sous-requête et d'agrégation. 3. Les erreurs courantes incluent les problèmes de syntaxe, de logique et de performances. 4. Les conseils d'optimisation incluent l'utilisation d'index, d'éviter la sélection * et l'utilisation de la limite.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

Adaptateur de serveur SAP NetWeaver pour Eclipse

Adaptateur de serveur SAP NetWeaver pour Eclipse

Intégrez Eclipse au serveur d'applications SAP NetWeaver.

Listes Sec

Listes Sec

SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

VSCode Windows 64 bits Télécharger

VSCode Windows 64 bits Télécharger

Un éditeur IDE gratuit et puissant lancé par Microsoft