DB2 数据库支持两种不同的日志模式:循环(Circular)和归档(Archival)。当新数据库创建时,系统默认的日志模式为循环。如果业务需求要求更高级的功能,您可以将日志模式从循环修改为归档。
DB2 将一直尝试将日志条目写入主要日志文件集,也就是数据库活动时间自动分配的日志文件。如果某个事务将所有主要日志文件消耗怠尽(所有主要日志文件都被标记为 unavailable),则数据库管理员将分配一个次要日志文件。当这个文件变满时,数据库管理员将再次检查主要日志文件的状态是否为 unavailable。如果是,则再分配一个次要日志文件并继续在其中写入条目。该过程将不断重复,直到所有次要日志文件都分配并写满。如果没有主要日志文件可供写入 Redo 条目,并且已经分配最大数量的次要日志文件,则应用程序将收到以下错误消息:
SQL0964C The transaction log for the database is full.
希望您曾经遇到过这种错误。但是,如果遇到此错误,则应该根据需要增加主要和次要日志文件(或者它们的大小)的数量。在理想情况下,主要日志文件的数量或大小应该足够保存最大的事务。分配次要日志文件相当消耗资源,因为它将在运行时执行。因此,我们应该将需要在高峰工作负荷期间分配的次要日志文件数量降到最低。要更新主要或次要日志文件的数量,可以发起以下命令:
UPDATE DB CFG FOR db_name USING LOGPRIMARY value
UPDATE DB CFG FOR db_name USING LOGSECOND value
注意:如果出现此问题,则应该分析造成整个日志文件空间变满的原因是什么。它可能是由失控查询或用户错误造成的,因此增加日志文件的数量或大小只能在表面上解决问题。比如说,假设某个用户发起了一个 DELETE FROM tab1 语句,且 TAB1 是一个相当大的表。虽然这一语句看上去没什么问题,每行生成一条删除日记记录,但是如果未经过配置处理它可以轻易地将日志空间填满。
循环日志
当循环日志生效时,事务数据将通过循环的方式写入主要日志文件。当存储于某个日志文件中的所有记录都不再需要用于恢复时,该日志文件将被重用,并且可以在以后再次成为活动日志文件。这意味着在循环日志模式中,日志文件的内容最终将被新日志条目重写。由于日志文件的内容被重写覆盖了,因此我们只能将数据库恢复到最后一次完整的数据库备份。不能使用循环日志执行时间点(point-in-time)恢复。
归档日志
在归档日志模式中,redo log 条目将写入主要日志文件。但是,与循环日志不同,这些日志文件永远都不可重用。当存储于某个日志文件中的所有记录都不再需要用于恢复时,该日志文件将被标记为非活动 而不是可重用。这意味着它的内容永远都不会被覆盖。当第一个主要日志文件变满时,系统将分配一个新的日志文件,这样主要日志文件的配置数量(LOGPRIMARY 数据库参数)将一直可用。
与单个事务相关的所有条目必须在活动日志空间中保持一致。如果长时间运行的事务所需要的日志空间大于主要日志文件可以提供的空间,则可能会分配并使用次要日志文件。在归档日志模式中,通过结合使用数据库备份映像和日志文件,我们可以将数据库恢复到具体的时间点。有关此流程的详细描述请参见下文。
何修改日志模式
创建新的 DB2 数据库时,默认的日志模式为循环日志 。如果希望将日志模式从循环修改为归档,可以执行以下步骤:
在磁盘上创建一个文件夹(比如说 e:\db_name\archive),磁盘上必须有足够的空间存储归档日志文件。保证归档文件目标文件夹与活动日志文件目标文件夹分开。
终止与数据库的连接:
TERMINATE
更新归档日志文件目标文件夹(为归档日志文件指定路径可以将归档日志模式打开)。
UPDATE DB CFG FOR db_name USING LOGARCHMETH1 "Disk:e:\db_name\archive"
重新连接到数据库:
CONNECT TO db_name
连接失败并显示以下错误消息:
SQL1116N A connection to or activation of database db_name cannot be made because of backup pending: SQLSTATE=57019
出现错误消息的原因是,日志模式已经从循环更改为归档,并且需要执行完全数据库备份。数据库处于循环日志模式时执行的备份并不充分,因此当切换模式后需要执行新备份。
使用以下命令执行完全数据库备份:
BACKUP DATABASE db_name TO d:\db_name\backup
尝试再次连接到数据库。这次应该能够成功。
CONNECT TO db_name
事务是逻辑工作单元。每一个事务在事务日记文件中都存储有相应的日志记录。每个事务都有一个相应的 Redo Log 条目。Redo Log 条目将写入当前的活动日志文件。当活动日志文件变满时,它将被标记为 unavailable。此时,DB2 将接着此活动日志文件另外创建一个日志文件,并继续在其中写入日志条目。当前活动日志文件变满时,DB2 将重复这一循环过程。当事务完成后(发起 COMMIT 或 ROLLBACK 语句),相应的日志条目将被释放,因为不再需要将它们用于恢复数据库。
- 浏览: 631453 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (609)
- java (139)
- 数据库 (107)
- 微信 (23)
- IT生活 (5)
- web前端 (74)
- SSH (11)
- 设计模式 (12)
- 重要资料 (11)
- 其他 (15)
- java技巧 (23)
- 服务器 (9)
- 2D/GUI (3)
- JAVA3D (2)
- ANT (5)
- Apache项目 (19)
- 数据类型 (10)
- 报表 (3)
- Collections (6)
- SQL/JDBC (15)
- 开发类 (6)
- EJB (6)
- Email (6)
- 文件读写 (2)
- 游戏 (0)
- Flex (2)
- Generic (2)
- HIbernate (12)
- I18N (5)
- Java EE (9)
- java ME (4)
- JDK 6 (8)
- JNDI/LDAP (5)
- JSP (7)
- JSTL (2)
- 正则表达式 (2)
- 安全 (2)
- Struts2 (12)
- Spring (4)
- Web服务 (10)
- Xml (1)
- JavaScript (30)
- AJAX (7)
- 验证 (4)
- 上传下载 (1)
- office办公软件 (1)
- Android (2)
- IOS (0)
- Dubbo (3)
- memcached/redis (1)
- 小程序 (1)
- 微信公众号 (0)
最新评论
-
wf_wangfeng:
怎么我用第一种方法不行呢 alert(document.rea ...
当jsp页面完全加载完成后执行一个js函数 -
Lori_Liu:
有帮助,至少可以解决了目前所遇到的问题!谢谢..
当jsp页面完全加载完成后执行一个js函数 -
starbhhc:
String actionMessage = new Stri ...
Java读取txt文件乱码 -
starbhhc:
Sev7en_jun 写道GOOD
客气,互相交流。。
javaeye论坛规则小测验(答案)--star -
Sev7en_jun:
GOOD
javaeye论坛规则小测验(答案)--star
发表评论
-
mysql创建用户并授权
2016-09-04 23:42 5601.新建用户。 //登录MYSQL mysql -u ... -
java实现文件转换成二进制存储与取出
2016-08-06 01:21 2636一、功能描述: 将文件转成二进制数据放入数据库中,需要的 ... -
Mongodb的全面总结
2016-07-14 16:35 1345MongoDB的官方文档基本是how to do的介绍,而关 ... -
Navicat连接Oracle数据库时报错ORA-28547
2016-07-12 15:46 660用Navicat连接Oracle数据库时出现如下错误提示: ... -
4.ubuntu14.04 安装mongodb笔记
2016-05-06 08:52 6161、使用系统自动获取安装。 1)获取更新 s ... -
3.mongdb mongdb的shell命令
2016-04-14 11:10 895在mongdb的安装目录,运行mongo.exe,运 ... -
2.mongdb mongdb客户端使用
2016-04-14 10:26 737robomongo,命令行方便 ... -
1. WIN7下安装运行mongodb
2016-04-14 10:11 4911)、下载MongoDBhttp://downloads. ... -
mysql 与mongodb的特点与优劣
2016-04-13 17:37 929介绍: MongoDB是 ... -
报错:1130-host ... is not allowed to connect to this MySql server 开放mysql远程连接 不使用l
2015-07-06 13:16 766报错:1130-host ... is not allow ... -
sql查询今天、昨天、本周、本月、日期的
2015-05-15 10:55 1748sql 求解两个时间差 SELECTDATEDIFF ... -
druid demo
2015-04-08 15:13 1535java程序很大一部分要操作数据库,为了提高性能操作数据库的 ... -
Druid数据库连接池使用
2015-04-08 15:03 685阿里巴巴推出的国产数据库连接池,据网上测试对比,比目前的D ... -
Hibernate与 MyBatis的比较
2015-03-20 00:34 588mybatis是半自动的,hibernate是全自动的,就是 ... -
经典SQL语句大全
2015-01-16 01:02 513一、基础 1、说明:创建数据库CREATE DATABAS ... -
MyBatis的几种批量操作
2015-01-11 22:59 1630MyBatis中批量插入 方法一: &l ... -
spring与mybatis三种整合方法
2015-01-11 22:58 440本文主要介绍Spring与Mybatis三种常用整合方法, ... -
MyBatis(六)、MyBatis主配置文件
2015-01-11 22:58 647在定义sqlSessionFactory时需要指定MyBa ... -
MyBatis(五)、动态SQL语句
2015-01-09 01:01 653有些时候,sql语句where条件中,需要一些安全判断,例 ... -
MyBatis(四)、SQL语句映射文件(2)增删改查、参数、缓存
2015-01-09 01:00 4712.2 select 一个select 元素非常简单。例如 ...
相关推荐
db2数据库开归档日志
由于使用了LOGRETAIN=ON数据库配置,所以数据库日志文件将不会被数据库从活动日志目录中自动删除或循环利用,活动日志目录中的日志文件将会越来越多,所以需要对该目录下的日志文件进行归档。
ibm db2数据库事务日志已满的完全解决方法
db2数据库安装包 db2数据库链接服务器驱动 db2数据库安装方法
DB2数据库性能调整和优化(第2版)侧重于介绍DB2数据库的性能调优。性能调优是一个系统工程:全面监控分析操作系统、I/O性能、内存、应用及数据库才能快速找到问题根源;深刻理解DB2的锁及并发机制、索引原理、数据库...
管理数据库日志的工作可以手工完成,也可由编写USEREXIT程序自动维护。由于DB2对所有平台都提供了相应的USEREXIT示例程序,而且非常易于修改和使用,所以IBM建议用户使用USEREXIT程序来管理日志文件。本文介绍了使用...
DB2的日志清理工作,db2 list history archive log all for CISFEDB 查看归档时间戳以及归档日志个数,Number of matching file entries = 6 表示有效日志个数 5.1、db2 force application all 停连接会话
db2数据库培训文档db2数据库培训文档db2数据库培训文档db2数据库培训文档db2数据库培训文档db2数据库培训文档db2数据库培训文档db2数据库培训文档db2数据库培训文档db2数据库培训文档db2数据库培训文档db2数据库培训...
JDBC连接DB2数据库需要的jar包 JDBC连接DB2数据库需要的jar包 JDBC连接DB2数据库需要的jar包
DB2数据库用户手册DB2数据库用户手册DB2数据库用户手册DB2数据库用户手册DB2数据库用户手册DB2数据库用户手册DB2数据库用户手册DB2数据库用户手册DB2数据库用户手册
db2stop 查看数据库:db2 list db directory 查看数据库应用:db2 list applications 查看数据库应用和进程号:db2 list applications show detail 查看数据库表空间:db2pd -db <db_name> -tablespace 查看数据库...
数据库和表空间的创建方法,数据库对象,如表、视图、索引、触发器等的创建方法,移动与操纵数据的方法,数据查询、数据库恢复的方法,权限管理的方法等。《DB2数据库实践基础教程 资源太大,传百度网盘了,链接在...
远程连接db2数据库远程连接db2数据库远程连接db2数据库远程连接db2数据库远程连接db2数据库远程连接db2数据库远程连接db2数据库远程连接db2数据库远程连接db2数据库
Db2数据库操作的常用命令列表, Db2数据库操作的常用命令列表
DB2数据库性能调整和优化
3、《DB2数据库实战手册》除了实战内容以外,还包括了DB2的发展历史,DB2的体系结构,DB2 在不同操作系统下的安装与初步配置,读者能根据教程建立数据库、表空间和表等数据库对象并掌握相关知识和技能。 4、《DB2...
DB2数据库与SQLServer数据库的异同 DB2、Oracle、SQLServer数据库可以说是数据库领域的三座大山。这三座大山各有各的 特色。为此企业在选型的时候往往会在这三个数据库之间犹豫,不知道该选哪个数据库 好。笔者这里...
db2数据库性能优化小技巧
DB2数据库数据类型DB2数据库数据类型DB2数据库数据类型