Announcement

Collapse
No announcement yet.

Groesse der REDO-Logs

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Groesse der REDO-Logs

    Hallo zusammen,

    was ist eigenlich bei den Redo-Logfiles besser.
    Mehrere Files mit ca 5-10MB oder nur 3 Files mit jeweils 100MB?

    Gruß und Danke
    Uwe

  • #2
    Standardmäßig werden 3 Redo Log-Dateien mit jeweils 100 MB erzeugt, was für den normalen Betrieb vollkommen ausreichend ist.
    Alle erfolgreich abgeschlossene Transaktionen werden in den Redo Log-Dateien gespeichert, die zyklisch überschrieben werden. Bevor nun eine Redo Log-Datei überschrieben wird, werden die Anweisungen der Transaktionen in die Datenbank übertragen. Je größer die Datenbanklast ist, desto schneller geschieht es, dass die Redo Log-Dateien gefüllt werden. Sind zudem die Redo Log-Dateien klein, so kann es passieren, dass das System mit dem Übertragen der Daten in die Datenbank nicht mehr hinterherkommt, bevor die Redo Log-Dateien neu beschrieben werden.

    Es können weitere Redo Log-Dateien hinzufügt werden, wobei aber einige Punkte zu beachten sind. So sind die Redo Log-Dateien in Redo Log-Gruppen organisiert.

    kuemmelche

    Comment


    • #3
      @kuemmelchen

      zuerst mal Danke für Deine schnelle Antwort, aber leider ist die nicht ganz richtig. REDO-Log's werden (zumindest bei uns) nicht einfach neu überschrieben sondern gesichert (wie willst Du sonst nach einem Crash rekonstruieren?). In den REDO-Logs stehen m.E. auch nur vollständige Transaktionen und da wird auch nichts mehr in die DB übertragen.
      Meine Frage war nur, was besser (=schneller) ist. 10 kleine REDO-Log's,
      da diese schneller kopiert werden könne (Platten-Cache) oder 3 große REDO-Logs.

      Gruß
      Uw

      Comment


      • #4
        Redo Log-Dateien werden prinzipiell zyklisch überschrieben. Diese Redo Log-Dateien werden auch als ONLINE Redo Log-Dateien bezeichnet.

        Eure Datenbank wird im ARCHIVELOG-Modus betrieben. Dies bedeutet, bevor die Online Redo Log-Dateien überschrieben werden, werden sie durch den Archivar gesichert. Dabei entstehen sogenannte OFFLINE Redo Log-Dateien. Diese werden nur im Recovery-Fall benötigt.

        Welche Recovery-Strategie gefahren wird, ist abhängig von der konkreten Ursache und welche Backup-Strategie für eure Datenbank gefahren wird.

        Ich würde auf jedem Falle mit großen Redo Log-Dateien arbeiten (siehe 1. Antwort).

        kuemmelche

        Comment


        • #5
          Hallo Uwe,

          Kuemmelchen hat schon recht, ALLE Transaktionen (egal ob abgeschloosen oder nicht, egal ob mit commit oder rollback) werden zuallererst in die Online-Redologs gespeichert. Die durch die Transaktion geänderten DB-Blöcke können noch eine ganze Zeit "nur" im Speicher-Puffer der DB gehalten werden. Ein Festschreiben aller DB-Blöcke tatsächlich auf die Platte findet nur "Ereignisgesteuert" und nicht "Transaktionsgesteuert" statt. Solch ein Ereignis ist ein s.g. Checkpoint. Dies kann der Ablauf einer bestimmten Zeitspanne (log_checkpoint_timeout), das Erreichen einer bestimmten Anzahl an Logsequenzen (log_checkpoint_intervall) oder auch der Wechsel der aktuellen Redolog-Datei sein. Die Häufigkeit eines solchen Checkpoints ist eine "Performanceschraube". Logisch, je häufiger die DB auf Platte schreibt umso mehr ist sie mit sich selbst beschäftigt. Die Größe deiner einzelnen Redologdateien sollte also von der Anzahl der Transaktionen abhängig gemacht werden. Eine DB die ständig mit Insert, Update, Delete traktiert wird sollte große Redologdateien haben. Eine DB die dagegen mehr selects bearbeitet kommt mit kleinen redologs aus - hier sollte dann eher log_checkpoint_timeout sinnvoll gewählt werden. Die Anzahl der Redologdateien ist dafür eher unwichtig. Im Extremfall reichen zwei. Wird die DB im Archivelog-Modus betrieben, dann wird bei jedem Logwechsel das jeweilige Redolog in ein Archive-Redolog kopiert. Das dauert bei großen Dateien natürlich länger als bei kleinen. Hier sollte dann durch die Anzahl sichergestellt sein, das nicht alle Online-Redologs vollaufen während die Archivierung noch läuft. Keine Angst, die DB überschreibt keine Online-Redologs die nicht archiviert sind - sie wartet dann einfach. Aber dann steht eben alles!
          Wie du siehst gibt es kein "Allheilmittel" zu Größe und Anzahl - hier ist der konkrete Einsatz der DB entscheidend.

          Gruß Fal
          Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

          Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

          Comment


          • #6
            Bezüglich der Offline Redo Log-Dateien (Archive-Redolog) sei hier noch angemekt, bei einem Logwechsel wird die jeweilige Online Redo Log-Datei gesichert, aber nicht in From einer Kopie. Sichern bedeutet, nur der effektiv gefüllte Teil der Online Redo Log-Datei wird gesichert (Leerstellen aber nicht). Die so entstehenden Offline Redo Log-Dateien sind daher immer unterschiedlich groß.

            kuemmelche

            Comment

            Working...
            X