Anmeldung

Benutzername: Passwort:
Haben Sie Ihre Zugangsdaten vergessen?


IT und mehr

Willkommen auf der IT Seite.
Hier möchte ich einige Howtos, Anleitungen und andere IT-Relevante Dinge zum Download bereitstellen.

Bitte beim Download zur weiteren Verwendung aber auf das Copyright achten!

Bei weiteren Fragen könnt ihr mir auch eine Mail zukommen lassen.



 

<< Offline-Backup Oracle 10: Script Übersicht Trainingsdatenbank nach Schulung auf Urzustand zurücksetzen >>
Online-Backup Oracle 10: Script Script zum sichern einer Datenbank (online)

Das unten aufgeführte Script sichert jeden Tablespace in einen zuvor definierten Ordner. Dabei wird der jeweilige Tablespace in den Backup-Mode geschalten, es sollte also zwingend der Archive-LOG aktiviert sein. Ausserdem werden die Controlfiles gesichert. Als Speicherort wird /oracle/backup/online verwendet.
Bei diesem Script wird die zuvor erstellte Sicherung überschrieben, wer will, kann das Script ja noch um Parameter ergänzen, damit pro Tag  ein eigener Ordner verwendet wird.

---

set feedback off
set echo off
set serveroutput on

SPOOL  backup_online_script.SQL
DECLARE
 l_sicherungsbefehl     VARCHAR2(1024) := ' cp ';
 l_sicherungsziel       VARCHAR2(1024) := ' /oracle/backup/online';
 l_controlfile          gv$controlfile.name%TYPE;
 CURSOR ts_cur IS
  SELECT tablespace_name
   FROM   dba_tablespaces
   WHERE  contents = 'PERMANENT' AND status = 'ONLINE';
 CURSOR temp_ts_cur IS
   SELECT tablespace_name
    FROM   dba_tablespaces
    WHERE  contents != 'PERMAMENT';
 CURSOR file_Cur (i_ts_name dba_tablespaces.tablespace_name%TYPE) IS
  SELECT FILE_NAME
   FROM   DBA_DATA_FILES
   WHERE  tablespace_name = i_ts_name;
 CURSOR control_cur IS
  SELECT substr(name, instr(name, '/', -1) + 1) name
   FROM   gv$controlfile;
BEGIN
 DBMS_OUTPUT.ENABLE(200000000000);
 DBMS_OUTPUT.PUT_LINE('SPOOL online_sicherung.LOG');
 DBMS_OUTPUT.PUT_LINE(' ------------------------------------------------------')
;
 DBMS_OUTPUT.PUT_LINE(' --');
 DBMS_OUTPUT.PUT_LINE(' -- Dynamisches Sicherungsscript');
 DBMS_OUTPUT.PUT_LINE(' -- Erstellt: ' || TO_CHAR(SYSDATE, 'dd.mm.rrrr hh24:mm:s
s'));
 DBMS_OUTPUT.PUT_LINE(' --');
 DBMS_OUTPUT.PUT_LINE(' ------------------------------------------------------')
;
 DBMS_OUTPUT.PUT_LINE(' -- Backup Controlfiles');
 DBMS_OUTPUT.PUT_LINE('ALTER DATABASE BACKUP CONTROLFILE TO TRACE;');
 FOR control_rec IN control_cur LOOP
  DBMS_OUTPUT.PUT_LINE('ALTER DATABASE BACKUP CONTROLFILE TO ''' || trim(l_siche
rungsziel) || '/' || control_rec.name || '''' || 'REUSE ;');
 END LOOP;

DBMS_OUTPUT.PUT_LINE(' -- Backup Tablespaces');
FOR ts_rec IN ts_cur LOOP
 DBMS_OUTPUT.PUT_LINE('ALTER TABLESPACE ' || ts_rec.tablespace_name || ' BEGIN B
ACKUP;');
 FOR file_rec IN file_cur (ts_rec.tablespace_name) LOOP
 DBMS_OUTPUT.PUT_LINE('! ' || l_sicherungsbefehl || file_rec.file_name || l_sich
erungsziel);
 END LOOP;
 DBMS_OUTPUT.PUT_LINE('ALTER TABLESPACE ' || ts_rec.tablespace_name || ' END BAC
KUP;');
 DBMS_OUTPUT.PUT_LINE('------------------ Naechstes Backup ---------------------
-');
END LOOP;
DBMS_OUTPUT.PUT_LINE('SPOOL off');

END;
/

SPOOL off
set feedback on
set echo on
@backup_online_script.SQL



Zuletzt geändert von Benjamin Wagner (admin)  am Nov 28 2008  um 15:27
<< Offline-Backup Oracle 10: Script Übersicht Trainingsdatenbank nach Schulung auf Urzustand zurücksetzen >>