db2中日志模式和备份归档、恢复的示例分析

63次阅读
没有评论

共计 3341 个字符,预计需要花费 9 分钟才能阅读完成。

这篇文章主要介绍了 db2 中日志模式和备份归档、恢复的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让丸趣 TV 小编带着大家一起了解一下。

  一、日志循环

  这是默认方式,也就是非归档模式,这种模式只支持(backup offline)脱机备份,在备份过程中需要 DB2 停止服务。

  在 DB2 中查看数据库设置,如发现如下信息  

$db2 get db cfg for db_name |grep -i log

  结果如下:

   Log retain for recovery enabled             (
 LOGRETAIN) = OFF
 

     User exit for logging enabled                (USEREXIT) = OFF
   HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC
   First log archive method                        
 (LOGARCHMETH1) = OFF

    则说明为非归档模式,默认情况下为循环日志

  在这种模式下进行脱机备份需要注意:

1、停止应用对 DB2 的访问。可以通过 db2 list applications 命令查看现有的连接,然后通过 db2 force application 命令来结束连接。另外通过 db2 deactivate database 命令来确保数据库未处于活动状态。

2、通过 db2 backup db 数据库名 命令来对数据库进行备份。

二、归档日志

    归档日志不是默认的,需要配置后才会生效,这种模式下的数据库是可恢复的数据库,支持在线备份、前滚恢复和崩溃恢复。

配置 DB2 归档日志模式主要是要修改 Log retain for recovery enabled 和 First log archive method 这两个参数。

    修改参数(update 更新参数)后,查看数据库是如下设置

   $db2 get db cfg for db_name |grep -i log

      Log retain for recovery enabled             (LOGRETAIN) = RECOVERY
      User exit for logging enabled                (USEREXIT) = OFF
      HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC
      First log archive method                 (LOGARCHMETH1) = LOGRETAIN

注意这里 First log archive method 的参数 LOGRETAIN 只表明你开启了归档,还需进一步设置才能正常备份

下面需要进一步指定归档目录的路径

更改归档目录:

$db2 update db cfg for db_name using LOGARCHMETH1 disk:/archive/db_name_db_log

使用归档日志, 当日志文件满时,会自动对它进行归档,归档的目的地就是 Logarchmeth2 设置的位置。归档日志文件之后,必须人工将无用的归档日志删除,以便新的日志文件可以复用磁盘空间。每当日志文件已满,DB2 就开始将记录写至另一个日志文件,并且不断创建新日志文件。

如果在归档日志文件时发生错误,归档将暂挂一段时间,此时间由“Log archive retry Delay (secs)” ARCHRETRYDELAY 数据库配置参数指定,还可以使用“Number of log archive retries on error”NUMARCHRETRY 数据库配置参数来指定 DB2 尝试将日志文件归档到主要或辅助归档目录的次数,然后它再尝试将日志文件归档到故障转移目录(由“Failover log archive path”FAILARCHPATH 数据库配置参数指定)。

  还有就是容易遇见数据库事务日志已满导致备份出错的问题,这是可以查看这三个参数

Log file size (4KB)                         (LOGFILSIZ) = 8192
  Number of primary log files                (LOGPRIMARY) = 10
  Number of secondary log files               (LOGSECOND) = 4

  并适当调整日志文件大小和主辅日志的文件个数。

最后就是要注意这两个参数的设置

Options for logarchmeth2                  (LOGARCHOPT1) =

Second log archive method                 (LOGARCHMETH2) =

有以下几种情况:

1、Logarchmeth2 设置为 LOGRETAIN,Logarchmeth3 设置为 OFF

这时归档日志位置就是 DB2 数据库日志的位置,需要人工干预归档日志的转移和空间维护工作

2、Logarchmeth2 设置为 USEREXIT,Logarchmeth3 设置为 OFF

这时归档日志的管理交由 USEREXIT 来处理,通过设置编译 USEREXIT 可以实现相对复杂一些的归档管理方式

3、Logarchmeth2 设置为指定目录 Directory,Logarchmeth3 设置为 OFF

归档日志的工作将会自动进行,需要归档日志将会被自动归档到 Directory 指定的位置,由于归档是自动进行,DB2 的日志目录中只有正常 logprimary+logsecond 个数的数据库日志。

4、Logarchmeth2 设置为 Directory1,Logarchmeth3 设置为 Directory2

归档日志的工作将会自动进行,需要归档日志将会被自动归档到 Directory1 和 Directory2 指定的位置,也就是会产生两份归档日志。由于归档是自动进行,DB2 的日志目录中只有正常 logprimary+logsecond 个数的数据库日志。对性能有一定的影响。

Directory1 或者 Directory2 都可以设置为 TSM。一般推荐 Directory1 为文件系统,Directory2 设置为 TSM,这样既可以归档到 TSM 离线保存,又可以在线使用文件系统中的归档日志,比较方便。

注意:设置 Logarchmeth2 和 Logarchmeth3 后,数据库会进入 backup pending 状态,必须进行一次脱机备份,数据才会进入 recovery 模式并且正常工作。

三、备份与恢复

1、简单的冷备与恢复

$ db2 backup db [dbname] to 路径
$ db2 restore db [dbname] from 路径 taken at 时间戳

2、在线热备与恢复

$ db2 backup db dbname online to 路径 include logs

$ db2 restore db dbname from 路径 taken at 时间戳

$ db2 rollforward db dbname to 2013-02-31-20.00.00.000000 using local time and complete overflow log path (/backup/logs)     前滚日志恢复至指定时间点

3、查看备份记录

$ db2 list history backup all for dbname   可以看到备份的纪录

附:DB2 数据库备份恢复的概念和知识点

备份类型:脱机备份(也称冷备份或离线备份)、联机备份(也称热备份或在线备份)、完全备份、增量备份(也称累积备份)、差异备份
db2 中日志模式和备份归档、恢复的示例分析

数据库备份文件结构

db2 中日志模式和备份归档、恢复的示例分析

恢复类型:崩溃恢复、版本恢复、前滚恢复(任意时间点恢复,恢复到最近时间点)

恢复情形:完全恢复、不完全恢复

手动恢复数据库的顺序

日志类型:循环日志(默认)、归档日志(活动日志、在线归档日志、离线归档日志)

日志类型与恢复类型:循环日志只支持崩溃恢复和版本恢复,归档日志支持所有类型的恢复

凡是联机备份产生的备份集在恢复时都需要使用归档日志,归档日志方式是是允许用户执行前滚(rollforward)恢复的唯一方法。

前滚的时间要在最小恢复时间点之后,最后的事务提交时间点之前。

感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享的“db2 中日志模式和备份归档、恢复的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,更多相关知识等着你来学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计3341字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)