归档模式下恢复数据库,是不是必须前滚?

zhaojianmi1 2010-04-28 09:41:18
归档模式下,恢复数据库
备份介质(backup db)是在线(online)整库备份
恢复(restore)时,是不是还必须有归档日志,执行前滚(rollforward)操作
否则就会前滚挂起(rollforward pending)?
如果备份介质是离线备份,是不是就不需要前滚?
...全文
262 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
includeyu 2010-05-31
  • 打赏
  • 举报
回复
实验的时候,应该在线备份好后,再插入一条记录,然后再恢复试试看.
zhaojianmi1 2010-05-22
  • 打赏
  • 举报
回复
这也是没办法的,在线的时候数据库本来就处于不一致状态
[Quote=引用 12 楼 shenhai800 的回复:]
恩,online备份的库是处于不一致状态的,需要对应的日志rollforward到日志某一点,
也可是是日志尾。

总觉得这点不够人性化。
[/Quote]
mengzhisuoliu 2010-05-21
  • 打赏
  • 举报
回复
我也不知道是不是咯哈哈
shenhai800 2010-05-21
  • 打赏
  • 举报
回复
恩,online备份的库是处于不一致状态的,需要对应的日志rollforward到日志某一点,
也可是是日志尾。

总觉得这点不够人性化。
zhaojianmi1 2010-05-04
  • 打赏
  • 举报
回复
在容忍数据丢失的情况下,是不需要所有日志的,只需要恢复到一个一致点就可以了
[Quote=引用 10 楼 efan101 的回复:]
引用 9 楼 zhaojianmi1 的回复:

引用 8 楼 tjianliang 的回复:
引用 7 楼 zhaojianmi1 的回复:
不需要所有日志,只需要在线备份期间的活动日志即可恢复数据库,我的实验如下:
我在恢复数据库之后,把数据库日志和归档日志删除,然后在前滚,保证只有include logs里的日志

这个就是“备份点之后的所有日志文件”吧

在线备份(onl……
[/Quote]
zhaojianmi1 2010-05-03
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 tjianliang 的回复:]
引用 7 楼 zhaojianmi1 的回复:
不需要所有日志,只需要在线备份期间的活动日志即可恢复数据库,我的实验如下:
我在恢复数据库之后,把数据库日志和归档日志删除,然后在前滚,保证只有include logs里的日志

这个就是“备份点之后的所有日志文件”吧

在线备份(online)是一个“基点”,如果没有其后发生的数据变更操作记录(日志)
还原后数据实际上是回到了这个“基……
[/Quote]
不是所有日志,就是在备份期间的事务日志
王帆 2010-05-03
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zhaojianmi1 的回复:]

引用 8 楼 tjianliang 的回复:
引用 7 楼 zhaojianmi1 的回复:
不需要所有日志,只需要在线备份期间的活动日志即可恢复数据库,我的实验如下:
我在恢复数据库之后,把数据库日志和归档日志删除,然后在前滚,保证只有include logs里的日志

这个就是“备份点之后的所有日志文件”吧

在线备份(online)是一个“基点”,如果没有其后发生的数据变更操……
[/Quote]

是需要备份点以后的所有日志。如果不相信可以在恢复后前滚前,查看备份当前所需要日志序号。
亮剑_ 2010-05-02
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zhaojianmi1 的回复:]
不需要所有日志,只需要在线备份期间的活动日志即可恢复数据库,我的实验如下:
我在恢复数据库之后,把数据库日志和归档日志删除,然后在前滚,保证只有include logs里的日志
[/Quote]
这个就是“备份点之后的所有日志文件”吧

在线备份(online)是一个“基点”,如果没有其后发生的数据变更操作记录(日志)
还原后数据实际上是回到了这个“基点”,当然要把“基点”以后一直到日志结束的记录重新应用一遍才行(前滚到日志结束点)
zhaojianmi1 2010-04-30
  • 打赏
  • 举报
回复
昨天做了个实验,实验证明,不需要所有日志,只需要在线备份期间的活动日志即可恢复数据库,我的实验如下:
我在恢复数据库之后,把数据库日志和归档日志删除,然后在前滚,保证只有include logs里的日志

C:\Documents and Settings\db2admin>db2 create db tt on d:\
DB20000I CREATE DATABASE命令成功完成。


C:\Documents and Settings\db2admin>db2 connect to tt

数据库连接信息

数据库服务器 = DB2/NT 9.1.0
SQL 授权标识 = DB2ADMIN
本地数据库别名 = TT


C:\Documents and Settings\db2admin>db2 backup db tt online to d:\db2 compress in
clude logs

备份成功。此备份映像的时间戳记是:20100429104317


C:\Documents and Settings\db2admin>db2 restore db tt from d:\db2 taken at 201004
29104317 logtarget d:\db2
SQL2539W 警告!正在复原至与备份映像数据库相同的现有数据库。数据库文件将被删除。


要继续吗?(y/n) y
DB20000I RESTORE DATABASE命令成功完成。


C:\Documents and Settings\db2admin>db2 rollforward db tt to end of logs and stop
overflow log path (d:\db2)

前滚状态

输入数据库别名 = tt
节点数已返回状态 = 1

节点号 = 0
前滚状态 = 未暂挂
下一个要读取的日志文件 =
已处理的日志文件 = S0000003.LOG - S0000003.LOG
上次落实的事务 = 2010-04-29-14.25.37.000000 Local

DB20000I ROLLFORWARD命令成功完成。
Mr_Bean 2010-04-29
  • 打赏
  • 举报
回复
是的 所以在操作手册上联机备份之前必须要做一次脱机备份也就是这个原因
zhaojianmi1 2010-04-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 mr_bean 的回复:]
需要前一备份点之后的所有日志文件
[/Quote]
要求这么高啊
Mr_Bean 2010-04-28
  • 打赏
  • 举报
回复
需要前一备份点之后的所有日志文件
zhaojianmi1 2010-04-28
  • 打赏
  • 举报
回复
在线呢[Quote=引用 1 楼 tjianliang 的回复:]
离线备份还原后不需要前滚
[/Quote]
zhaojianmi1 2010-04-28
  • 打赏
  • 举报
回复
在线呢[Quote=引用楼主 zhaojianmi1 的回复:]
归档模式下,恢复数据库
备份介质(backup db)是在线(online)整库备份
恢复(restore)时,是不是还必须有归档日志,执行前滚(rollforward)操作
否则就会前滚挂起(rollforward pending)?
如果备份介质是离线备份,是不是就不需要前滚?
[/Quote]
亮剑_ 2010-04-28
  • 打赏
  • 举报
回复
离线备份还原后不需要前滚

5,891

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧