IT分销/经销

DB2日志恢复答疑专贴

http://www.db2china.net/club/thread-29689-1-1.html由于时间限制以及部分朋友交流踊跃,今天的内容主要放在基本概念及原理上。希望大家能再好好看下ppt,并使用工具(db2pd -transactions, -dirty, -logs)多做试验和体会,最好能把自己的心得通过博客或帖子分享出来,共同提高!如...显示全部
http://www.db2china.net/club/thread-29689-1-1.html

由于时间限制以及部分朋友交流踊跃,今天的内容主要放在基本概念及原理上。希望大家能再好好看下ppt,并使用工具(db2pd -transactions, -dirty, -logs)多做试验和体会,最好能把自己的心得通过博客或帖子分享出来,共同提高!

如果有什么疑问、或者配置/监控方面的问题请在此提出来。我将尽力解答。
谢谢。


--------------------
交流中需要更正的部分:

1.num_log_span参数:
每个事务都会被测试 - 如果该事务的firstlsn到当前写日志位置的lsn差值对应的日志数超过了num_log_span值,就会被rollback。由此可知在一个设置了num_log_span并且长事务不多的系统里,lowtranlsn对应的事务是最容易被选中的。

2. 日志所在文件系统DIO设置:
mount时不指定DIO。否则db2(DB2_LOGGER_NON_BUFFERED_IO默认值是automatic)将无法自主选择DIO模式还是非DIO模式。

请参考这个帖子内容特别是aix info center那段:
http://www.db2china.net/club/vie ... printable&tid=23066

You can set DIO using the AIX® dio mount option. Without the mount option, you can also enable DIO per-file by using the AIX O_DIRECT open() flag.

Using the -odio or -ocio flags can help performance on certain workloads, but users should be aware that using these flags will prevent file caching for these file systems. Because readahead is disabled for these file systems, this may decrease performance for large sequential reads.收起
参与24

查看其它 22 个回答田强的回答

田强田强系统工程师
http://www.db2china.net/club/vie ... =1&extra=#pid196187

本帖最后由 trams 于 2013-5-10 12:28 编辑

    ---报日志满的错误不一定是因为日志空间用尽,也有可能是因为某个应用长时间未提交阻止了LSN的分配
    ...
    田强 发表于 2013-5-9 14:17




---- 描述是有问题的。应该说是日志无法归档,至于LSN分配应该是这个过程中的一步吧。个人认为。。


    日志写满了就可以归档的。lsn不用分配的。但由于日志文件个数、日志文件大小是有限的,如果某个长事务一直hold住lowtranlsn会导致日志文件无法重用,所以报log full。这个和disk full是两码事。
您可以试一下infinite logging(logsecond=-1,没有logprimary+logsecond限制),只要磁盘有足够空间,再长的事务也不会log full。
IT分销/经销 · 2013-05-11
浏览1124

回答者

田强
系统工程师

田强 最近回答过的问题

回答状态

  • 发布时间:2013-05-11
  • 关注会员:1 人
  • 回答浏览:1124
  • X社区推广