风影子
作者风影子·2011-03-22 20:50
数据库管理员·深圳

解决DataGuard 逻辑standby应用完主库归档日志后不自动删除已应用的主库归档日志一例

字数 2171阅读 10952评论 5赞 4

    今天终于解决了一个dataguard困扰了我半年的问题,其实算不上解决问题,原因只是因为我将一个默认参数进行了修改导致,但到底困扰了我这么久,还是记录一下。

    这是我的第一个实施的dataguard项目,主库环境为oracle 10g rac +asm,备库是oracle asm单实例,因为备库的容量只有主库的一半大,所以做的是逻辑standby。数据同步一直都正常,但一直有个问题没解决,那就是备库归档日志增长过快,导致备库容量紧张,只能手工去删除归档日志的问题。

    生产库备置了磁带库使用了tsm进行数据库备份,备份后自动清除归档日志。备库则未配置磁带库和tsm软件,于是我自己写了个脚本定时执行来进行归档日志备份后清除归档日志,另外再写了个脚本定期清理已备份的归档日志备份集。从rman日志中看备份一切正常,已删除了相应的归档日志文件。但从asm磁盘中看仍有大量的归档日志文件未删除,rman怎么会不清这些归档日志呢?真是百思不得其解,在论坛上求助也无果。

    因为这个项目是外省的一个项目,平时我都是通过远程桌面连接过去进行的分析,公司的网速是挺慢的,每次操作都卡得要死,所以都没有太深入进行检查分析。昨天晚上在外工作到到4点才回家睡觉,于是今天下午决定在家决定联系用户好好对此问题进行详细分析,希望能彻底解决问题。果然家里4M独立带宽很给力,远程过去一点都不卡,这似乎预示着今天一定能解决问题。

    仔细看了一下昨天的rman备份日志,然后又用asmcmd命令到asm磁盘组查看归档日志文件发现备份日志中记录已删除的归档日志果然在asm磁盘中找不到,看来rman命令确实是生效了,删除了相应的归档日志。我注意到已删除的归档日志和未删除的归档日志文件命名有很大的不一样,难道这些没有删除的归档日志是从主库接收过来的?所以才不能被rman所删除?带着这个疑问,马上用asmcmd访问了主库的asm磁盘中的归档日志文件,果然备库中未删除的归档日志文件就来自于主库。原来之前我不可理解的备库归档日志增长过快原因就在于此,因为所有的主库归档日志都存在于备库,又没进行过删除,不大才怪。原因是找到了,那就好好想想该怎么解决吧。

    记得看了好几个文档都说逻辑standby在应用完主库归档日志后会自动把接收过来的归档日志文件删除掉,而且我后来也实施了好几个dataguard灾备项目,结果也证实确实是逻辑standby在应用完主库归档日志后会自动把接收过来的归档日志文件删除掉。有一个参数LOG_AUTO_DELETE可以使应用完主库归档日志后不删除已应用的归档日志,但这个参数默认为true,我也没改过这个参数呀?但结合现在的实际情况来看很像是这个参数被改了。

    最初的想法是先把这个参数改为true看看是什么效果,看能不能解决问题。于是按着文档上的执行EXECUTE DBMS_LOGSTDBY.APPLY_SET('LOG_AUTO_DELETE', TRUE);居然出错了,大意是说参数个数或类型为匹配之类的,改为

EXECUTE DBMS_LOGSTDBY.APPLY_SET('LOG_AUTO_DELETE', 'TRUE');后执行成功。

    立马进行试验

    1、在主库强制进行归档,查看归档后的归档日志文件名

    2、在备库查看这个归档日志是否被应用,结果是已经被应用了

    3、查看备库asm磁盘的归档日志文件中是否还存在这个从主库接收过来的归档日志文件,结果是还存在

    经过实验,有一点点小失望,好不容易感觉到希望感觉好像希望又要破灭了,这时突然想起要来查查LOG_AUTO_DELETE参数的值,经过查询终于知道了如何查看

看来参数已经失效了,遗憾的是在改这个参数前忘记了先查看这个参数的值,如果之前是FALSE,现在是TRUE那就好定位了。可不管先前是什么,我现在已经改成了TRUE,但感觉也还没效,这又是怎么回事呢?

    又是一番网上查询,未找到相关资料,这时无意在备库的asm磁盘中查询了一下今天的归档日志文件,竟然有了意外发现

    那些从主库接收过来的归档日志几乎全部没有了,难道开始是我太心急?再回到上级目录,发现除了2011_03_22目录外,其它目录居然都不见了,再查看asm磁盘空间,居然空出了大把空间。看来果真是那个参数的问题。

    问题是解决了,原因是LOG_AUTO_DELETE参数之前被改为了FALSE,但除了我不会有人会来进行这个操作才对,看来很有可能是当时为了研究dataguard时不小心改了这个参数而未改回来。不管怎么样,问题解决了总是开心的,马上把结果告诉给用户,用户也是比较高兴,因为之前都老要他人工去进行删除归档日志文件,据然说过年期间他不放心还跑到单位去清了一次归档日志,也真是不容易。

    

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

4

添加新评论5 条评论

myguangzhoumyguangzhou技术经理Uniwise
2012-03-20 01:32
物理备库就没办法了
nkj827nkj827项目经理长春长信华天
2011-04-26 10:37
支持原创文章
fullerfuller系统工程师荣科科技股份有限公司
2011-03-28 09:33
强啊!!!!
风影子风影子数据库管理员深圳
2011-03-23 11:40
呵。。。是啊。还好平时关系比较好。
campspiritcampspirit技术经理中科软
2011-03-23 10:57
客户够冤的,呵呵
Ctrl+Enter 发表

作者其他文章

X社区推广