Backup mit DBMS_BACKUP_RESTORE

RMAN verwendet zur Durchführung von Sicherungen das nicht dokumentierte Package DBMS_BACKUP_RESTORE. Hierzu ein kleines Beispiel. RMAN verwendet zur Durchführung von Sicherungen das nicht dokumentierte Package DBMS_BACKUP_RESTORE. Hierzu ein Beispiel für eine komprimierte Sicherung der gesamten Datenbank in die Flashrecovery Area. Diese Art der Sicherung wird von Oracle nicht unterstützt und dient nur zu Demonstrationszwecken. 


declare
   v_device varchar(4000);
   v_set_stamp number;
   v_set_count number;
   v_pieceno  binary_integer;
   v_done     boolean;
   v_handle   varchar2(4000);
   v_comment  varchar2(4000);
   v_media    varchar2(4000);
   v_concur   boolean:=FALSE;
   v_archlog_failover boolean:=false;
   v_deffmt binary_integer:=1; --Flash Recovery Area
   v_recid number;
   v_stamp number;
   v_tag varchar2(100);
   v_docompress boolean:=true;
   v_counter number:=0;
   cursor c_datafiles is select file# from v$datafile;
begin
   sys.dbms_backup_restore.backupSetDataFile(set_stamp=>v_set_stamp,set_count=>v_set_count);
   v_device:=sys.dbms_backup_restore.deviceAllocate;
   for rec_datafiles in c_datafiles loop
           sys.dbms_backup_restore.backupDataFile(rec_datafiles.file#);
   end loop;

   sys.dbms_backup_restore.backupPieceCreate( fname=>' ',
            pieceno=>v_pieceno,
            done=>v_done,
            handle=>v_handle,
            comment=>v_comment,
            media=>v_media,
            concur=>v_concur,
            archlog_failover=>v_archlog_failover,
            deffmt=>v_deffmt,
            recid=>v_recid,
            stamp=>v_stamp,
            tag=>v_tag,
            docompress=>v_docompress
            );
   sys.dbms_backup_restore.deviceDeallocate();
   sys.dbms_backup_restore.backupCancel;
end;
/