Announcement

Collapse
No announcement yet.

ORACLE-DB-Pflege :Tablespaces usw. erweitern

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

  • ORACLE-DB-Pflege :Tablespaces usw. erweitern

    HIILLFFEE !
    habe eine ORACLE 8.1.5 DB mit einer Delphi5-App. am Laufen;
    jährlich laufen etwa 100MB an Daten auf, die bei Periodenwechsel(Kal.Jahr)
    in einen Archivbereich in gleicher DB geschoben werden.

    Nachdem 90% an Daten aufgelaufen sind, meckert ORACLE, es könnten
    keine Extents mehr angelegt werden ;habe diesen Wert schon ein paarmal
    erhöht : meckert weiterhin...

    DB wird auch immer langsamer..

    Wer kennt sich da aus bzw. kennt gute Quellen (außer ORACLE Metalink , ORACLE-Handbücher u. ORACLE-Press) ?

    Keiner im Haus weiß so richtig Bescheid und selber wurde ich auch ins kalte Wasser geschmissen ..

    Schluck :-((

  • #2
    DB Design, da bleibt eben nix anderes, als zu schmökern. Oracle Press ist da gar keine schlechte idee. schau doch mal bei TUSC rein: http://www.tusc.co

    Comment


    • #3
      Wolf,
      schaue einmal unter www.toadsoft.com, hier gibt es DAS Admintool für Oracle(nebenbei-)administratoren. damit kannst du die files etc. administrieren und überhaupt "anschauen".

      wg. geschwindigkeit, in welchem abstand läuft ein sql-skript mit "analyze table ... compute statistics" ?!?!

      ;-) thoma

      Comment


      • #4
        Hallo,

        prüfe bitte warum keine Extends mehr angelegt werden können. 1. Möglichkeit Tablespace ist vollgelaufen. 2. Möglichkeit Datenfile ist vollgelaufen. Beides muss dann mit mehr Extends versehen werden, bzw. der maximumsize vergrössert werden. Hilft Dir das weiter? Eventuell ist auch der Mountpoint vollgelaufen und muss vergrössert werden. Letzte Möglichkeit welche mir einfällt ist das Tablespace welches die Rollbacksegmente enthält. Eventuell ist dieses an seine Grenzen gestossen. Wenn das alles nicht hilft, stelle mal die genau Fehlermeldung hier rein, vielleicht hilft uns das weiter.

        MfG Steve

        Comment


        • #5
          Danke,Thomas Pfister,
          was für ein Skript meinst Du genau ?

          Bis jetzt arbeite ich mit dem ORACLE ENTERPRISE SECURITY MANAGER
          von 8.1.5 (ist schon in JAVA-GUI)..

          Sehe da derzeit keinen Zusammenhang zwischen Extents, Rollbacksegmenten und den eigentlichen Tabellen; den soll es aber lt. ORACLE-PRess-Buch geben ??????

          Übrigens, Plattform ist hier Win2000 prof. Workstation;mit Nodes
          habe ich hier nix zu tun !?

          www.tusc.com (seminare) und toadsoft.com (SQL-Tool) sind kommerzielle Adressen in USA;nützt mir so leider auch nix...

          Schluchz :-(

          Comment


          • #6
            Ich vermute, daß Oracle kein neues Extent im Rollback-Segment anlegen konnte. Dort speichert Oracle REDO und UNDO Befehle, um ggf. ein ROLLBACK durchführen zu können. Für sehr große Transaktionen ist es wichtig, daß ein ausreichend großes Rollback Segment zu Verfügung steht. Weiterhin muß man absichern, daß es auch genutzt wird. Über den SET TRANSACTION Befehl kann man im Programm zum Beginn der Transaktion explizit sagen, welches Rollback Segment verwendet werden soll. Alternativ dazu kann man auch die Transaktionen verkleinern, d.h. an sinnvollen Stellen zwischendurch "COMMIT" sagen, sofern das möglich ist.
            Ansonsten können auch die Extents einer Tabelle übergelaufen sein. Der Storage-Parameter NEXT_EXTENT gibt die Größe des nächsten Extents an, das sich die Tabelle holen wird. So viel freier Speicherplatz sollte im Tablespace noch zur Verfügung stehen.
            Das Werkzeug Hora von www.keeptool.de ist übrigens sehr hilfreich, um auf Tabellen, Tablespaces, Rollbacksegmente und Extents zu schauen. Es dort auch gibt eine kostenlose 30-Tage-Demo-Version zum Herunterladen.

            Holge

            Comment


            • #7
              Wolf,

              <<Schluchz :-(( >> wer wird denn gleich...

              ich meinte ein sql-skript, dass die tabellen für einen optimierten zugriff vorbereitet; schick' mir einmal ein email ([email protected]) und ich schicke dir ein sql-skript, dass diese arbeiten erledigt.
              -> es hat aber nichts mit der fehlermeldung zu tun, sondern mit deinem hinweis auf die geschwindigkeit (wenn oracle läuft).

              wg. dem (eigentlichen) problem kann ich mich dem vorredner anschließen, allerdings ist oracle nicht ohne grund sehr administrieraufwä(?)ndig; im gegensatz zu interbase; mit welcher literatur arbeitest du bzw. bist du eher der entwickler und/oder adminstrator??

              ;-) thoma

              Comment


              • #8
                Danke für Antwort,Thomas !
                Leider mußte ich mich "on-the-job" als Entwickler sowohl in Delphi als auch in ORACLE "reinarbeiten";es gibt hier keinen internen
                ORACLE-Spezialisten, und mir als Senior gönnt man weder einen
                Kurs noch die Bestellung eines externen Spezialisten; es gibt hier nur noch einen Operator, der aber nur mit der 8.0.5-Version (andere noch zeilenorientierte GUI, m.E. besser) klarkommt.

                ES geht eigentlich nicht um die laufende Erfassung, sondern um die
                Archivierung bei Periodenwechsel : dazu wird derzeit alles aus der
                aktuellen Eingabe kopiert. wenn man ins Archiv schauen will, muß man
                den derzeit aktuellen Stand innerhalb der DB sichern..A GIBTS dANN
                PROBLEME mit Tablespaces usw., die der normale USER nicht handeln kann !

                neue IDee : Archiv raus aus der aktuellen DB , z.B. in mySQL-DB und JAVA-Portal zum Angucken...

                schicke Dir jetzt ne Mail wegen dem PErformance - Skript,ok ?!

                MfG
                Wol

                Comment


                • #9
                  Hallo Wolf,
                  ich glaube das Dein Problem nicht in den Rollback Segs liegt sondern das Du eine neuen Redo-Log datei/sprich Redolog Gruppe anlegen solltest.
                  Das kannst Du am besten über den Storage Manager im DBA STudio einrichten.

                  Es ist bei der Sicherung wichtig das die Dateien über das SGA laufen ?

                  Hoffe es klappt.
                  Rober

                  Comment


                  • #10
                    Danke, Robert .
                    Das mit Redo-Log schau ich mal im Buch nach;
                    SGA : ???

                    Habe mit MS-EXCEL mal für die dynamischen Tabellen den optimalen DB_Blocksize anhand des Buches durchgerechnet und mit dem aktuellen
                    Wert in der init.ora verglichen : viel zu wenig, müßte statt 2k 16k
                    angegeben werden (Satzlänge 92 Bytes 600.000 Sätze). Dann wären
                    wesentlich weniger Extents zu verwalten..

                    Danach müßte ich eine neue DB anlegen, den Wert richtig angeben
                    und ex-/importieren ! Oder ?

                    MfG
                    Wol

                    Comment


                    • #11
                      1 Erstell ein neues Tablespace
                      create tablespace robert datafile 'dein datafilename mit path' size 120m
                      extent management local uniform size 5 m;

                      erstelle dann ein neues Rollbacksegment
                      create Rollback segment rbs_robert
                      tablespace robert;

                      Dann folgen die Befehle
                      alter rollback segment rbs_robert online;

                      set transaction use rollback segment rbsrobert;

                      und dann beginnt die Jahreskopie;

                      wenn Du Fragen hast mail mir an [email protected]

                      Comment


                      • #12
                        hallo,
                        mail habe ich noch nicht bekommen bzw. ist ok, dass du eines schickst.

                        ;-) thoma

                        Comment

                        Working...
                        X