原创 在TSM中精确定位节点下指定备份时间对象以及所在磁带

【原创 】在TSM中精确定位某节点下指定备份时间的对象以及所在磁带作者 爱如潮水 QQ 16428988huangwei20@gmail.com问题描述:最近我们头给我提出了一个很特殊的TSM应用需求,根据备份策略的变化,需要在TSM中精确定位指定备份时间的对象以及所在磁带。比如说,有一台数据库服务...显示全部
【原创 】在TSM中精确定位某节点下指定备份时间的对象以及所在磁带

作者 爱如潮水
QQ 16428988
huangwei20@gmail.com

问题描述:
最近我们头给我提出了一个很特殊的TSM应用需求,根据备份策略的变化,需要在TSM中精确定位指定备份时间的对象以及所在磁带。比如说,有一台数据库服务器(假设为AA),今天是2009年4月,我们需要定位它两年前的数据库备份集(在2007年4月前备份的所有对象)。而且,还必须清楚的了解这些对象保存在带库的哪张磁带上。乍一看,这样的需求是有些难度系数:)如果是直接使用TSM的query命令,比如query volume,query content等是无法满足这个需求的。经过自己一番思索,加上孜孜不倦的翻相关资料(呵呵,夸张了一点),解决方案如下,供以后有同样需求的朋友们参考。

一、环境介绍
软件:AIX+TSM 5.3
存储:IBM 35xx自动磁带库一台
备份集:INFORMIX数据库以及日志

二、解决方案

TSM的自身数据库保存了丰富的备份信息,我们可以通过查询相关表对象灵活获得所需信息:)

1.通过select查询获得备份对象的信息。其中,节点名和备份完成的时间符合备份策略提出的要求。2年=17520小时。
select * from backups where node_name='节点名' and BACKUP_DATE<=current_timestamp-17520 hours

在大量返回值中,最关键的是OBJECT_ID信息,它代表了备份对象在TSM中的编号。下面仅仅贴出122668的示例。该对象确实是在两年前写入磁带的。那对应磁带的编号又在哪里呢?
   NODE_NAME: AA
   ……………………略…………
          LL_NAME: 1028 (此处为数据库日志)
        OBJECT_ID: 122668
  ………………………略…………
2.使用show命令获得备份对象122668所对应的磁带编号。示例如下:
     tsm: TSMSERVER>show bfo 0 122668      

    Bitfile Object: 0.122668
**Archival Bitfile Entry
  Bitfile Type: PRIMARY  Storage Format: 22
  Bitfile Size: 0.314673152  Number of Segments: 1
  Storage Pool ID: 4  Volume ID: 16  Volume Name: A00011L3
     Volume Name后对应的编号就是我们需要定位的磁带。如果有疑问,可以通过query content 磁带编号  确认其中内容。至此,该需求得以成功解决。TSM的功能确实很强大,正因如此,小弟把自己的心得体会不吝托出,权当是抛砖引玉吧。大家互相学习,呵呵:):handshake:handshake:):)

[ 本帖最后由 爱如潮水 于 2009-4-8 20:08 编辑 ]收起
参与35

查看其它 31 个回答busyfan的回答

busyfanbusyfan系统工程师LT
好文,支持原创的心得总结
用了好久的TSM,还没用过show命令呢:L
互联网服务 · 2009-06-01
浏览1018

回答者

busyfan
系统工程师LT
擅长领域: 云计算容器容器云

busyfan 最近回答过的问题

回答状态

  • 发布时间:2009-06-01
  • 关注会员:0 人
  • 回答浏览:1018
  • X社区推广