【原创 】在TSM中精确定位某节点下指定备份时间的对象以及所在磁带作者 爱如潮水 QQ 16428988huangwei20@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 编辑 ]
收起