• rman异常案例二: 归档日志被人移动到其他目录,导致数据库恢复异常(续)


    上一篇文章的场景是归档日志被意外挪走,再来一个续篇,这次要讲的是正常情况下,为了节约成本,用快盘暂存归档,然后移动到慢速盘。估计很多dba不喜欢干这事情,因为这对于数据恢复又多一道工序,比较麻烦,但是老板们应该很喜欢这种方案的,:)@


    上一盘文章为: rman异常案例一: 归档日志被人移动到其他目录,导致数据库恢复异常


    列举一个实际需求:

    我们有一套数据仓库,每天产生归档日志200G。

    基于性能考虑,归档日志需要使用快速读写磁盘存放,这样归档速度可以快一些,保证数据库的性能;

    基于成本考虑,由于存放归档日志的快速磁盘比较昂贵,所以空间不能分得太多,如果一星期或者半个月的归档日志都用快速盘存放,成本实在太高;

    综合考虑之后,我们用快盘暂存归档,然后移动到慢速盘。只能保证300G,所以每天必须定时把归档日志移动到其他相对廉价的慢速磁盘内。




    使用rman的 catalog start with语法手工注册归档日志或者备份集所在目录到控制文件,然后到控制文件核实刚刚新添加进去的内容,过程如下:

    1、手工注册

    RMAN> catalog start with '/oracle/rman/bkupset/';  

    (用于备份集被移动地方的情况,手工注册备份集到控制文件)

    RMAN> catalog start with '/oracle/oraarch/testdir/';

    (用于归档日志被移动地方的情况,手工注册归档日志到控制文件)

    2、到控制文件核实

    suse11sp2:/oracle/oradata/ebai> strings control01.ctl  >> 13.txt
    suse11sp2:/oracle/oradata/ebai>
    suse11sp2:/oracle/oradata/ebai>
    suse11sp2:/oracle/oradata/ebai> vi 13.txt
    suse11sp2:/oracle/oradata/ebai> cat 13.txt | grep bkupset
    /oracle/rman/bkupset/spfile_2hoi0k9j_1_1_20130823
    /oracle/rman/bkupset/data_29oi0k8q_1_1_20130823
    /oracle/rman/bkupset/arch_2doi0k9b_1_1_20130823
    /oracle/rman/bkupset/arch_2boi0k9b_1_1_20130823
    /oracle/rman/bkupset/arch_2coi0k9b_1_1_20130823
    /oracle/rman/bkupset/ctl_file_2foi0k9g_1_1_20130823
    /oracle/rman/bkupset/data_28oi0k8q_1_1_20130823
    /oracle/rman/bkupset/data_27oi0k8q_1_1_20130823
    /oracle/rman/bkupset/spfile_2hoi0k9j_1_1_20130823
    /oracle/rman/bkupset/data_29oi0k8q_1_1_20130823
    /oracle/rman/bkupset/arch_2doi0k9b_1_1_20130823
    /oracle/rman/bkupset/arch_2boi0k9b_1_1_20130823
    /oracle/rman/bkupset/arch_2coi0k9b_1_1_20130823
    /oracle/rman/bkupset/ctl_file_2foi0k9g_1_1_20130823
    /oracle/rman/bkupset/data_28oi0k8q_1_1_20130823
    suse11sp2:/oracle/oradata/ebai> cat 13.txt | grep testdir
    /oracle/oraarch/testdir/1_92_821442260.dbf
    /oracle/oraarch/testdir/1_114_821442260.dbf
    /oracle/oraarch/testdir/1_116_821442260.dbf
    /oracle/oraarch/testdir/1_120_821442260.dbf
    /oracle/oraarch/testdir/1_91_821442260.dbf
    /oracle/oraarch/testdir/1_89_821442260.dbf
    /oracle/oraarch/testdir/1_119_821442260.dbf
    /oracle/oraarch/testdir/1_92_821442260.dbf
    /oracle/oraarch/testdir/1_114_821442260.dbf
    /oracle/oraarch/testdir/1_116_821442260.dbf
    /oracle/oraarch/testdir/1_120_821442260.dbf
    /oracle/oraarch/testdir/1_91_821442260.dbf
    /oracle/oraarch/testdir/1_89_821442260.dbf
    /oracle/oraarch/testdir/1_119_821442260.dbf
    /oracle/oraarch/testdir/1_113_821442260.dbf
    /oracle/oraarch/testdir/1_115_821442260.dbf
    /oracle/oraarch/testdir/1_109_821442260.dbf
    /oracle/oraarch/testdir/1_117_821442260.dbf
    /oracle/oraarch/testdir/1_112_821442260.dbf
    /oracle/oraarch/testdir/1_121_821442260.dbf
    /oracle/oraarch/testdir/1_110_821442260.dbf
    /oracle/oraarch/testdir/1_90_821442260.dbf
    /oracle/oraarch/testdir/1_88_821442260.dbf
    /oracle/oraarch/testdir/1_111_821442260.dbf
    /oracle/oraarch/testdir/1_115_821442260.dbf
    /oracle/oraarch/testdir/1_109_821442260.dbf
    /oracle/oraarch/testdir/1_117_821442260.dbf
    /oracle/oraarch/testdir/1_112_821442260.dbf
    /oracle/oraarch/testdir/1_121_821442260.dbf
    /oracle/oraarch/testdir/1_110_821442260.dbf
    /oracle/oraarch/testdir/1_90_821442260.dbf
    /oracle/oraarch/testdir/1_88_821442260.dbf
    /oracle/oraarch/testdir/1_111_821442260.dbf
    /oracle/oraarch/testdir/1_118_821442260.dbf


    归档日志注册之后,再执行restore database和recover database,就比较简单了。


    ___________________________________________________________________________________

    版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

    Author:   laven54 (lurou)

    Email:    laven54@163.com

    Blog:      http://blog.csdn.net/laven54

    QQ群: 164734649  可以到群里来提问,Oracle相关的问题我都很感兴趣



  • 相关阅读:
    Thinkphp3.2 cms之角色开发
    说几个你知道的设计模式?
    9种实现点击一个链接弹出一个小窗口的代码
    分享自己作为一个程序员的找工作经历
    网页设置锚点
    博客园网摘地址
    PHP面试总结
    简单的10秒倒计时
    PHP测试题目
    关键字搜索内容总结
  • 原文地址:https://www.cnblogs.com/bbsno1/p/3280012.html
Copyright © 2020-2023  润新知