暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB T RECOVER DATABASE

墨天轮 2019-10-12
524

RECOVER DATABASE

功能描述

回放数据库的全部日志或回放日志到指定时间点,恢复数据库的数据。

注意事项

  • RECOVER DATABASE(不包括 RECOVER DATABASE UNTIL CANCEL)必须在成功执行RESTORE DATABASE恢复数据库文件后执行。如果RECOVER DATABASE未执行成功,则后续启动数据库至OPEN状态会失败。
  • RECOVER DATABASE UNTIL CANCEL,仅在数据库因日志损坏无法启动时使用,需要在mount状态执行,执行后必须使用ALTER DATABASE RESTLOGS或ALTER DATABASE IGNORE LOGS启动数据库。

语法格式

RECOVER DATABASE [ UNTIL [TIME 'time_string' | CANCEL] ]

参数说明

  • UNTIL TIME

    恢复到time_string时间点。

  • time_string

    设置回放数据库日志至某个时间点。

    格式为“YYYY-MM-DD HH:MM:SS”。时间精度可指定到秒级别。

  • UNTIL CANCEL

    恢复到最后一个可用的日志点。主要用于数据库因日志损坏导致无法启动时,忽略损坏日志,强行启动数据库。此操作会丢失一些数据,也可能破坏数据一致性,因此仅在数据库日志损坏并无法启动时才可以使用此命令。

示例

  • 完全恢复数据库(回放全部日志)。
    --open状态下全量备份到磁盘。 BACKUP DATABASE FULL FORMAT '?/full0824.bak';
    --清空data目录($GSDB_DATA/data)下的数据文件后,在nomount状态下恢复数据库的数据文件。 RESTORE DATABASE FROM '?/full0824.bak';
    --完全恢复数据库(回放全部日志)。 RECOVER DATABASE;
  • 将数据库恢复至指定时间点(回放日志至指定时间点)。
    --OPEN状态下全量备份到磁盘。 BACKUP DATABASE FULL FORMAT '?/fullbackup01.bak';
    --清空data目录($GSDB_DATA/data)下的数据文件后,在nomount状态下恢复数据库的数据文件。 RESTORE DATABASE FROM '?/fullbackup01.bak';
    --将数据库恢复至指定时间点(回放日志至指定时间点)。 RECOVER DATABASE UNTIL TIME '2018-06-29 15:28:54';
  • 恢复数据库直到最后一个可用的日志点,忽略后面损坏的日志,在 mount 状态下执行。
    说明:
    • 若数据库可以恢复到CONSISTENT POINT,则可以保证数据一致性,ALTER DATABASE OPEN RESTLOGS可成功执行;
    • 否则,数据库已经不能保证数据一致性了,此时只能ALTER DATABASE OPEN IGNORE LOGS强行启动。
    RECOVER DATABASE UNTIL CANCEL; ALTER DATABASE OPEN RESTLOGS;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论