Re: Verwaltung DB & Hintergrund - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von steffen niegsch (73 Beiträge) am Sonntag, 17.März.2002, 21:31.
    Re: Verwaltung DB & Hintergrund

      Danke,

      aber ich bin das pragmatisch angegangen. Nach einem Reload war ein Feld doch gelöscht. Dabei fehlten auch ca. 200.000 Datensätze. Der Rest war sehr durcheinander. Ich habe dann das nächste Feld gelöscht, die DB geleert und noch einmal reorganisiert.

      Wichtig war die nicht unnbedingt. Sicherungen habe ich. Nur ich stelle mir vor das passiert mit einer "wichtigen" DB. Bei mir z.B. die Fahrzeugdatenbank...

      Deshalb wollte ich einfach nur wissen ab welcher Anzahl an Datensätzen bzw. ab welcher Speichergröße der kritische Moment sein kann.

      Das mit dem kopieren klingt interessant. Nur reicht mein Wissen dafür nicht aus. Aber ich lerne ja... Auch wenn ich wenig Zeit habe und bp mag weil es fast immer sehr einfach ist.

      steffen


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von steffen niegsch (73 Beiträge) am Sonntag, 17.März.2002, 10:27.
    Verwaltung DB & Hintergrund

      Hallo,

      Man hat so seine Probleme mit den dicken Dingern. Bei mir ist jetzt eine DB zu groß. Das merke ich daran das fast immer ein "Das Dokument enthält keine Daten..."-Fenster kommt wenn man in den Inhalt schauen will. Ich wollte jetzt zwei Felder auf die ich verzichten kann löschen. BP gibt vorher den Hinweis aus:

      ----------------------------------------------
      Achtung: Die Datenbank ist u.U. zu gross, um Änderungen an der Felddefinition vorzunehmen. Sie können es trotzdem versuchen, aber
             wenn die Ausführung zu lange dauert, bricht der Server das Programm wahrscheinlich ab. Es wird dann der vorherige Zustand hergestellt.
             Bitte versuchen Sie dies nicht mehrmals hintereinander um den Server nicht unnötig zu belasten!!
      
      ------------------------------------------------------

      Ich habe dann mal versucht ein Feld zu löschen. Die DB hat fast 344.000 Einträge und es klappte nicht.

      Kann es nicht ein Feld oder einen Option geben um so etwas zu einer zugriffsarmen Zeit automatisch ausführen zu lassen? Der Server würde geschont werden und die Aktion ist dann sicherlich auch erfolgreich.

      Ab wieviel Datensätzen bzw. ab welcher Größe einer DB kommt diese Meldung?

      Ich würde mir dann lieber vorher Gedanken über einen Split bei einer DB machen die sich gut entwickelt als später ein Problem zu haben.

      Gruß steffen niegsch

     Antworten

    Beitrag von Olaf Mertgen (263 Beiträge) am Sonntag, 17.März.2002, 12:07. WWW: www.linkex4u.de
    Re: Verwaltung DB & Hintergrund

      Hallo Steffen,

      die Idee mit dem zeitversetzen Ausführen ist sicherlich nicht schlecht, ich glaube aber nicht, dass es so schnell kommt.

      Deshalb würde ich folgendes zur aktuellen Lösung vorschlagen:
      - Tabelle mit neuer Struktur neu anlegen
      - Daten mit einer Schleife und range (wichtig) in mehreren Durchgängen in die neue Tabelle kopieren.

      Das dauert zwar auch eine Weile, aber so geht es zumindest. Wie viele Datenstäze du mit range auf einmal kopieren kannst, das hängt von der Größe eines Datensatz ab.

      Ob das ganze abgebrochen wird, hängt zum einen von der Zeit, zum anderen von dem Speicherverbrauch ab. Bzgl. der Zeit kannst du das kontrollieren, in dem du runtime am Ende der Schleife ausgeben lässt und range dann von mal zu mal erhöhst. Dabei sind meines Wissens 180 sec zulässig.

      Gruß, Olaf

     Antworten

    Beitrag von steffen niegsch (73 Beiträge) am Sonntag, 17.März.2002, 21:31.
    Re: Verwaltung DB & Hintergrund

      Danke,

      aber ich bin das pragmatisch angegangen. Nach einem Reload war ein Feld doch gelöscht. Dabei fehlten auch ca. 200.000 Datensätze. Der Rest war sehr durcheinander. Ich habe dann das nächste Feld gelöscht, die DB geleert und noch einmal reorganisiert.

      Wichtig war die nicht unnbedingt. Sicherungen habe ich. Nur ich stelle mir vor das passiert mit einer "wichtigen" DB. Bei mir z.B. die Fahrzeugdatenbank...

      Deshalb wollte ich einfach nur wissen ab welcher Anzahl an Datensätzen bzw. ab welcher Speichergröße der kritische Moment sein kann.

      Das mit dem kopieren klingt interessant. Nur reicht mein Wissen dafür nicht aus. Aber ich lerne ja... Auch wenn ich wenig Zeit habe und bp mag weil es fast immer sehr einfach ist.

      steffen

     Antworten

    Beitrag von Olaf Mertgen (263 Beiträge) am Montag, 18.März.2002, 00:36. WWW: www.linkex4u.de
    Re: Verwaltung DB & Hintergrund

      Das Kopieren ist nicht schwer:

      <perl>
      get "Id==* range=$Startwert,10000", "AlteTabelle";
      

      while (get_next("AlteTabelle")) {
       put [Feld1, $Feld1, Feld2, $Feld2, Feld3, $Feld3, ...], "NeueTabelle";
      }
      

      </perl>

      Du musst nur den Startwert für die Schleife angeben und immer erhöhen, so werden dann immer 10.000 Datensätze kopiert. Wie gesagt, wie viele auf einmal klappen, das hängt von vielen Faktoren ab (Anzahl der Felder, wieviel steht in den Feldern drin, d.h. wie groß ist ein Datensatz, Uhrzeit, d.h. Serverlast ...).

      Gruß, Olaf

     Antworten


     
 Liste der Einträge von 49200 bis 49350:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.07s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!