oracle 自动备份,保留一个星期

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 自动备份,保留一个星期相关的知识,希望对你有一定的参考价值。

之前写了一个oracle 每天自动备份的(批处理文件+计划任务),现在想写个保留一个星期的自动备份,应该怎么写
系统是winows 2003
4楼,5楼没有达到保留7天的目的,之前我就是这么写的

写批处理文件:
exp username/password file=D:\bak\bak_%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%.dmp owner=username
创建计划任务:
请单击开始,单击所有程序,指向“附件”,指向“系统工具”,然后单击“任务计划程序”。
1、点击右侧的“创建基本任务”,填写任务名称和描述,点击下一步。
2、选择“每周”,点击下一步。
3、后面按照向导自己操作吧,很简单。我刚刚自己试了一遍,没问题。您有问题可给我留言。
祝好~~
补充:
“保留7天”是什么意思?思考中。。。
以下两种情况是我揣测楼主的意思,希望能被我命中。
1、每天定时执行一次备份,一个星期后该计划自动取消。
解决方式:进入“任务计划程序”,点击右侧“操作”界面中的“创建任务”,点击上方标签中的“触发器”,点击下方的“新建”按钮,“高级设置”中存在“过期时间”设置项,后面不再冗述。
2、每周执行一个备份,第二次执行备份之前要把第一次的删掉。
解决方法:更改批处理文件为——
del D:\dump\bak.dmp
exp username/password file=D:\bak\bak.dmp owner=username
---------------------------------------------------------
二次补充:
楼主的意思每天都备份,每周备份的文件需清除一次。
实现办法:
1、写两个批处理文件。
第一个:每天定时备份的批处理文件,代码略。
第二个代码如下:
rd /s /q D:\bak ----------删除备份目录及其子文件
md D:\bak -----------创建的新的备份目录
2、创建两个计划任务。
将第一个批处理文件设为每天定时执行。
将第二批处理文件设为每周执行。(要算好时间啊!)
总结:以上的方法应该可以达成楼主的目的,但还是请楼主亲自试验一下。(试验前做好备份哦)。祝好~
参考技术A LS自重,那个是保留策略
WINDOWS的话,可使用RMAN USER/PASSWORD CMDFILE=XX.SQL这个命令生成一个.BAT脚本,加到任务管理器里,就成
LINUX的话,使用shell脚本或者是oralce本身带的JOB管理器都可以,楼主可以上网搜搜相关内容。
参考技术B 用rman

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

然后脚本里
delete obsolete
参考技术C exp username/password@database file=D:\DUMPFILE\%date:~11%.dmp log=D:\DUMPFILE\%date:~11%.log full=y 参考技术D 你的服务器不是在归档模式下的话还是每天备份吧
如果是归档模式下,自动备份一星期的方法是很多的。

ORACLE备份保留策略(RETENTION POLICY)

备份管理器RMAN提供了CONFIGURE RETENTION POLICY命令设置备份保存策略,即设置备份文件保留多长时间。RMAN会将超出时间的备份文件标识为废弃(obsolete)。命令REPORT OBSOLETE和DELETE OBSOLETE分别用来查看废弃的文件和删除废弃的文件。RMAN跟踪备份的数据文件、控制文件、归档日志文件,并确定哪些需要保存,哪些需要标记为废弃。但RMAN不自动删除废弃的备份文件。

 

术语废弃与过时(expired)不同。备份文件是否废弃由备份保留策略确定,废弃的备份文件是在介质还原中不再需要的(not needed)。过时的文件是不再存在的文件(not found),可用CROSSCHECK命令查看过时信息。

 

备份保留策略除了影响数据文件和控制文件的备份文件,同样影响归档日志的备份文件。RMAN首先确认数据和控制文件的备份结果是否需要废弃,然后将时间在数据文件备份和控制文件备份的最早时间之前的归档日志备份标识为废弃。

 

定义备份保留策略有以下两种方式:

1.使用CONFIGURE RETENTION POLICY TO RECOVERY WINDOW命令。

 

例如:RMAN>CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 5 DAYS;

 

我现在的时间是6月11日16:42,如果我设置了上述备份保留策略并进行备份,则该备份在6月16日16:42之后会被标识为废弃。

 

2.使用CONFIGURE RETENTION POLICY REDUNDANCY命令。

 

 例如:RMAN>CONFIGURE RETENTION POLICY REDUNDANCY 3;

 

 如果进行了上述设置,当完成三次备份后,在做完第四次备份的时候,第一次备份结果将被标识为废弃。ORACLE11G默认的备份保留策略是用该方法设置的,且REDUNDANCY为1。可以使用命令CONFIGURE RETENTION POLICY CLEAR恢复策略为默认值。还可以用命令CONFIGURE RETENTION POLICY TO NONE进行策略设置,此时REPORT OBSOLETE和DELETE OBSOLETE将不把任何备份文件视为废弃。

以上是关于oracle 自动备份,保留一个星期的主要内容,如果未能解决你的问题,请参考以下文章

ORACLE备份保留策略(RETENTION POLICY)

沫沫金原创Bat批处理完成Oracle数据库7天备份自动删除

ORACLE服务器定时备份怎么做

如何实现Mysql数据库每天自动备份定时备份?

如何实现Mysql数据库每天自动备份定时备份

Oracle每天自动备份脚本