DB2的日志分为两种模式,日志循环与归档日志,也就是非归档和归档模式。下面就具体介绍一下这两种方式以及和备份归档设置的关系。

  一、日志循环

  这是默认方式,也就是非归档模式,这种模式只支持(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"   使用归档日志,当日志文件满时,会自动对它进行归档,归档的目的地就是Logarchmeth1设置的位置。归档日志文件之后,必须人工将无用的归档日志删除,以便新的日志文件可以复用磁盘空间。每当日志文件已满,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 logarchmeth1 (LOGARCHOPT1) = Second log archive method (LOGARCHMETH2) = 有以下几种情况: 1、Logarchmeth1设置为LOGRETAIN,Logarchmeth2设置为OFF   这时归档日志位置就是DB2数据库日志的位置,需要人工干预归档日志的转移和空间维护工作 2、Logarchmeth1设置为USEREXIT,Logarchmeth2设置为OFF   这时归档日志的管理交由USEREXIT来处理,通过设置编译USEREXIT可以实现相对复杂一些的归档管理方式 3、Logarchmeth1设置为指定目录<Directory>,Logarchmeth2设置为OFF   归档日志的工作将会自动进行,需要归档日志将会被自动归档到<Directory>指定的位置,由于归档是自动进行,DB2的日志目录中只有正常logprimary+logsecond个数的数据库日志。 4、Logarchmeth1设置为<Directory1>,Logarchmeth2设置为<Directory2>   归档日志的工作将会自动进行,需要归档日志将会被自动归档到<Directory1>和<Directory2>指定的位置,也就是会产生两份归档日志。由于归档是自动进行,DB2的日志目录中只有正常logprimary+logsecond个数的数据库日志。对性能有一定的影响。   <Directory1>或者<Directory2>都可以设置为TSM。一般推荐<Directory1>为文件系统,<Directory2>设置为TSM,这样既可以归档到TSM离线保存,又可以在线使用文件系统中的归档日志,比较方便。   注意:设置Logarchmeth1和Logarchmeth2后,数据库会进入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日志模式、备份归档、恢复解析的更多相关文章

  1. Db2数据库的备份和恢复

    DB2数据库备份与恢复 1.    备份 1.1离线备份(必须在数据库所在PC机进行操作) STEP 1 连接到要备份的数据库 C:\Documents and Settings\Administra ...

  2. MySQL二进制日志的备份和恢复

    二进制日志:记录数据库修改的相关操作,作用是即时点回复,主从复制 可以按时间滚动,也可以按大小滚动 server-id:服务器身份标识 一.二进制文件的删除方法,千万不要手动删除 PURGE BINA ...

  3. 第16周翻译:SQL Server中的事务日志管理,级别3:事务日志、备份和恢复

    源自: http://www.sqlservercentral.com/articles/Stairway+Series/73779/ 作者: Tony Davis, 2011/09/07 翻译:刘琼 ...

  4. Oracle 数据库备份和恢复配置

    可能的失败及其解决方法 失败类型 我们坑你遇到的失败或错误分为两大类:物理和逻辑.物理错误一般是硬件错误或使用数据库的应用程序中的软件错误,而逻辑错误一般在终端用户级别(数据库用户和管理员). 按从轻 ...

  5. Oracle备份和恢复

    --什么是脱机备份 脱机备份也叫冷备份,首先管理员使用 shutdown immediate 命令关闭数据库的服务. 之后复制需要的文件,包括数据文件和控制文件等相关内容复制到磁盘的其他位置.当 数据 ...

  6. Sql Server数据库备份和恢复:原理篇

    本文与您探讨为什么Sql Server有完整备份.差异备份和事务日志备份三种备份方式,以及为什么数据库又有简单模式.完整模式和大容量日志模式这三种恢复模式.本文内容适用于2005以上所有版本的Sql ...

  7. (4.5)mysql备份还原——深入解析二进制日志(1)binlog的3种工作模式与配置

    (4.5)mysql备份还原——深入解析二进制日志(binlog) 关键词:二进制日志,binlog日志 0.建议 (1)不建议随便去修改binlog格式(数据库级别) (2)binlog日志的清理 ...

  8. Oracle之rman数据库在非归档模式下的备份和恢复

    1.数据库在非归档模式下的备份 SQL> archive log list;数据库日志模式 非存档模式自动存档 禁用存档终点 USE_DB_RECOVERY_FILE_DEST最早的联机日志序列 ...

  9. 非归档模式下使用Rman进行备份和恢复

    实验环境: 一.首先进行全库数据备份: 在非归档模式下,rman备份需要在mount模式下进行 SQL> select status from v$instance; STATUS ------ ...

随机推荐

  1. 【LeetCode】1047. Remove All Adjacent Duplicates In String 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 栈 日期 题目地址:https://leetcode ...

  2. 1301 - Monitoring Processes

    1301 - Monitoring Processes    PDF (English) Statistics Forum Time Limit: 3 second(s) Memory Limit:  ...

  3. 1067 - Combinations

    1067 - Combinations   PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB Giv ...

  4. 实战!Spring Boot 整合 阿里开源中间件 Canal 实现数据增量同步!

    大家好,我是不才陈某~ 数据同步一直是一个令人头疼的问题.在业务量小,场景不多,数据量不大的情况下我们可能会选择在项目中直接写一些定时任务手动处理数据,例如从多个表将数据查出来,再汇总处理,再插入到相 ...

  5. Codeforces 876B:Divisiblity of Differences(数学)

    B. Divisiblity of Differences You are given a multiset of n integers. You should select exactly k of ...

  6. BL8810最新版规格书|BL8810方案|USB 2.0读卡器控制器

    在数码产品越来越普及的今天,利用单反.手机.平板等产品随手拍下相片.储存一些非常重要的数据等已经成为很多人必做的事情,而除使用数据线进行数据导入导出的操作外,利用读卡器也是一个必然的选择,就以本人自己 ...

  7. 在页面上绘制一张表格,使用 DOM 节点的动态添加和删除向表格中插入数据,点击表格每行后的“删除”超链接

    查看本章节 查看作业目录 需求说明: 在页面上绘制一张表格,使用 DOM 节点的动态添加和删除向表格中插入数据,点击表格每行后的"删除"超链接,使用 DOM 节点的删除操作将对应的 ...

  8. Elasticsearch安装X-Pack插件

    Elasticsearch安装X-Pack插件, 基于已经安装好的6.2.2版本的Elasticsearch, 安装6.2.2版本的X-Pack插件. 1.下载x-pack的zip包到本地 https ...

  9. 关于C#的decimal浮点类型转化成字符串时末尾存在多个0

    首先,对于浮点类型,double和float存在精度丢失问题,这一点在之前的一篇博文中有提到(C# double类型精度丢失问题),于是,一般时候推荐大家使用decmal,特别是涉及到一些金融计算时, ...

  10. 【17MKH】我在框架中对.Net依赖注入的扩展

    说明 依赖注入(DI)是控制反转(IoC)的一种技术实现,它应该算是.Net中最核心,也是最基本的一个功能.但是官方只是实现了基本的功能和扩展方法,而我呢,在自己的框架 https://github. ...