zoukankan      html  css  js  c++  java
  • Sybase数据库的备份策略 全备+增备

    如果设置日志自动清除  则只需进行定期全量备份  不能增量备份

    sp_dboption HFTEST,"trunc log on chkpt",true

    --如果设置数据库不清除日志
    sp_dboption HFTEST,"trunc log on chkpt",false

    如果只有全备,恢复就是恢复到全备完成点。
    如果是全备 + 增备, 恢复到全备完成点 + 增备任意时刻点(包括增备完成点)。

    增备指的就是定时备份日志例句
    例:dump tran 数据库名称 to 'D:\log.dat'

    根据业务的实际情况,可以制定日志备份的时间间隔
    比如:日志每天备一次,或者每小时备一次,或者15分钟备一次。

    备份日志的内容 = 上次备份日志的时间 至 本次备份日志 之间的日志。

    如果是全备后第一次备日志,则是全备至此次日志备份时的 日志。

    dump transaction 数据库名称 with truncate_only

    上面的语句是删除目前存在的所有日志。与自动清除日志比,这个是手动删除日志。
    如果执行了这个,按照增备的逻辑,就不可能再做增备了,只能等到开启下一次全备后,才能开始新的增备。

    dump tran with truncate_only 与 dump tran with no_log相比,功能是一样的。
    dump tran with no_log是紧急情况下(日志已满)使用的一种特例,没有特殊情况,不要使用这个语句

    实战实例

    dump database hanghai_exp from 'D:\databak.dmp' --备份数据库
    --设置数据库不清除日志
    sp_dboption HFTEST,"trunc log on chkpt",false

    在2021-02-01 18:00 想让数据库返回到 2021-02-01 12:00 当时的状态


    --加载日志
    1.dump tran HFTEST to 'D:\log.dat'

    --将数据库恢复至备份时刻
    2.load database HFTEST from 'D:\databak.dmp'

    --利用数据库日志在备份基础上执行recovery 恢复到指定时间点
    3.load tran HFTEST from 'D:\log.dat' with until_time =' 2021/02/01 12:00:00'

  • 相关阅读:
    [译]JavaScript源码转换:非破坏式与再生式
    [译]ES6中的代理对象
    tensorflow 如何获取graph中的所有tensor name
    python3中的str和bytes
    git submodule 添加 更新 删除 教程
    《重构:改善既有代码的设计》摘抄
    thrift入门教程/thrift资料集合
    将python2代码升级为python3代码最佳实践
    python标准库:subprocess——子进程管理
    安装“python-snappy”遇到“error: command 'x86_64-linux-gnu-gcc' failed with exit status 1”
  • 原文地址:https://www.cnblogs.com/dll102/p/15788586.html
Copyright © 2011-2022 走看看