Schreiben bei der Indexerzeugung

Zugriff, Engines, Konvertierung. Von ADS über DBF bis zu SQL.

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Schreiben bei der Indexerzeugung

Beitrag von Manfred »

Hi,

ich habe ein mehr oder weniger dickes Problem, welches ich aber zunächst mit einer Vorfrage zu klären versuche.

Wenn unter Xbase++ ein Index auf NTX Basis aufgebaut wird, wie ist dann der Ablauf? Es wird ja nicht direkt in die Indexdatei geschrieben, oder? Wird der erst im Hauptspeicher erzeugt und dann zurückgeschrieben? Eine Tempdatei im offiziellen Tempverzeichnis wird nicht angelegt.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Beitrag von Tom »

Hallo, Manfred.

Meiner Kenntnis nach wird der Index blockweise im Speicher erzeugt und jeweils unmittelbar durchgeschrieben. Wenn Du genau wissen willst, in welcher Folge Schreib- und Leseoperationen stattfinden, such mal nach einem Tool namens "FILEMON". Das protokolliert haarklein jeder Schreib- und Leseoperation. War, glaube ich, auf einer der letzten c't-CDs enthalten, dürfte aber auch im Netz zu finden sein.

Hier:

http://www.sysinternals.com/utilities/filemon.html
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Aaalso,

das verfluchte Problem ist folgendes:

Ich habe 2 verschiedene Linux Fileserver mit Samba laufen.

beide sind nach Schema F installiert: Cd rein, Yast usw. usw.
Der Unterschied zwischen den beiden ist, das der eine nur 3 normale IDE Platten drin hat, ein mehr oder weniger Billigboard (Elitegroup) und einen 1200er Athlon. Der andere hat ein teures Asus Board drin, 1GB RAM , einen Intel mit 2,8 oder so, 1 IDE Platte und 2 SATA.
Egal, ob auf der IDE oder den SATA, der Index wird bei beiden Rechnern schnell aufgebaut. Sobald ich aber aus einer DB satzweise in eine andere DB schreibe, kackt der ASUS REchner total ab und der Elitgroupe schwirrt munter und fröhlich los, was das Zeugs hält. Ich fasse es nicht. Normales Kopieren zwischen den beiden Servern ist recht schnell, aber sobald es ans Schreiben in DBF geht......

Deshalb habe ich einen Index auf 2x 670.000 Sätze aufbauen lassen und dann parallel im Verzeichnis nachgesehen. Dort tut sich währenddessen nicht viel. Deshalb meine Frage am Anfang.

Es ist alles schwer nachzuvollziehen....
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Beitrag von Jan »

Hasllo Manfred,

ersteinmal: Elitgroup ist OK. Und Asus ist auch nicht mehr das, was es mal war. Sage ich mal so aus eigener Erfahrung, als ansich langjährig überzeugter Asus-Fan.

Zu den Problemen: Kläre mal ab, ob es nicht einen Konflikt im Zusammenspiel wegen SATA und ATA in einem Rechner gibt. Das kann eine Problemursache sein.

Eine andere Sache, die mir nach Deiner fehlerbeschreibung aber unwahrscheinlich erscheint sind die OPLocks. Die müssen unbedingt disbaled sein. Wenn Du eine der neueren Linux-Distributionen (etwa Suse ab 9.x) benutzt kannst Du das auch je freigabe disablen, früher ging das nur für das komplette System. Heute erfordert das nicht einmal mehr einen Neustart, das entsprechende Laufwerk muß nur neu gemounted werden.

Jan
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hallo Jan,
Jan hat geschrieben:Hallo Manfred,

Zu den Problemen: Kläre mal ab, ob es nicht einen Konflikt im Zusammenspiel wegen SATA und ATA in einem Rechner gibt. Das kann eine Problemursache sein.
Hm, ich habe alle Kombinationen ausprobiert. Zwar ohne Neuinstallation, aber ich habe es ausprobiert. Nur die IDE. Nur 1 SATA mit Raid, ohne Raid und dann hintereinander, als 2 einzelne SATA. Es hat nichts gebracht.
Wenn Du eine der neueren Linux-Distributionen (etwa Suse ab 9.x) benutzt kannst Du das auch je freigabe disablen, früher ging das nur für das komplette System. Heute erfordert das nicht einmal mehr einen Neustart, das entsprechende Laufwerk muß nur neu gemounted werden.

Jan
Ich benutze 9.2 und jetzt nach einer Neuinstallation 10.0 auf dem ASUS Board. Das Board ist ein P4P800 deluxe.
Eine andere Sache, die mir nach Deiner fehlerbeschreibung aber unwahrscheinlich erscheint sind die OPLocks. Die müssen unbedingt disbaled sein.
Mit den Oplocks dass muss ich nochmals prüfen. Ich vermute ich habe da wohl etwas nicht so ganz richtig gemacht, bin mir aber auf die schnelle nicht so ganz sicher, ob es das sein könnte. Sie stehen in einer Freigabe auf "NO"

Ich werde später noch etwas dazu sagen....
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Puh,

also nochmal. Das Problem ist teilweise gelöst. Ich hatte hier heute morgen schon etwas geschrieben, hatte es dann aber wieder entfernt, weil ich vollkommen verwirrt war.

Es ist wirklich so, wenn ein SCSI Controller als Dummy drinsteckt im Rechner, dann geht das Ding unter Suse ab wie Schmitz Katze.

Aaaber und jetzt kommt das was den kleinen Mann so traurig macht: Diese Variante scheint derzeit nur unter Suse 9.2 zu klappen. Deshalb hatte ich auch den Beitrag heute morgen wieder gekappt. Ich habe nämlich probeweise Suse 10.0 installiert und das hat nämlich beide Controller, den IDE Onboard und den SCSI im Slot erkannt und beide installiert. Dann war nämlich Schluß mit lustig.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Antworten