AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi DB Aktion nach bestimmter Zeit sehr langsam.
Thema durchsuchen
Ansicht
Themen-Optionen

DB Aktion nach bestimmter Zeit sehr langsam.

Ein Thema von Jackie1983 · begonnen am 16. Feb 2011 · letzter Beitrag vom 16. Feb 2011
Antwort Antwort
Jackie1983

Registriert seit: 12. Mär 2007
486 Beiträge
 
#1

DB Aktion nach bestimmter Zeit sehr langsam.

  Alt 16. Feb 2011, 07:29
Datenbank: Oracle • Version: 7 • Zugriff über: DOA
Hi,

habe ein kleines Problem bei uns im Programm. Wenn ich das Programm starte sind noch nicht alle Datenbanken, DataSet, geöffnet. Wenn ich eine bestimmte Aktion ausführe, werden alle Datenbanken bei uns im Programm geöffnet.

Bei uns und auch bei den Kunden ist das erneute ausführen der Aktion oben kein Problem. Sofort sehen wir die gewünschte Form.

Nur bei einigen Kunden tut sich dann nichts. Nach 10-20 Sekunden geht es weiter und man bekommt die Form zusehen.
Haben mit dem Oracle Monitor geschaut oben eventuell eine SQL Anweisung hängt, ist nicht der Fall. Mit einem Profiler konnten wir auch nichts sehen, das gleiche mit Windows Botschaften.

Nach einigen malen probieren haben wir ein DataSet geschlossen und dann nochmal die Aktion ausgeführt, siehe da es geht wieder schnell.

Wir können uns aber nicht erklären warum es dann aufeinmal wieder so schnell geht wenn wir eine Datenbank schließen.

Hat von euch eventuell noch jemand ne idee wie ich genau die Ursache rausbekommen? Wir vermuten das eventuell eine DB Komponente sich neu zeichnen muss und die das System ausbremmst.

gruß
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#2

AW: DB Aktion nach bestimmter Zeit sehr langsam.

  Alt 16. Feb 2011, 09:14
Wie sieht es mit dem Arbeitsspeicher aus?

Es kann auch gut sein, daß entsprechende Speicherbereiche in der Zwischenzeit ausgelagert wurden, und bis die nun alle wieder geladen sind, kann es schon einige Zeit dauern.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#3

AW: DB Aktion nach bestimmter Zeit sehr langsam.

  Alt 16. Feb 2011, 09:16
Das Problem ist leider sehr allgemein beschrieben.

Welche Mengengerüste in den Tabellen/Select Ergebnisse?
Welche Nutzerzahlen? 5, 50, 500?
Welche Profile? Oracle Trace?
Welche Windows Botschaften?
DOA von Allroundautomation? Die haben auch einen guten Support/Forum.
Welche Oracle Client Version?
Evtl. mehrere, verschiedene Oracle Client Versionen / Oracle Homes, speziell bei den Problem PC?
(Es gibt hunderte Oracle Produkte, nicht nur die DB)

Kannst Du es auf ein Client-Problem eingrenzen? Du solltest jedenfalls Tests durchführen, die eine Eingrenzung erlauben.
Gilt es für einzelne Clients am gleichen Server, andere laufen ordentlich?
Gruß, Jo
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

AW: DB Aktion nach bestimmter Zeit sehr langsam.

  Alt 16. Feb 2011, 10:25
Wieviele Datenbanken sind es denn?
Oder meinst du in Wirklichkeit Abfragen mit SELECT...?

Um das Problem einzugrenzen, könntest du auch versuchen, innerhalb deiner Anwendung
die Dauer der Abfragen zu protokollieren.
Beim Zugriff über ADO gibt es in der Connection über die Event OnWillExcute und OnExecuteComplete die Möglichkeit die Abfrage mitzulesen.
In meiner Anwendung wird z.B. jede Abfrage, die länger als 2 Sekunden dauert in eine Logdatei geschrieben.
Vielleicht geht das auch bei deinen Komponenten.
Andreas
  Mit Zitat antworten Zitat
Jackie1983

Registriert seit: 12. Mär 2007
486 Beiträge
 
#5

AW: DB Aktion nach bestimmter Zeit sehr langsam.

  Alt 16. Feb 2011, 12:45
Wie sieht es mit dem Arbeitsspeicher aus?
Das sind alles schnelle rechner mit min 2gb ram.

Welche Mengengerüste in den Tabellen/Select Ergebnisse?
Unterschiedlich, bei zwei kunden haben wir das problem, bei einer kleinen und großen umgebung.

Welche Nutzerzahlen? 5, 50, 500?
5 - 50. Es muss aber keiner an der db arbeiten. Das Problem hatten wir auch schon bei keiner server last.

Welche Profile? Oracle Trace?
Welche Windows Botschaften?
Per OracleMonitor, dort sieht man das in der Zeit keine SQL Aktion durchgeführt wird. Anschließend dachten wir das eventuell beim zeichnen der Komponenten ein hänger ist und deswegen haben wir die windows Botschaften aufgezeichnet.

Welche Oracle Client Version?
Evtl. mehrere, verschiedene Oracle Client Versionen / Oracle Homes, speziell bei den Problem PC?
Version 7. Nein nur der DB Client.



Kannst Du es auf ein Client-Problem eingrenzen? Du solltest jedenfalls Tests durchführen, die eine Eingrenzung erlauben.
Gilt es für einzelne Clients am gleichen Server, andere laufen ordentlich?
Ist nur an einem Rechner so, sonst nirgend wo. In der großen Umgebung ist es auf allen Computern. Die haben aber eine 11g DB schnelle Rechner / Server und ein schnelles Netzwerk.

Wieviele Datenbanken sind es denn?
Oder meinst du in Wirklichkeit Abfragen mit SELECT...?
Meinte Tabellen. Sind so an die 150 Tabellen.

...innerhalb deiner Anwendung
die Dauer der Abfragen zu protokollieren.
Beim Zugriff über ADO gibt es in der Connection über die Event OnWillExcute und OnExecuteComplete die Möglichkeit die Abfrage mitzulesen.
Das sehen wir ja im Oracle Monitor dort sehen wir ja das keine SQL Aktion ausgeführt wird.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#6

AW: DB Aktion nach bestimmter Zeit sehr langsam.

  Alt 16. Feb 2011, 13:00
Also das Problem gibt es in einer 7er Umgebung an einem Rechner und in einer 11er Umgebung an allen Rechnern?

Wenn Ihr nachweisbar keine SQL Aktivitäten habt, könnte es ein Netzwerkproblem sein. Wenn bspw. TNSNAMES mit Servernamen verwendet wird und die Namensauflösung hakt (Gründe dafür wären unterschiedliche etc/host Einträge oder lokale/firmenweite DNS Server Angaben, die fehlerhaft / temporär nicht verfügbar sind.

Wie auch immer, wenn das Performance Problem reproduzierbar ist, müsste in diesem Moment auch ein Ping oder TraceRT oder TNSPing auf den Oracle Server fehlschlagen.
Ist aber schon sehr unwahrscheinlich, weil bestimmt auch andere Netzteilnehmer damit zu kämpfen hätten.

Virenscanneraktivitäten?
Gruß, Jo
  Mit Zitat antworten Zitat
Jackie1983

Registriert seit: 12. Mär 2007
486 Beiträge
 
#7

AW: DB Aktion nach bestimmter Zeit sehr langsam.

  Alt 16. Feb 2011, 13:36
Hmmmm. Glauben nicht das es am Netzwerk liegt. Weil sonst hätten die anderen ja auch Probleme.
Wenn wir dann aber ein bestimmtes DataSet schließen, vor der Aktion die so lange dauert, geht diese Aktion wieder schnell.

Wir vermuten aber das es nicht am DataSet liegt sondern noch etwas dahinter steckt nur weis ich nicht wie ich daran kommen könnte.
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#8

AW: DB Aktion nach bestimmter Zeit sehr langsam.

  Alt 16. Feb 2011, 13:37
ich habe keine Ahnung von Oracle, gibt es da Serverseitige Cursors, können da noch Transaktionen offen sein?
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#9

AW: DB Aktion nach bestimmter Zeit sehr langsam.

  Alt 16. Feb 2011, 14:01
Ein offenes Dataset dürfte eigentlich keine Schwierigkeiten machen. Nicht mal ein laufendes Update.

Wenn man explizit Sperren setzt wär es was anderes, aber das wäre ja dann bekannt.

Ich kenn die DOA Komponenten aber nicht.
Wenn man schön brav "read commited " arbeitet, sollte alles in Ordnung sein.

Hier und an vielen anderen Stellen gibt's Rat zu dem Thema Sperren finden.
Gruß, Jo
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz