Nous utilisons un logiciel de BI et une base de données de référentiel installés sur Oracle Enterprise 11gR2.
Certains de ces rapports par lots tenteront d'accéder à une table de base de données qui peut toujours être verrouillée. Comment savoir si une table Oracle est verrouillée ou non? Existe-t-il une instruction SQL qui s'affiche comme les détails de l'historique à analyser?
oracle-11g-r2
locking
business-intelligence
Selahattin
la source
la source
Réponses:
La requête suivante donne des détails sur tous les verrous.
la source
Le script suivant peut être utilisé pour identifier rapidement tous les objets de verrouillage dans votre système Oracle.
Référence: -Oracle Tips par Burleson Consulting http://www.dba-oracle.com/t_find_oracle_locked_objects.htm
la source
Vous pouvez interroger les objets actuellement verrouillés à partir de V $ LOCKED_OBJECT .
Il n'y a pas d'historique pour les verrous cependant, la journalisation de tous les verrous entraînerait une surcharge de performances énorme et beaucoup de données à stocker.
La base de données la plus proche est l'historique de session active V $ ACTIVE_SESSION_HISTORY , DBA_HIST_ACTIVE_SESS_HISTORY (si vous avez la licence appropriée pour l'utiliser), où vous pouvez afficher les sessions de blocage, les instructions et d'autres informations, mais pas les tables verrouillées. Sinon, vous pouvez essayer d'interroger les vues appropriées et enregistrer les données nécessaires avec votre propre script personnalisé.
la source
En utilisant la requête ci-dessous, vous pouvez trouver des verrous sur la table.
Verrous de blocage
la source
Si vous souhaitez libérer le verrou sur un objet verrouillé, alors tuez la session correspondante.
la source
Vous pouvez vérifier verrou de table à partir
v$lock
etdba_objects
vue. La requête ci-dessous vous donnera les détails du verrou.REQUÊTE 2:
Vous pouvez utiliser la requête ci-dessous qui vous donnera plus de détails. Verrou de table
la source