ITPub博客

首页 > 数据库 > > RECOVER DATABASE--针对backup命令的备份集进行恢复

RECOVER DATABASE--针对backup命令的备份集进行恢复

作者:GaussDB_数据库 时间:2020-02-26 10:26:24 0 删除 编辑

功能描述

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

注意事项

  • 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 状态下执行。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3141815/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-01-06

  • 博文量
    2907
  • 访问量
    19213