Oracle utilise une fonction de verrouillage pour s`assurer que les données ne sont pas mises à jour par plus d`une fonction à la fois de préserver l`intégrité des données. Le verrouillage se produit à plusieurs niveaux, y compris des lignes, des tables et des espaces de table. Le verrouillage au niveau de l`utilisateur, le "commettre" commande apporte des modifications permanentes et supprime le verrou. le "rollback" commande inverse les modifications avant de libérer le verrou. Oracle enregistre les informations de verrouillage dans une table système appelé "v $ lock" qui peut être interrogé à l`aide de la Structured Query Language (SQL).
Revoir la "v $ lock" table Oracle pour obtenir des informations de verrouillage. Utilisez le "sélectionner" commande pour afficher "sid," "type," "lmode" et "demande." Sid se tient pour la session numéro d`identification et identifie la session qui détient le verrou.
sélectionner
sid,
type,
lmode,
demande
de v $ lock;
Joignez-vous à l`Oracle "v $ session" table à la "v $ lock" table pour déterminer qui est le verrouillage de la base de données. Inscrivez-vous par sid (ID de session) pour trouver le nom d`utilisateur.
sélectionner
s.username,
S.sid,
l.type,
l.lmode,
l.request
de v $ lock l, v $ session s
où l.sid = S.sid;
Interrogez la "v $ locked_object" table pour plus d`informations sur ce qui est verrouillé. Joignez-vous à la "dba_objects" table pour le nom et le type. Le nom de l`objet indique ce qui est verrouillé et les colonnes de nom d`utilisateur d`identifier qui a créé la serrure.
sélectionner
oracle_username
os_user_name,
locked_mode,
object_name,
type d`objet
de
v $ locked_object lo, dba_objects do
où
lo.object_id = do.object_id;
Conseils & Avertissements
- Avant l`interrogation pour les serrures, demander l`accès de l`administrateur de base de données (DBA).
- Si une serrure ne libère pas dans un délai acceptable, le DBA peut annuler la session et libérer la ressource. Recyclage de la base de données est rarement nécessaire de libérer un verrou.
- dans le "$ lock" table, les valeurs de type comprennent "TM" pour les serrures de table, "TX" pour des serrures de transaction, "M" pour les serrures de récupération des médias et "ST" pour les serrures de l`espace disque.
- "Lmode" et "demande" sont significatives lorsque leurs valeurs sont comparées ensemble. Une seule peut être égal à zéro ou un à la fois. La colonne qui ne soit pas égal à zéro ou à un indique le mode de verrouillage. modes de verrouillage valides sont un pour null (ou pas de verrouillage), deux pour la part de la ligne (SS), trois pour la ligne exclusive (SX), quatre pour les parts (S), cinq pour la part rangée exclusive (SSX) et six pour exclusif (X ).
- Annulation d`une session pourrait provoquer des erreurs fatales.