Oracle Datensicherung Backup

Hallo,
wir wollen in Zukunft eine Oracle DB nicht nur mit Export sichern.
Es soll ein DB-Backup laufen und die Archive-Redologs sollen auch gesichert werden.
Was muss ich beachten ?
Welche Tools kann ich nutzen ?

Gruß Oli

Hallo Oli,
das Thema ist ein wenig komplex. Hier ist ein Beispiel-Skript. Die archivierten Redologs kannst Du getrost mit Bordmitteln kopieren, denn sie sind immer „clean“.

rem -----------------------------------------------------------------------
rem Filename: backup.sql
rem Purpose: Generate script to do a simple on-line database backup
rem Author: Frank Naude ([email protected])
rem -----------------------------------------------------------------------

set serveroutput on
set trimspool on
set line 500
set head off
set feed off

spool backup.cmd

declare
 copy\_cmnd constant varchar2(30) := 'cp'; -- ocopy for NT
 copy\_dest constant varchar2(30) := '/backup/'; -- C:\BACKUP\ for NT

 dbname varchar2(30);
 logmode varchar2(30);
begin
 select name, log\_mode
 into dbname, logmode
 from sys.v\_$database;

 if logmode 'ARCHIVELOG' then
 raise\_application\_error(-20000, 
 'ERROR: Database must be in ARCHIVELOG mode!!!');
 return;
 end if;

 dbms\_output.put\_line('spool backup.'||dbname||'.'||
 to\_char(sysdate, 'ddMonyy')||'.log');

 -- Loop through tablespaces
 for c1 in (select tablespace\_name ts
 from sys.dba\_tablespaces)
 loop
 dbms\_output.put\_line('alter tablespace '||c1.ts||' begin backup;');
 -- Loop through tablespaces' data files
 for c2 in (select file\_name fil
 from sys.dba\_data\_files
 where tablespace\_name = c1.ts)
 loop
 dbms\_output.put\_line('!'||copy\_cmnd||' '||c2.fil||' '||copy\_dest);
 end loop;

 dbms\_output.put\_line('alter tablespace '||c1.ts||' end backup;');
 end loop;

 -- Backup controlfile and switch logfiles
 dbms\_output.put\_line('alter database backup controlfile to trace;');
 dbms\_output.put\_line('alter database backup controlfile to '||''''||
 copy\_dest||'control.'||dbname||'.'||
 to\_char(sysdate,'DDMonYYHH24MI')||''''||';');
 dbms\_output.put\_line('alter system switch logfile;');
 dbms\_output.put\_line('spool off');
end;
/

spool off

set head on
set feed on
set serveroutput off

-- Unremark/uncomment the following line to run the backup script
-- @backup.cmd
-- exit

Gruß

J.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]