Autor Thema: Defekte Datenbank/Ansicht/Dokumente: Eintrag im Index nicht gefunden [gelöst]  (Gelesen 11777 mal)

Mitch

  • Gast
Guten Morgen zusammen,

ich habe hier ein Problem mit einer Datenbank (Oder der Ansicht? Oder den Dokumenten?).

Wenn ich eine bestimmte Ansicht öffne, erscheint der "Die Ansicht wird aktualisiert, Sie können solange in anderen Fenstern weiterarbeiten"-Hinweis. Dann aber steht dort plötzlich (nach < 10 Sekunden) "Das Öffnen der Ansicht wurde abgebrochen. Um diese Ansicht anzuzeigen, müssen Sie sie schließen und erneut öffnen."

Das bringt aber nichts, da danach das gleiche passiert. Neustart Notes / Rechner / Server wurde gemacht. Cache.ndk wurde gelöscht. Auf anderen Rechnern mit Clients anderer Versionen besteht das gleiche Problem.

Öffne ich die Ansicht im Designer und aktualisiere da, erhalte ich eine Msgbox "Eintrag im Index nicht gefunden". Versuche ich eine "Vorschau in Notes" erhalte ich "Serverfehler: Eintrag im Index nicht gefunden".

In der Schablone kann ich die Ansicht ohne Fehler öffnen, in anderen Datenbanken mit der selben Schablone ebenfalls.

Ich bekomme das Problem einfach nicht in den Griff.

Bisher habe ich versucht:

  • Aktualisieren mit Verwerfen des Indexes.
  • Ansichtenindex über den Admin-Client löschen.
  • Ansichtenindex löschen. Ansicht im Designer löschen und aus der Schablone neu hinein kopieren.
  • Fixup über die Datenbank.
  • Aufspielen einer völlig leeren Schablone, dann Fixup, dann wieder die richtige Schablone drauf (immer via Schablone ersetzen).
  • Updall -R auf die Datenbank.
  • Ansicht gelöscht und direkt in der Datenbank neu erstellt (also nicht von irgendwo her kopiert).
  • Die Datenbank wüst beschimpft.

Leider hat nichts davon mein Problem lösen können.

Ich habe eine weitere, sehr ähnliche Ansicht in dieser Datenbank die funktioniert. Beide Ansichten haben identische Spaltenformeln, aber minimal unterschiedliche Select-Statements:

Funktionierende Ansicht: Select Type = "Blah" & Status = "90"

Nicht funktionierende Ansicht: Select Type = "Blah" & Status != "90"

Ändere ich das Select der nicht funktionierenden Ansicht ab, so dass es der funktionierenden Ansicht entspricht, dann kann ich sie auch öffnen. Ändere ich es wieder zurück, dann nicht mehr.

Da diese Formel grundsätzlich funktioniert (in anderen DBs), muss das Problem doch irgendwie in der Datenbank liegen.

Hat hier jemand Ideen, was ich noch ausprobieren könnte?

Gruß,

Mitch
« Letzte Änderung: 28.02.11 - 09:46:25 von Mitch »

Offline oxyd21

  • Senior Mitglied
  • ****
  • Beiträge: 371
  • Geschlecht: Männlich
 :o zuviel Text! Hab's nur überflogen.

Gleiches Verhalten bei <>  ?

Mitch

  • Gast

Offline oxyd21

  • Senior Mitglied
  • ****
  • Beiträge: 371
  • Geschlecht: Männlich
in ner replik auch? wie schaut's mit ner kopie aus? welche ods?

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
ist da ein Dokument drin, das die 32k-Grenze verletzt?
mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Blau gefragt:

Wie sieht es mit Deletion Stubs aus?
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Grundsätzlich glaube ich auch, dass der Fehler von einem Dokument ausgelöst wird.

Ich würde mir eine Kopie mit Dokumenten der Datenbank erstellen und prüfen, ob der Fehler wieder vorkommt (wird er ...).

Dann würde ich eine neue Ansicht mit der gleichen Selektionsformel, aber nur einer simplen Spalte erstellen.
Lässt sich diese Ansicht dann öffnen, liegt die Ursache in den Spalten der Ansicht (oder besser in einer Kombination aus Dokumentinhalten und Spaltenformeln). Wenn nicht, wirds schwieriger (abwarten ...)

Dann würde ich die Selektionsformel der Original-Ansicht so ändern, dass sie sich öffnen lässt (z.B. auch abhängig vom Erstelldatum). Alle Dokumente der Ansicht würde ich dann löschen und den Vorgang so lange wiederholen, bis nur noch die Dokumente (oder das Dokument) übrig sind, die den Fehler verursachen. Die findest Du dann in der simplen Ansichts-Kopie der DB.

Falls die Dokumente sich in keiner Ansicht anzeigen lassen, wird es schwieriger, sie zu identifizieren, aber soweit sind wir noch nicht.

Ich hoffe, ich habe mich einigermaßen verständlich ausdrücken können.

Edit: Natürlich löschst Du nur in der Kopie der Datenbank
« Letzte Änderung: 25.02.11 - 11:51:19 von Peter Klett »

Mitch

  • Gast
Hallo ihr,

vielen Dank für die Antworten.

ist da ein Dokument drin, das die 32k-Grenze verletzt?

Ich vermute nein, da die Ansicht ohne die Status-Einschränkung aufgeht.

in ner replik auch? wie schaut's mit ner kopie aus? welche ods?

Ich habe eine Kopie, in der ich das gleiche Problem habe. Allerdings kann es sein, dass das Problem schon vorm Erstellen der Kopie da war. Für eine neue Kopie/Replik habe ich zur Zeit keinen Speicherplatz (~40GB große DB), Abhilfe wurde mir aber schon versprochen. ;)
ODS = Fileformat? Dann R8 (48:0).

Blau gefragt:

Wie sieht es mit Deletion Stubs aus?
Öh. Sollten minimal sein. Ist eine Kopie einer Kunden-DB frisch nach dem Aufsetzen und Altdatenimport.

@Peter: Werde ich ausprobieren, wenn ich mehr Speicherplatz bekommen habe.

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Es wird an der Größe der Datenbank liegen. Wenn in der Datenbank alle Kunden enthalten sind und mit der Selektionsformel Status != 90 fast alle Dokumente gezeigt werden sollen, kann das schon der Unterschied sein, weshalb die Ansicht sich nicht öffnen lässt (Status = 90 sind dann deutlich weniger Dokumente). Auch in den Ansichten gibt es Größenbeschränkungen, die bei 40 GB-Datenbanken gerne überschritten werden können.

Meine Vermutung, dass es an nur einem Dokument oder wenigen Dokumenten liegt, nehme ich damit zurück. Wenn Du eine Kopie der Datenbank erstellst und die Hälfte der Dokumente gelöscht hast, wird es höchst wahrscheinlich problemlos funktionieren. Ich würde mich daher auf den Aufbau der Ansicht konzentrieren. Weniger Spalten, Sortierspalten minimieren usw. Generell solltest Du überlegen, wozu Du die Datenbank verwenden willst (z.B. nur zur Datenhaltung oder zur aktiven Arbeit innerhalb der DB) und ob es nicht eine sinnvolle Möglichkeit gibt, die Datenbank in mehrere aufzuteilen. Irgendwann wirst Du mit einer solchen Datenbank an die Grenzen stoßen, und dann wäre eine Skalierbarkeit eine feine Sache ...

Ein Hinweis über die Datenbankgröße und die Anzahl der Dokumente wäre hilfreich gewesen.

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
ist da ein Dokument drin, das die 32k-Grenze verletzt?

Ich vermute nein, da die Ansicht ohne die Status-Einschränkung aufgeht.

Du meinst, ohne Prüfung des Status geht die Ansicht auf? Also nur mit Type = "Blah"? Oder meintest Du, nur mit dem einen Status? Dann wäre es aber kein Widerspruch, wenn das 32 k-Dokument einen Status != 90 hat, wird es ja nicht in der funktionierenden Ansicht angezeigt.  :-:

Mitch

  • Gast
ist da ein Dokument drin, das die 32k-Grenze verletzt?

Ich vermute nein, da die Ansicht ohne die Status-Einschränkung aufgeht.

Du meinst, ohne Prüfung des Status geht die Ansicht auf? Also nur mit Type = "Blah"? Oder meintest Du, nur mit dem einen Status? Dann wäre es aber kein Widerspruch, wenn das 32 k-Dokument einen Status != 90 hat, wird es ja nicht in der funktionierenden Ansicht angezeigt.  :-:

Nur mit Type Einschränkung geht sie auf.

Es ist außerdem eine Lookup-Ansicht, die hat nur zwei simple Spalten: @Name([Abbreviate]; Feldname) sowie eine weitere auf die Form. Nichts kompliziertes.

Sie hat auch mal in dieser großen DB funktioniert. Nach einem Schablonenwechsel dann aber nicht mehr. Daher bin ich zuerst von einer kaputten Ansicht ausgegangen. Jetzt befürchte ich eher irgendwas in Richtung kaputter Datenstruktur.

Wenn ich Platz habe, dann werde ich mal Fixup + Compact mit Reduzierung der Größe via Kopie testen, vielleicht habe ich damit ja Glück.


Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Und wenn Du die Ansicht in der Datenbank löschst und danach die Schablone wieder drüber legst?

Edit: Ich sollte erst lesen, steht im ersten Post schon drin

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Vermutlich hat die Datenbank wirklich einen Schlag, aber wenn es doch am Status-Feld in irgendeinem Dokument liegt?

Erstell doch mal eine Ansicht, in der die Dokumente nach dem Status-Feld kategorisiert werden, idealerweise so, dass Du auch den Typ des Status-Feldes mit ausgibst (Text, Zahl usw.).

Oder Du schreibst in die Selektionsformel

Select Type = "Blah" & @Text (Status) != "90"

um falsche Datentypen zu korrigieren (was "normalerweise" kein Problem ist, aber "normalerweise" funktioniert die Ansicht ja auch ..)


Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Könnte es sein, dass auf dem "defekten" Server ein Dokument in der Ansicht ist, welches zwar den Key hat, du aber nicht lesen darfst, weil du/der Server im Leserfeld nicht drin stehst?

Ggf: DB lokal replizieren, DB am Server löschen, Anschließend Lokale DB als Replik an ursprünglicher Stelle am Server zurückreplizieren
(Es sind dann aber nur noch Dokumente in der DB in denen du auch Leser bist!)

Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Mitch

  • Gast
Hallo ihr,

vielen Dank für eure Hilfen.

Nur mit Type Einschränkung geht sie auf.

Da habe ich gelogen: Eine andere Ansicht mit den Dokumenten des Typs (und ohne die Statuseinschränkung) geht auf, und dabei hat die sogar viel mehr Spalten und viel "kompliziertere" Formeln.

Der Unterschied:

Auf dem Reiter "Erweitert" der Eigenschaften der problematischen Ansicht war die Option "ODBC Zugriff - Eindeutige Schlüssel im Index erzeugen" aktiviert. Scheinbar hat diese bei knapp über 40.000 Dokumenten einfach aufgegeben und den Fehler verursacht.  ::)

Jetzt läuft alles wieder.

Also danke nochmal und bis zum nächsten Mal.  ;)

Gruß,

Mitch

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Das dürfte noch nicht mal an der Menge der Dokumente liegen, denn es reicht ein einziger Replizier- oder Speicherkonflikt, und eine Ansicht mit "eindeutigen ODBC-Schlüsseln" kommt ins Schleudern.

Siehe beispielsweise auch hier: http://atnotes.de/index.php/topic,41778.0.html

Bernhard

Mitch

  • Gast
Ja Bernhard, das kann ich bestätigen.

Ich habe mal die Replizierkonflikte gesucht und gelöscht sowie das Häkchen testweise wieder rein gesetzt und die Ansicht ging ohne Probleme auf.

Mitch

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz