? Blocages sont frustrants . Si vous demandez l'accès à des informations spécifiques sur votre ordinateur, par exemple , l'ordinateur ne peut pas vous fournir de l'accès lorsqu'un blocage se produit . A blocages se produisent dans Oracle lors de deux sessions tentent d'utiliser la même ressource . Le code d'erreur " ORA- 00060 " signale une impasse dans Oracle. Les quatre principaux types de blocages dans Oracle sont d'ordre général , transaction, index bitmap autonome et clé étrangère non indexé . Deadlock général
de blocage général survient dans Oracle lors de deux sessions indépendantes doivent accéder à la même ressource au même moment . Chaque session attend que l'autre session de libérer la ressource. En fin de compte , Oracle choisit arbitrairement l'une des séances et produit une erreur . Malheureusement, même si une session, reçoit une erreur , il utilise la ressource reste verrouillé . Afin d'éviter ce genre d'impasse, toutes Oracle codage doit être rédigé afin que les processus se produisent toujours dans le même ordre . En d'autres termes , les utilisateurs doivent coder tous les processus pour commencer avec la même ressource et de passer par les autres ressources dans l'ordre numérique .
Autonome Transaction
Une transaction autonome est un session qui est programmé pour activer une deuxième session en elle-même . Blocages se produisent dans une transaction autonome lors de la session secondaire et la session de parent en compétition pour les mêmes ressources. Comme dans une impasse générale , deux sessions attendent la libération d'une ressource avant de libérer leur ressource actuelle . Oracle génère alors un code d'erreur de blocage , mais une fois de plus les ressources restent verrouillées . Comme dans une impasse générale, un blocage de la transaction autonome est le résultat de pratiques de codage incompatibles . En s'assurant que tous les processus commencent à une ressource donnée et les progrès dans l'ordre, une impasse autonome ne se produira pas .
Bitmap Index
Un index bitmap est utilisé lorsque les données sont stockées et peu de manipulation de données se produit très . Un blocage de l'index bitmap se produit lorsque la manipulation des données est tentée sur des lignes de table qui sont utilisés par l' index de bitmap. L'impasse est causée par blocs d'index étant en cours d'utilisation lors de la manipulation des données est tentée. Malheureusement, ce genre d'impasse est presque inévitable . Certains manipulation de données sera toujours nécessaire pour un index bitmap, même si c'est juste pour mettre à jour l'index. La nécessité pour la manipulation des données rend ce type d' impasse difficile à éviter.
UnIndexed Clé étrangère
Une clé étrangère non indexé est une cause fréquente d'impasse dans Oracle , mais aussi est une cause facilement fixe. Le processus de cette impasse implique un enregistrement parent essayant d'accéder à l'information dans un sous-table . Une table sous-table , ou enfant , est une table dans le dossier parent d'origine . La clé étrangère non indexé est dans la table enfant . Dans une tentative pour effectuer la maintenance, Oracle verrouille la table enfant ensemble , ce qui augmente la possibilité d'un blocage de se produire. La meilleure façon d'assurer ce genre de blocage ne se produit pas est d'indexer toutes les touches .