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,
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]