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

db2日志

    博客分类:
  • db2
阅读更多
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 语句),相应的日志条目将被释放,因为不再需要将它们用于恢复数据库。
分享到:
评论

相关推荐

    db2日志 性能调优等资料

    自己平时收集的关于DB2日志、性能调优等方面资料,共大家参考使用。

    Linux下db2常用命令总结

    Linux下,DB2开发最常用命令总结,全面、使用、正确。希望能对各位有所帮助

    DB2维护手册.pdf

    1、 查看DB2日志 7 2、 检查备份和日志是否都保存好了 7 三、 DB2日常维护季度操作 7 1、 通过快照监控器,查看系统性能如何 7 2、 数据库补丁级别 8 四、 注意事项 8 1、 不要删除活动日志文件 8 2、 注意交易日志...

    DB2 错误信息汇总

    收集DB2错误信息,可以根据sql错误码很快的定位问题,提高开发效率

    DB2错误日志

    DB2的错误日志,方便差错误哦!又小又方便

    DB2错误操作手册(日志错误汇总)

    DB2错误操作手册(日志错误汇总),DB2错误操作手册(日志错误汇总)

    DB2最新维护手册,从豆丁买来的。

    1、 查看DB2日志 15 2、 检查备份和日志是否都保存好了 15 四、 DB2日常维护季度操作 15 1、 通过快照监控器,查看系统性能如何 15 2、 数据库补丁级别 15 五、 注意事项 15 1、 不要删除活动日志文件 15 2、 注意...

    db2diag.log文件内容分析

    DB2日志分析方法文档,db2diag.log文件内容分析。

    解决db2事务日志已满及日志磁盘空间已满问题办法详解

    本文主要讲解了解决db2事务日志已满及日志磁盘空间已满的问题,DB2总的可用活动日志的最大空间是有限制的,当达到限制之后,就会发生日志满的问题

    一个连接DB的好东东(日文)

    CSEは、CommonSQLEnvironmentの略で、つきみソフトウエア志村氏により開発されたSQL開発環境のフリーウエア。

    Freeswitch软件架构分析

    4.13日志(Loggers) 30 4.14定时器(Timers) 30 4.15 XML(xml interface) 30 4.16核心库(core libary) 30 4.16.1事件 30 4.16.2任务调度 31 4.16.3日志 32 4.16.4 SQLDB 32 4.16.5 session状态监测线程 32 4.16....

    VisualC++数据库开发典型模块与实例精讲.pdf_part2

    3.2日志信息的记录与查询 3.3使用类封装日志信息的读写操作 3.4本章小结 第4章通讯录管理系统 4.1系统概述与前景 4.2系统分析与设计 4.3设计与创建数据库 4.4创建应用程序框架及窗口控件设计 4.5创建表记录...

    VisualC++数据库开发典型模块与实例精讲.pdf_part1

    3.2日志信息的记录与查询 3.3使用类封装日志信息的读写操作 3.4本章小结 第4章通讯录管理系统 4.1系统概述与前景 4.2系统分析与设计 4.3设计与创建数据库 4.4创建应用程序框架及窗口控件设计 4.5创建表记录...

    eth2-bootnode:Eth2的bootnode实用程序

    Eth2引导节点最小的bootnode实用程序,带有ENR选项,geth discv5日志记录和持久的本地节点DB。 还有一个最小的HTTP端点,用于在/enr路由上以通用的base64 ENR表示形式服务于本地ENR。 选项: --api-addr string ...

    SQLServer2005 没有日志文件(*.ldf) 只有数据文件(*.mdf) 恢复数据库的方法

    您可能感兴趣的文章:SQL Server 2008 清空删除日志文件(瞬间日志变几M)清理SQL Server 2008日志文件Cannot shrink log file 2 的解决方案Win2008中SqlServer2008 无法打开错误日志文件导致无法启

    oracle goldengate

    复制软件,它通过解析源数据库在线日志或归档日 志获得数据的增删改变化,再将这些变化应用到目 标数据库,实现源数据库与目标数据库实时同步 (real-timedatasynchronize)。...

    awayblog v1.0 build 20091212.rar

    数据库路径的修改,默认为/data/db.mdb 3.登录后台,默认账号,密码和2级密码都是admin 4.修改blog安装路径和网址 5.修改管理员账号密码 关于awayblog -----------------------------------------------------...

    MYSQL培训经典教程(共两部分) 1/2

    MYSQL 服务器交互作用 142 6.2.1锁定表的的方法 142 6.2.2 检查表的锁定协议 143 6.2.3 修复表的锁定协议 143 6.2.4 总结 144 6.3日志文件维护 144 6.3.1如何使用新的更新日志 144 6.3.2如何...

    MYSQL培训经典教程(共两部分) 2/2

    MYSQL 服务器交互作用 142 6.2.1锁定表的的方法 142 6.2.2 检查表的锁定协议 143 6.2.3 修复表的锁定协议 143 6.2.4 总结 144 6.3日志文件维护 144 6.3.1如何使用新的更新日志 144 6.3.2如何...

    linux vsftpd搭建步骤 亲测可用

    6日志分析 vsftpd的两个日志文件分析如下: /var/log/xferlog 记录内容举例 /var/log/vsftpd.log Sat Apr 1 16:34:14 2017 1 10.13.98.101 55 /vsftpd(1).txt b _ i g lixiang ftp 0 * c /var/log/xferlog日志文件...

Global site tag (gtag.js) - Google Analytics