Oracle-XE-Datenbank regelmäßig mit EXPDP sichern

Tags: #<Tag:0x00007f7e5ea233f0> #<Tag:0x00007f7e5ea23288> #<Tag:0x00007f7e5ea23120>

Um Backups von einer Oracle-XE-Datenbank zu machen, kann das expdp-Befehlszeilen-Programm genutzt werden.

Das Tool bekommt u. a. einen Ordner übergeben, in den dann das Backup erstellt wird. Der Ordner ist jedoch nur ein Alias, der zunächst via SQL Plus angelegt werden muss:

  1. Als Benutzer SYSTEM (groß geschrieben) an SQL Plus anmelden.

  2. Den Zeiger namens backup_dir (z. B.) auf einen tatsächlichen Ordner anlegen und einem Benutzer myuser (z. B.) Berechtigungen darauf geben:

    CREATE OR REPLACE DIRECTORY backup_dir AS 'C:\Backups\Oracle';
    GRANT READ, WRITE ON DIRECTORY backup_dir TO myuser;
    
  3. Den Ordner im Dateisystem tatsächlich anlegen, z. B. in einer Befehlszeile oder in Windows File Explorer:

    mkdir "C:\Backups"
    mkdir "C:\Backups\Oracle"
    
  4. Das Befehlszeilenprogramm expdp in einer Befehlszeile (“cmd”) ausführen:

    expdp myuser/mypassword full=Y directory=backup_dir dumpfile=oracle-xe.dmp logfile=oracle-xe.log
    

Weitere Tipps

  • Der Benutzer (myuser im obigen Beispiel), mit dem exportiert wird, muss die Rolle DATAPUMP_EXP_FULL_DATABASE besitzen.

  • Alternativ kann auch der Benutzer SYSTEM zum Export verwendet werden, obwohl Oracle das wohl nicht empfiehlt.

  • Ich musste einmal auch dem Benutzer folgende Rechte in SQL Plus geben:

    grant create any directory to myuser;
    
  • “expdp” liegt auf meinem System im Ordner “C:\app\Administrator\product\18.0.0\dbhomeXE\bin”.

Ressourcen