系统集成Db2备份

DB2备份的问题

DB2设置事务日志归档之后,归档如果直接选择归档到TSM或者vendor上之后。当数据库运行过程中切换归档之后,新产生的归档是直接出发备份到TSM或者其他备份软件上吗?还是需要到时间运行备份后才能将日志备份走?如果在恢复演练中需要像Oracle一样,只恢复部分的归档日志的话,怎么直...显示全部

DB2设置事务日志归档之后,归档如果直接选择归档到TSM或者vendor上之后。
当数据库运行过程中切换归档之后,新产生的归档是直接出发备份到TSM或者其他备份软件上吗?
还是需要到时间运行备份后才能将日志备份走?

如果在恢复演练中需要像Oracle一样,只恢复部分的归档日志的话,怎么直接从备份软件上恢复日志,而不恢复备份的数据呢?

收起
参与19

查看其它 1 个回答wangql的回答

wangqlwangql  系统工程师 , NULL

我正好研究过你说的这种情况。
db2的归档有好几种实现方式,对应不同的参数:

  1. LOGRETAIN 这个基本已经舍弃,但现在还能用。如果设置了这个,归档放到活动日志的目录里,缺点是比较乱,优点是可以通过修剪历史文件来删除日志
  2. logarchmeth1:常用建议选项,替代了logretain。可以指定磁盘目录,归档到指定的目录中。
  3. tsm:直接归档到tsm里。db2和tsm集成的比较好,这里直接归档到db2节点对应的策略域的存储池里。对应使用的副本组一般是归档副本组。这里的归档是直接切到tsm里。所以,如果每天生成的日志比较多的话,db2和tsm的会话会比较频繁。vendor和早期的userexist也类似。

然后单说tsm参数,一般不建议设置这个。因为每次切归档都要和tsm会话,比较麻烦,可能性能也不太好。而且一旦tsm发生故障,就会导致日志切换hang死。并且,后续执行备份的时候,如果有include logs选项,并且tsm对应的存储池为磁带,有可能还会造成超时,可参考我之前的一篇博客:
http://www.aixchina.net/Article/28693
所以,对db2的日志建议如下:

  1. 优先建议使用logarchmeth1选项归档到独立的文件目录,此目录能和活动目录在物理上隔离最好。
  2. 通过tsm的归档功能,定期将日志归档走,可以使用-deletefiles参数,归档后删除日志。
    如果一定要使用tsm参数,建议如下:
  3. 日志归档对应的存储池使用disk或file类型的存储池,后期可以迁移至磁带池。
  4. 启用FAILARCHPATH参数,当tsm故障时,确保可以切日志到其他地方。
  5. 日志归档池和数据库备份池要分开设计。
IT咨询服务 · 2017-06-12
浏览3369
zhenyu6688 邀答
  • 很详细
    2017-06-12
  • 那是不是如果我把归档放到本地的话,在进行数据库全备和增备的时候就不需要加include logs的参数,之后用TSM备份文件的方式,把日志归档走。 或者如果把归档放到TSM上的话,就单独建一个池专门存放DB2的归档,之后配置节点的存储池是另外一个,专门存放DB2的数据,是不是这样我同样不需要加include logs的参数。 我的备份池是磁盘,巧雷能不能给点建议,或者给个之前的文档我参考参考,邮箱443963267@qq.com
    2017-06-13
  • 对 ,你说的都可以。建议两点:1. include logs加上吧,不差那一下,加上的话这个备份映像可以直接用,包括前滚日志,外一日志丢了可以恢复到这个点 2. 日志的单独备份个人感觉用归档会好点,归档可以使用deletefiles选项做归档后的删除,并且按归档时间保存,比较好。
    2017-06-14
  • db2的备份就那几下,我之前的文档也比较简陋就不发了。你的思路很清晰 按着做就行
    2017-06-14
  • 巧雷,还是基于这个问题,我有个新的疑问:DB2的归档是选择放到本地的一个位置,之后DB2在线备份include logs;也用另外的一个节点专门去archive日志文件并deletefiles,全备执行的includelogs备份和归档日志的剪切,会不会有彼此的影响;比如日志都归档走了,但是备份还没开始执行?这种全备和日志的归档你一般都是怎么设定执行时间的呢
    2017-12-06

回答者

wangql
wangql41446
系统工程师NULL
擅长领域: 存储备份软件定义存储

wangql 最近回答过的问题

回答状态

  • 发布时间:2017-06-12
  • 关注会员:3 人
  • 回答浏览:3369
  • X社区推广