dpu,
If your database is running in archive log mode, you can use RMAN to create hotbackups via the following script. I use cron to run it. I'm running Oracle 10G.
DAT=`date +%a`
HOY=`date`
LOGf=/tmp/backuplog.txt
case ${DAT} in
Sun)
echo "Starting backup at ${HOY}" >> ${LOGf}
su - oracle -c "rman target=backup_acct/password log=${LOGf}" <<!
crosscheck backupset;
crosscheck archivelog all;
delete noprompt expired backup;
delete noprompt expired archivelog all;
delete noprompt obsolete;
backup as compressed backupset incremental level=0 TAG
= WeeklyFull database plus archivelog delete all input;
backup validate database archivelog all;
list backup summary;
exit
!
;;
Wed)
echo "Starting backup at ${HOY}" >> ${LOGf}
su - oracle -c "rman target=backup_acct/password log=${LOGf}" <<!
crosscheck backupset;
crosscheck archivelog all;
delete noprompt expired backup;
delete noprompt expired archivelog all;
delete noprompt obsolete;
backup as compressed backupset incremental level=1 TAG = DailyL1 database plus archivelog delete all input;
list backup summary;
exit
!
;;
*)
echo "Starting backup at ${HOY}" >> ${LOGf}
su - oracle -c "rman target=backup_acct/password log=${LOGf}" <<!
crosscheck backupset;
crosscheck archivelog all;
delete noprompt expired backup;
delete noprompt expired archivelog all;
delete noprompt obsolete;
backup as compressed backupset incremental level=2 TAG = DailyL2 database plus archivelog delete all input;
list backup summary;
exit
!
;;
esac