Announcement

Collapse
No announcement yet.

Programmatisches Backup einer Oracle Datenbank vom Client aus erstellen?

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

  • Programmatisches Backup einer Oracle Datenbank vom Client aus erstellen?

    Hallo zusammen,

    Ich möchte für meine Bakkalaureatsarbeit ein kleines Programm schreiben,
    das mir vom Client aus ein Online-Backup von einer Reihe ganz bestimmter Tabellen zieht.

    Was meint ihr, ist das überhaupt möglich?
    Kann ich dazu OO4O (Oracle Objects for OLE) verwenden?
    Wenn nein, welche Schnittstelle wäre dafür am günstigsten?

    Vielen Dank für eure Hilfe!

    LG Helga

  • #2
    Originally posted by helga_h View Post
    Hallo zusammen,

    Ich möchte für meine Bakkalaureatsarbeit ein kleines Programm schreiben,
    das mir vom Client aus ein Online-Backup von einer Reihe ganz bestimmter Tabellen zieht.

    Was meint ihr, ist das überhaupt möglich?
    Kann ich dazu OO4O (Oracle Objects for OLE) verwenden?
    Wenn nein, welche Schnittstelle wäre dafür am günstigsten?

    Vielen Dank für eure Hilfe!

    LG Helga
    - Verstehe ich dich richtig, dass du Oracle - Daten auf über irgendeine Schnittstelle auf den Client laden willst und diese dort als Backup speichern willst ? Wenn es so wäre, ist dies der komplett falsche Ansatz, um ein Backup einer Oracle DB zu erstellen. Ich würde mal nach RMAN oder notfalls auch DataPump googeln, dies wären die korrekten Ansätze dafür. Oracle Backup = RMAN


    Gruss

    Comment


    • #3
      Hallo,

      Danke für deine schnelle Antwort! *freu*

      Nein, ich möchte die Daten nicht auf den Client laden.
      Ich möchte den Backupvorgang clientseitig ansteuern -
      und das Backup auf einem alternativen Laufwerk auf dem
      Server speichern.

      Ich hab mich schon in RMAN Scripts eingelesen,
      allerdings hab ich bisher keinen Weg gefunden, clientseitig
      ein solches Script auszuführen.

      Könnte ich das evtl. mit Stored Procedures machen?
      Wenn ja, geht's auch einfacher?
      Hab ich da vielleicht etwas übersehen?

      LG Helga

      Comment


      • #4
        Hallo Helga,

        Originally posted by helga_h View Post
        ...allerdings hab ich bisher keinen Weg gefunden, clientseitig
        ein solches Script auszuführen.
        Ich bin mir nicht ganz sicher, was du unter "clientseitig" verstehst. Du kannst natürlich die Server-Tools wie RMAN auch auf einem Client-PC installieren und dann von diesem aus für dein Backup verwenden. Die zu sichernden Daten müssen dabei natürlich alle "übers Netz".

        Originally posted by helga_h View Post
        ...Könnte ich das evtl. mit Stored Procedures machen?
        Von Hause aus nicht, aber prinzipiell schon. Da RMAN Batch-fähig ist, wäre es mit Hilfe von RPC (RemoteProcedureCall) möglich, via SP einen RMAN-Prozess und damit ein Backup auf dem Server zu starten.

        Originally posted by helga_h View Post
        ...Wenn ja, geht's auch einfacher?
        In diesem Fall solltest du die Sache mit dem RPC lassen...

        Gruß Falk
        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


        • #5
          Hallo Falk,

          Mit "clientseitig" meine ich folgendes:

          Ich habe auf meinem Client ein Framework zur Verfügung, mit dem ich SQL- und DDL Befehle an meinen Datenbankserver schicken und Daten auswerten kann.

          Ich möchte jetzt vom Client aus meinem Server mitteilen, dass er ein Backup starten soll... mehr eigentlich nicht. Ich möchte *keine* Daten über's Netzwerk zu mir auf den Client transferieren.

          Deinen Ansatz mit dem Remote Procedure Call verstehe ich nicht ganz -
          ich soll über RPC den RMAN starten?
          Wozu brauche ich dann überhaupt eine Stored Procedure?

          LG Helga

          P.S.: Danke für die schnelle Antwort!
          Zuletzt editiert von helga_h; 06.05.2008, 08:54. Reason: Ergänzung

          Comment


          • #6
            Hallo Helga,

            Oracle unterstützt ab Version 8 den Aufruf von externen / shared Libraries. Unter Windows sind dies DLLs und unter UNIX .so - Module. Über diese s.g. Callouts oder eben auch RPCs kann man direkt aus einer PL/SQL - Procedure heraus Funktionen in einer eigenen DLL oder eben auch Funktionen des BS - wie das Starten eines Programmes - aufrufen.

            Gruß Falk
            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


            • #7
              Puuh... Okay.
              Ich glaube, das würde den Rahmen meiner Bakk-Arbeit sprengen...
              (Muss ich mir noch genauer ansehen.)

              Ich werd also schauen, dass ich es so gut wie möglich mit SQL-Befehlen hinbekomme.

              Vielen Dank für eure Hilfe!

              LG Helga

              Comment


              • #8
                Originally posted by helga_h View Post
                Puuh... Okay.
                Ich glaube, das würde den Rahmen meiner Bakk-Arbeit sprengen...
                (Muss ich mir noch genauer ansehen.)

                Ich werd also schauen, dass ich es so gut wie möglich mit SQL-Befehlen hinbekomme.

                Vielen Dank für eure Hilfe!

                LG Helga
                - Hmm, ich weiss natürlich nicht, ob du für deine Arbeit ein Script / Program schreiben musst, aber alternativ könntest du auch einen export / import der Daten (ganze DB, ganzes Schema, einzelne Tabellen / Tablespaces) über das Database Control vom Client aus anstossen. Einzige Bedingung dafür wäre, das der entsprechende emctl - Service auf denm Server läuft, dann kannst du dies von einem beliebigen Client aus anstossen. Auch der Backup liesse sich so steuern


                Gruss

                Comment


                • #9
                  Diese Möglichkeit hab ich auch schon entdeckt, aber ich brauche ein physisches Backup - ein Export alleine reicht leider nicht.

                  Okay, Zusammenfassung:
                  *Über einfache SQL-Befehle ein kann ich ein Vollbackup machen.
                  *Wenn ich ein PL/SQL Programm schreibe, kann ich über den RMAN ein inkrementelles Backup machen.
                  *Und wenn ich OO4O Data Control verwende, kann ich ein logisches
                  Backup anstoßen.

                  Ich glaube, ich werd um eine sehr komplexe Lösung nicht herumkommen -
                  aber das ist mir inzwischen egal.


                  Danke, ihr habt mir sehr geholfen!

                  LG Helga

                  Comment


                  • #10
                    Originally posted by helga_h View Post
                    Diese Möglichkeit hab ich auch schon entdeckt, aber ich brauche ein physisches Backup - ein Export alleine reicht leider nicht.

                    Okay, Zusammenfassung:
                    *Über einfache SQL-Befehle ein kann ich ein Vollbackup machen.
                    *Wenn ich ein PL/SQL Programm schreibe, kann ich über den RMAN ein inkrementelles Backup machen.
                    *Und wenn ich OO4O Data Control verwende, kann ich ein logisches
                    Backup anstoßen.

                    Ich glaube, ich werd um eine sehr komplexe Lösung nicht herumkommen -
                    aber das ist mir inzwischen egal.


                    Danke, ihr habt mir sehr geholfen!

                    LG Helga

                    - Als alternative kannst du auch per PL/SQL deine RMAN - Sachen anstossen. Die PL/SQL Prozeduren kannst du anschliessend in Webservices einpacken und diese vom einem Client aus aufrufen.

                    Comment


                    • #11
                      Meinst du das so, dass ich ein RMAN Skript schreibe, auf den Server lege, und das dann über eine Stored Procedure anstoße?
                      Zuletzt editiert von helga_h; 06.05.2008, 11:06. Reason: corr

                      Comment


                      • #12
                        Originally posted by helga_h View Post
                        Meinst du das so, dass ich ein RMAN Skript schreibe, auf den Server lege, und das dann über eine Stored Procedure anstoße?
                        - ja, in etwa...detailliert müsste man dass schon noch besser andenken, aber prinzipiell kannst du PL/SQL von extern als Webservice aufrufen


                        gruss

                        Comment


                        • #13
                          thanx!

                          ich hab grade erfahren, dass ich das nicht andenken brauche *freu*
                          das framework, mit dem ich arbeite, kann mit stored procedures umgehen.
                          (endlich ein lichtblick ^^)

                          lg helga

                          Comment


                          • #14
                            welches framework nutzt du denn?

                            Comment


                            • #15
                              ich benutze ein "selbstgemachtes" framework, von der firma bei der ich grade meine bakk-arbeit schreibe.

                              weiters hab ich ein ps/sql package namens sys.dbms_backup_restore gefunden, das direkt auf den rman zugreifen kann.

                              also bin ich fast am ziel

                              Comment

                              Working...
                              X