永发信息网

如何RMAN正确地删除Archivelog 如何设置有备库的归档删除策略

答案:1  悬赏:80  手机版
解决时间 2021-02-21 14:06
如何RMAN正确地删除Archivelog 如何设置有备库的归档删除策略
最佳答案
如何正确地删除Archivelog:
Archivelog并不能直接得从OS层直接物理删除,因为archivelog的相关信息是记录在controlfile中的,当物理删除后不会改变controlfile的设置。并且在查询相关的动态视图(例如v$archived_log)时,该部分日志仍然标注为存在。也就是说Oracle并不认为这些日志被删除了,所以在删除archivelog的时候,需要我们在其他地方做一些设置。
一、使用RMAN清楚物理删除后的记录
可以使用RMAN来删除archivelog,具体可以按以下步骤操作:
1、物理删除archivelog
2、进入RMAN
3、crosscheck archivelog all;
4、delete expried archivelog all;
这样就在一些Oracle的记录中查不到相应的archivelog记录了。
二、直接使用RMAN删除archivelog
其实在RMAN中是可以使用命令直接将ARCHIVELOG删除的,命令如下:
RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';
表示删除7天以前的所有archivelog,但是这个命令的缺点是无法对archivelog进行细致的划分。
三、使用RMAN备份achivelog后删除
这是一种最为稳妥的方法了,使用RMAN备份archivelog,备份后全部删除
backup format '/u01/arch_%T_%s_%U' archivelog all delete input;
或者
backup database plus archivelog;
注:我在库上设置了Streams后,使用RMAN删除archivelog会导致报错RMAN-08137: WARNING:
archive log not deleted as it is still needed. 不知道该如何解决,据说是10.2的一个bug,如果真
是bug的话,那只能在OS层设置删除,或用RMAN进行强制删除了。
10g之后的版本,Oracle在RMAN中内置增加了一项归档文件的删除策略,终于,DBA可以仅通过一项配置就
解决该问题了。该策略对应两个值:
APPLIED ON STANDBY:设置为该值时,当通过附加的DELETE INPUT子句删除Standby数据库仍需要的日志
时,会提示RMAN-08137错误。不过用户仍然可以手动地通过DELETE ARCHIVELOG方式删除。
NONE:设置为该值时,则不启用归档文件的删除策略。默认情况下就是NONE。
例如,启用APPLIED ON STANDBY:
RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;
new RMAN configuration parameters:
CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;
new RMAN configuration parameters are successfully stored
RMAN> run
{
backup archivelog all delete input format 'ZHSVR044_%d_set=%s_piece=%p_date=%T.ARC.rmn';
}
都知道在controlfile中记录着每一个archivelog的相关信息,当然们在OS下把这些物理文件delete掉后,在我们的
controlfile中仍然记录着这些archivelog的信息,在oracle的OEM管理器中有可视化的日志展现出,当我们手工清除archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,也就是oracle并不知道这些文件已经不存在了!这时候我们要做手工的清除的话,下面我经过实验,可以尝试这种方法:
1. 进入rman
2. connect target /
3. crosscheck archivelog all;
4. delete expired archivelog all;
这时候我们再去OEM中看就一定看不到,如果你的从来没有做过这个动作的话,我们可以比较从这个动作前的controlfile后动作后的controlfile的大小!
ORACLE正确删除归档并回收空间的方法
ORACLE正确删除归档并回收空间的方法
一个ORACLE归档日志经常满,表现为/oraarchive 这个文件空间占用100%大家一定抱怨ORACLE为何没有归档维护工具,很多人直接删除了事,错了,ORACLE有,而且很智能,可以正确的删除归档和FLASHBACK,不过切记,ORACLE归档日志对于ORACLE的数据恢复和备份非常重要,不到万不得已不要删除归档日志。
删除归档日志的过程
以ORACLE用户身份登录到数据库服务器主机或通过网络连接
进入ORACLE数据备份工具
rman target/
或rman target/@orcl
在命令窗口里面执行
DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';
说明
SYSDATA-7,表明当前的系统时间7天前,before关键字表示在7天前的归档日志,如果使用了闪回功能,也会删除闪回的数据。
同样道理,也可以删除从7天前到现在的全部日志,不过这个命令要考虑清楚,做完这个删除,最好马上进行全备份数据库
DELETE ARCHIVELOG FROM TIME 'SYSDATE-7';
UNIX/LINUX下也可以通过FIND找到7天前的归档数据,使用EXEC子操作删除
find /oraarchive -xdev -mtime +7 -name "*.dbf" -exec rm -f {} ;
这样做仍然会在RMAN里留下未管理的归档文件
仍需要在RMAN里执行下面2条命令
crosscheck archivelog all;
delete expired archivelog all;
所以还不如上面的方法好用,不过用FIND的好处就是,可以在条件上,和EXEC子项上做很多操作,实现更复杂的功能
3.简要介绍一下report obsolete命令
使用report obsolete命令报告过期备份。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
下图为小马同学根据所学历史知识绘制的19世纪
无锡火车站出口怎么到无锡高铁站出口?
天聪幼儿园地址在什么地方,想过去办事
根据个人所得税的相关规定,下列表述正确的有
刘街村地址有知道的么?有点事想过去
小时候吃过一种叫黑天天的东西、想知道黑天天
运用你所学知识判断,下列有关神经调节和激素
存款哪个银行最安全
intel my wifi技术一直被禁用,我的电脑是del
万家邻生活超市地址在哪,我要去那里办事
孩子入院了能买保险吗
设置广本飞度汽车充电指示灯怎么就亮了红灯
什么是架力筋
蚊蝇等害虫对DDT产生抗药性的主要原因是BA.
明逸时尚网咖在什么地方啊,我要过去处理事情
推荐资讯
国内油价跟着国际油价涨 为什么降的时候不跟
【工资刚性】实际工资刚性产生的原因有哪些
惠州地税龙门县永汉办税服务厅地址在哪,我要
快乐宝贝幼儿园怎么去啊,有知道地址的么
作文评价修改,今天写了一篇作文大家评评有没
我的孩子一岁半白细胞值是11正常吗?
怎么开虚拟网
帅邦厨卫(彭婆专卖店)怎么去啊,有知道地址的
【报道范文】采访报道怎么写?
我的电脑网络数据包接收那为什么总是有一把锁
求重生之末日危机TXT全集
三相四线电表快是怎么回事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?