ORACLE8i - Sperre beim User

Hallo,
wir haben ORACLE 8i in unserer Firma und programmieren mit Forms6i. Ab und zu haben wir das Problem, dass bei unserem Adressverwaltungssystem Schwerigkeiten beim Speichern von Adressen gibt.
Man klickt auf den Schalter Spechern und es passiert nicht. Die Sanduhr läuft, aber das Speichern kommt nicht zu Ende. Wenn man aber das System abbricht und herausgeht und sich wieder einloggt, sieht man , dass man doch die Adresse gespeichert hat.
Ich verfüge über DBA-Studio. Mit dem Programm kann man die Sitzungen beobachten. Das tat ich auch und habe festgestellt, dass der Fehler mit dem Speichern nur auftaucht, wenn unter Sitzungen ein User den Status „SPERRE“ hat. Normaleweise steht Achtiv oder Inactiv. Heute pasierte es wieder und ich fragte den User, bei dem Sperre als Status steht und er sagte, er hat nichts gemacht. Er war nur eingeloogt , aber keine Transaktionen durchgeführt.
Noch ein schlimmer Folge-Fehler ist es, dass manche andere User eine meldung bekommen, dass „der Datensatz ist reserviert“. Obwohl der Datensatz nur von einem User zum Bearbeiten aufgerufen war.
Hat Jamand eine Idee, wie ich an das Prblem heran gehen kan bzw. es finden kann?
Achso, nach dem ich den User, bei dem Speere als Status steht, darum gebeten habe, die Sitzunge zu beenden (also sich ausloggen), lief alles wieder normal.

Danke für Eure Hinweise.

Hallo Tufan1344,

ich nutze das Tool DBA-Studio nicht, aber es sieht sehr danach aus, dass die Transaction durch eine Abfrage gesperrt wird. Normal ist das nicht schlimm (nach Ende der sperrenden Abfrage geht es weiter), aber was ist, wenn die Abfrage auf eine Resource zugreifen will, die von der wartenden Anfrage genutzt wird (Kurzantwort: Deadlock).

Also wenn Du also beim nächsten Mal wieder eine Sperre siehst notiere Dir alle anderen Abfrage (manche Tools erzählen bei Sperren auch wer wen sperrt).

MfG Georg V.

Hallo,
vielen Dank für die Antwort.
Das ist genau das Problem. Das System wird von fast 200 Leute genutzt wird. Wenn eine die Sperrende Abfrage verursacht, bekommen die andere beim Speichern Fehlermeldung.
Es ist gestern nochmal passiert und ich rief den User an u und fragte ihn, was er für Transaktionen gemacht hat und er sagte mit „nix“. Er sagte, er hat sich eingeloggt, aber nichts gemacht. Nichst im System gesucht und keine Änderung ducrhgeführt.
DB-Studio ist so ein Toll wie Enterpr.-manager. Man kann Tabalspace danir einstellen und verändern und auch noch die Status der Transaktionen beobachten.
Das heisst, man hat die Möglichkeit zwischen ACTIV, INACTIV und SPERRE für alle User, die sich eingeloggt haben.
Ich dachte auch, dass kann ja von einer Transaktion kommt, der nicht zu Ende gelaufen ist , aber laut Info von dem User, er hat nichts gemacht. Nur sich eingeloggt.
Mein Problem ist es, ich weiss es nicht, wie ich das Problem lokalisieren kan. Gibt es dafür Toolls?

Gruss
Guten Tag,

Hallo,
ich habe noch was neues festgestellt. In DBA-Studio sieht man, wann man eine Sitzung geöffnet hat und wann geschloessen hat.
Was ganz intressant ist, gibt es natürlich normaleweise eine Sitzung pro User innerhalb der Datenbank. Bei dem User, der Probleme machte, gab es zwei öffne Sitzungen. Ob das damit zu tun hat?

Gruss

Hallo Tufan1344,

aus Erfahrung: Benutzer machen nie was :smile: ! Bevor Du nicht herausbekommst, welche Statements die Sperre verursachen, hast Du wenig Chancen. Wenn Du Dein Tool nicht dazu überreden kannst, Dir die Sperren anzuzeigen, dann nimm doch einfach SQL (siehe z.B. http://www.held-informatik.de/tipps-tricks/monitorin…). Bitte vorher mit den Ergebnissen üben, bevor einen Anwender an die Gurgel gehst :smile:.

MfG Georg V.