注册
备份还原恢复中用到的校验工具及恢复过程中容易疏忽的问题总结
技术分享/ 文章详情 /

备份还原恢复中用到的校验工具及恢复过程中容易疏忽的问题总结

LHX 2024/09/14 545 0 0
  1. 还原恢复常用于数据文件丢失或损坏、数据迁移等场景中,在日常运维中属于比较常用的恢复手段,具体操作也并不复杂,利用备份集+归档进行数据库恢复,对备份集和归档的校验也是很重要的工作,尤其是核心系统恢复前要确保操作可行性,所以建议大家恢复前做好充分的校验工作。

  2. 主备环境如果备库宕机时间较长,一定要确认备库可恢复到的最大lsn要大于主库的最小lsn,确保备库加入集群后数据能够正常追赶。

  3. 测试操作:
    先清空一个数据文件:> TEST_SPACE.DBF
    image.png
    查看日志数据库服务由于数据文件被修改已经停止。
    image.png
    利用实例校验工具检查数据库完整性,此工具用于数据库实例正常关闭情况下,由于本次数据库实例非正常关闭,本次无法使用。
    ./dmdbchk PATH=/home/dmdba/dm/dmdbms/bin/dm.ini
    image.png
    ##假如如果正常停库再移走数据文件这类能正常停止实例的情况下,会有类似如下的打印:image.png
    针对备份集校验,常用RMAN check,如果想打印备份集详细信息,可以用show查看。
    RMAN> CHECK BACKUPSET ‘/dbbak/dmbak/db_full_bak_01’;
    image.png
    RMAN> SHOW BACKUPSET ‘/dbbak/dmbak/db_full_bak_01’;
    image.png
    归档校验工具dmrachk,用于查看归档文件可用性。
    ./dmrachk ARCH_PATH=/dbarch/dmarch/
    image.png
    如果归档不连贯,就要看归档可用的clsn是否包含备份集的end_lsn。
    还原恢复操作并不复杂也不过多赘述。
    还原数据库
    RMAN>RESTORE DATABASE ‘/home/dmdba/dm/dmdbms/bin/dm.ini’ FROM BACKUPSET ‘/dbbak/dmbak/db_full_bak_01’;
    恢复数据库
    RMAN>RECOVER DATABASE ‘/home/dmdba/dm/dmdbms/bin/dm.ini’ FROM BACKUPSET ‘/dbbak/dmbak/db_full_bak_01’;
    image.png归档恢复
    RECOVER DATABASE ‘/home/dmdba/dm/dmdbms/bin/dm.ini’ WITH ARCHIVEDIR ‘/dbarch/dmarch/’;
    image.png
    (达梦8需要update dm_magic, update db_magic会导致增量备份任务失效,是由于数据库改变了db_magic与备份集中的db_magic并不对应,需要先进行一次全量备份。
    RECOVER DATABASE ‘/home/dmdba/dm/dmdbms/bin/dm.ini’ update db_magic;)
    至此数据库实例正常恢复。
    image.png

  4. 在主备环境中需要确认归档情况,确认恢复后备库的LSN远大于主库最小LSN的归档文件,如果距离主库最小LSN较近,则先调整主库归档清理策略dmarch.ini,避免主库的归档被刷掉,保障实例启动后能正常追数。在备库实例恢复前判断的话,可以用备份集检查、归档检查工具进行lsn查看。

    查看当前LSN
    SELECT CKPT_LSN from V$RLOG;

    查看归档LSN
    SELECT NAME,FIRST_CHANGE#,NEXT_CHANGE# FROM V$ARCHIVED_LOG;
    image.png

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服