|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2005 Messages : 49 ![]() |
Bonjour,
je rencontre depuis quelque temps sur une application des problèmes de verrous. Le caractére de ces verrous est assez aléatoire, il peut se passer une semaine sans verrou et puis il peut y en avoir 2 jours de suite. Je n'arrive à pas déterminer si c'est la configuration de la base Oracle ou le paramétrage de forms qui pourrait être à l'origine. Je suis sous Forms6 sur une base Oracle 9i 9.2.0.6. Les blocs de données de tous les forms ont l'option Mode de verrouillage positionné à Automatique. Sous Toad j'arrive à voir que le paramétre optimizer_mode est à CHOOSE Pour moi, le verrou doit se positionner sur l'enregistrement en insert/update et non sur toute la table. Car une fois un verrou posé sur une table suite à une action d'un utilisateur, les autres utilisateurs sont bloqués. Faut il modifier le mode de verrouillage sous Forms, est ce le paramétrage de la base ? D'avance merci pour votre aide. |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Inscription : mai 2003 Messages : 6 534 ![]() |
Forms ne verrouille pas la table, mais seulement la ligne en cours de modification. Bien sur, un traitement modifiant chaque ligne du bloc pourrait, locker toute les lignes de la table, mais il ne s'agira quand même pas d'un verrou de table.
N'avez vous pas des traitements, interfaces, procédures d'administration qui tenteraient de verrouiller vos tables?
__________________
Rédacteur Oracle (Oracle ACE) Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche Je ne réponds pas aux questions techniques par MP Blogs: Forms-PL/SQL-J2EE - Forms Java Beans |
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2005 Messages : 49 ![]() |
A ma connaissance non. Je vais creuser de ce côté pour voir.
Concernant mon probléme, petites précisions les utilisateurs ne travaillent jamais sur les même enregistrements. Je ne vois pas du coup, pourquoi l'utilisateur suivant, qui fait une mise à jour sur la même table, est bloqué. |
|
|
00
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2005 Messages : 49 ![]() |
Les problémes de verrous sont dûs à des lock de session, c'est la session utilisateur qui en serait à l'origine.
Quelles peuvent être les sources de ce type de verrous ? Est ce que le fait de ne pas validé de suite le message "transaction terminée - opération enregistrée" ( apparait dans une boîte de dialogue en fin de commit), peut être une cause. Merci |
|
|
00
|
|
|
#5 |
![]() ![]() ![]() Inscription : mai 2003 Messages : 6 534 ![]() |
Absolument pas. Le commit a été effectué en base et les verous sont levés, que vous validiez cette boite de dialoge ou pas.
__________________
Rédacteur Oracle (Oracle ACE) Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche Je ne réponds pas aux questions techniques par MP Blogs: Forms-PL/SQL-J2EE - Forms Java Beans |
|
|
00
|
|
|
#6 |
|
Candidat au titre de Membre du Club
![]() Inscription : septembre 2007 Messages : 42 ![]() |
Vous pouvez regarder du côté des tables avec des Foreign Key sans index dessus.
J'ai eu le cas justement avec une application Forms. Des problèmes très aléatoires, impossible à reproduire, mais au final c'était bien du à cela. Pour information, vous pouvez vous référer au fil de discussion concernant les Foreign Key sans index : http://www.developpez.net/forums/sho...d.php?t=451265 |
|
|
00
|
|
|
#7 | |||
|
Membre éclairé
![]() Inscription : décembre 2004 Messages : 349 ![]() |
FYI
investigation du coté des BITMAPS INDEXS .... Citation:
Citation:
Citation:
|
|||
|
|
00
|
|
|
#8 |
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2005 Messages : 49 ![]() |
Bonjour,
Tout d'abord, c'ets de saison, Bonne année et meilleur voeux à tous Je reviens sur le problème de verrous dans mon application : un utilisateur appel un écran, celui contient un bloc basé qui retourne les informations demandées. L'utilisateur effectue des modifications sur les données : changement de date ou de code ; mais il ne valide pas ses modifications (car il ne veut pas) et reste sur l'écran. Ceci à déclencher un verrou (Type ROW-X(SX)) mais semble-t-il sur toute la table (??) et bloquer d'autres utilisateurs qui voulaient effectuer une modification sur cette table mais pas sur le même enregistrement. Ce cas semble se produire lorsque l'utilisateur reste un certain temps (non meseuré) en modification sans validation sur l'écran. J'ai tenté de reproduire le cas en restant un quart d'heure et en simulant des modifications sur la même table par d'autres transactions et sessions, sans arriver à la même conséquence Avez vous une explication sur ce cas. J'espére avoir été clair. |
|
|
00
|
|
|
#9 |
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2005 Messages : 49 ![]() |
La persistence de verrous sur table, peut elle être dû à un problème de communication entre le serveur applicatif Forms et la base données.
En effet, un utilisateur valide une transaction, à son niveau tout se passe bien, mais au niveau de la base le verrou persiste et bloque les utilisateurs suivant qui veulent faire une mise à jour. Après, cela rejoint la question de mon message précedent, pourquoi la table est verrouillée (ou semble l'être) alors que la transaction ne concerne qu'un enregistrement (sauf particularité que je ne connais pas). |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com