标签:脚本 -% log 备份 current archivelog rman backup _%
一、linux/unix平台
最小负载rman备份脚本
#!/bin/sh
. ~/.bash_profile
DATE=`date +%Y-%m-%d-%H-%M-%S`
date
rman target / log=/backup/log_$DATE <<eof
run
{
allocate channel c1 type disk maxpiecesize=200M;
sql 'alter system archive log current';
crosscheck archivelog all;
delete noprompt expired backup;
backup as backupset duration 00:10 minimize load database format '/backup/rmanfull_%d_%T_%s_%p.bak';
sql 'alter system archive log current';
sql 'alter system archive log current';
sql 'alter system archive log current';
backup format '/backup/archfull%T%U' archivelog all;
crosscheck archivelog all;
delete noprompt archivelog until time='sysdate-1';
backup spfile format '/backup/spfile_%d_%T_%s_%p.bak';
backup current controlfile format '/backup/control_%d_%T_%s_%p.bak';
crosscheck archivelog all;
crosscheck backup;
delete noprompt expired backup;
delete noprompt obsolete;
report need backup;
release channel c1;
}
date
eof
日常rman备份脚本
rman全备脚本
#!/bin/sh
. ~/.bash_profile
DATE=`date +%Y-%m-%d-%H-%M-%S`
rman target / log=/backup/rmanfull/log/rmanfull_log_$DATE <<eof
run
{
allocate channel c1 type disk;
sql 'alter system archive log current';
crosscheck archivelog all;
delete noprompt expired backup;
backup as backupset database format '/backup/rmanfull/rmanfull_%d_%T_%s_%p.bak';
sql 'alter system archive log current';
sql 'alter system archive log current';
sql 'alter system archive log current';
backup format '/backup/rmanfull/archfull%T%U' archivelog all;
crosscheck archivelog all;
delete noprompt archivelog until time='sysdate-3';
backup spfile format '/backup/rmanfull/spfile_%d_%T_%s_%p.bak';
backup current controlfile format '/backup/rmanfull/control_%d_%T_%s_%p.bak';
crosscheck archivelog all;
crosscheck backup;
delete noprompt expired backup;
delete noprompt obsolete;
report need backup;
release channel c1;
}
eof
find /backup/rmanfull/ -mtime +4 | xargs rm -f
find /backup/rmanfull/log/ -mtime +7 | xargs rm -f
rman arch全备脚本:
#!/bin/sh
. ~/.bash_profile
DATE=`date +%Y-%m-%d-%H-%M-%S`
rman target / log=/backup/archbak/log/arch_log_$DATE.txt <<eof
run
{
allocate channel c1 type disk;
backup as backupset format '/backup/archbak/arch_%d_%T_%s_%p.bak' archivelog all;
backup spfile format '/backup/archbak/spfile_%d_%T_%s_%p.bak';
backup current controlfile format '/backup/archbak/control_%d_%T_%s_%p.bak';
crosscheck archivelog all;
delete noprompt archivelog until time='sysdate-3';
crosscheck archivelog all;
crosscheck backup;
delete noprompt expired backup;
report need backup;
release channel c1;
}
eof
find /backup/archbak/ -mtime +4 | xargs rm -f
find /backup/archbak/log/ -mtime +7 | xargs rm -f
二、window平台
archfull.bat
rman target / cmdfile=D:\backup\scripts\archfull.txt log=D:\backup\scripts\archfull.log
echo 删除过久的备份记录
forfiles /p "D:\backup" /s /m *.bak /d -15 /c "cmd /c del @path"
forfiles /p "D:\backup" /s /m ARCHFULL* /d -15 /c "cmd /c del @path"
archfull.txt
run
{
allocate channel c1 type disk;
sql 'alter system archive log current';
crosscheck archivelog all;
delete noprompt expired backup;
sql 'alter system archive log current';
sql 'alter system archive log current';
sql 'alter system archive log current';
backup format 'D:\backup\archfull%T%U' archivelog all not backed up 1 times;
crosscheck archivelog all;
delete noprompt archivelog until time='sysdate-3';
delete backup of archivelog until time='sysdate-14';
backup spfile format 'D:\backup\spfile_%d_%T_%s_%p.bak';
backup current controlfile format 'D:\backup\control_%d_%T_%s_%p.bak';
crosscheck archivelog all;
crosscheck backup;
delete noprompt expired backup;
delete noprompt obsolete;
report need backup;
release channel c1;
}
rmanfull.bat
rman target / cmdfile=D:\backup\scripts\rmanfull.txt log=D:\backup\scripts\rmanfull.log
copy D:\backup\ARCHFULL* Z:\backup\ /y
copy D:\backup\SPFILE* Z:\backup\ /y
copy D:\backup\CONTROL* Z:\backup\ /y
copy D:\backup\RMANFULL* Z:\backup\ /y
echo 删除过久的备份记录
forfiles /p "Z:\backup" /s /m *.bak /d -15 /c "cmd /c del @path"
forfiles /p "Z:\backup" /s /m ARCHFULL* /d -15 /c "cmd /c del @path"
rmanfull.txt
run
{
allocate channel c1 type disk;
sql 'alter system archive log current';
crosscheck archivelog all;
delete noprompt expired backup;
backup as backupset database format 'D:\backup\rmanfull_%d_%T_%s_%p.bak' include current controlfile;
sql 'alter system archive log current';
sql 'alter system archive log current';
sql 'alter system archive log current';
backup format 'D:\backup\archfull%T%U' archivelog all not backed up 1 times;
crosscheck archivelog all;
delete noprompt archivelog until time='sysdate-3';
backup spfile format 'D:\backup\spfile_%d_%T_%s_%p.bak';
backup current controlfile format 'D:\backup\control_%d_%T_%s_%p.bak';
crosscheck archivelog all;
crosscheck backup;
delete noprompt expired backup;
delete noprompt obsolete;
report need backup;
release channel c1;
}
标签:脚本,-%,log,备份,current,archivelog,rman,backup,_% 来源: https://www.cnblogs.com/orachen/p/15877696.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。