`
ahuango
  • 浏览: 55852 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

<<DB2 for linux,unix and window 6th>> 摘记 - 数据库恢复

    博客分类:
  • DB2
阅读更多
1. DB2 判断一个数据库是否可恢复
可以根据数据库配置项LOGRETAIN,USEREXIT或LOGARCHMETH1,LOGARCHMETH2是否启用来判断

2. DB2 日志类型
DB2 中有两种类型的日志Circular 和 Archival。
Circular类型的日志文件会被重新利用当文件记录的所有事物均已提交或回滚。 它不能用于Roll-forward的恢复。它为DB2的默认日志类型。
Archival 日志,顾名思义当日志文件不活动是将被归档而不是重新利用,它是支持roll-forward恢复的必要方式。在这种方式下,有三种日志文件:
  • a. Active
  • 这种文件中包含还未提交的事务。它被用于Crash 恢复时,用于使数据库脱离数据不一致的状态。RESTART DATABASE(crash recovery) 和 ROLLFORWARD(恢复到某个时间点或end of log)命令使用active logs 去提交或回滚事务来保持一致。
    -- DB2 支持日志的镜像,有参数MIRRORLOGPATH控制, 允许创建一个相同内容的拷贝到不同的路径。
  • b. Online Archived
  • 这种日志包括已经完成且在 restart recovery是不再需要的事务。它们与active logs 存储与相同目录下所以称作online。
  • c. Offline Archived
  • 它们与online archived 类似,但是不在active目录下,可以被存于外部的一些设备上如TSM(Tivoli Storage Manager) 产品。


DB2有两组命令来配置archival logging:
  • LOGRETAIN, USEREXIT
  • LOGARCHMETH1, LOGARCHMETH2

其中LOGRETAIN, USEREXIT在DB29中已经被标志为deprecated,所以推荐另外一组。
LOGARCHMETH1代表了primary archived logs的媒体类型,它有5个选项:
  • OFF (default)
  • 表示不采用archiving log, 使用循环日志
  • LOGRETAIN
  • 当日志可以归档时,不删除日志文件
  • USEREXIT
  • 当日志可以归档时,调用user exit程序来处理文件
  • DISK
  • 这个参数后面必须跟一个冒号(:), 然后是一个全路径来存放日志文件。 如 :/u/db2user/archived_logs
  • TSM
  • 表明log文件存档于本地的TSM 服务器。如果后面跟一个冒号和management class,将由这个class来归档。
  • VENDOR
  • 由一个vendor库来归档日志。 冒号 + 程序库名。


LOGARCHMETH2表示secondary archived logs的媒体类型。 它的值可以是OFF 或者一个文件路径。当指定一个文件路径是,log文件将会同时被归档到这个路径下和LOGARCHMETH1设置的路径下。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics