互联网服务TSM数据库

请教:TSM中 q volume一直执行不出结果?

执行q volume 一直不出结果直接查询select * from volumes 也不可以后来q volume stgpool= xxx,后,可以输出结果但其中有个copypool 不出结果oc中显示如下:mxzjhm2v9nr请问是什么原因呢?如何处理?是数据库里发生阻塞了?————————————————————————2018.0...显示全部

执行q volume 一直不出结果
直接查询select * from volumes 也不可以

后来q volume stgpool= xxx,后,可以输出结果
但其中有个copypool 不出结果

oc中显示如下:
mxzjhm2v9nr

mxzjhm2v9nr

请问是什么原因呢?如何处理?
是数据库里发生阻塞了?

————————————————————————2018.08.14 补充-------------------
谢谢大家的帮助,因为评论格式问题,我在这里补充下问题的进展

我是从来没用过的DB2小白,今天尝试排查了下。
因为出现问题的这个存储池是copypool,所以我决定采取最暴力的方法:
把这个存储池删掉重建。

但我在OC中把这个存储池下的volume全部delete,然后delete stgpool ,竟然报ANR2382E DELETE STGPOOL:存储池“COPYPOOL”至少仍包含一个卷。
然后我挨个q volume format=detail 查看,确认已经没有volume在COPYPOOL下了,奇怪了

之后我决定直接连接到DB2数据库,而不是在OC的命令窗口中。
在DB2的命令行中执行查询
db2 => select volume_name from TSMDB1.volumes where stgpool_name='COPYPOOL'
竟然返回了一行 我手工delete 掉,但过来一会,又出现了一行。

所以我现在有点懵了。

  1. TSM OC下的查询和DB2 命令行下的查询难道不一样吗?为什么结果会不一致
  2. 数据库里delete掉,为啥还能恢复呢?

请求帮助,谢谢

收起
参与32

查看其它 2 个回答TonyWang的回答

TonyWangTonyWang系统工程师BY

问题解决了,在解决问题的过程中也熟悉了TSM 里的表和视图 -_-||

涉及到volume的表和视图有
ss_volume_ids
ss_volume_names
volumes
volumes_sql

最终出现问题的是ss_volume_ids表
里面volume name的竟然前面有其他字符(真想痛扁一顿当时给COPYPOOL新增volume的同事^_^)
通过如下命令删除
db2 => delete from tsmdb1.ss_volume_ids where volname like '%BYZ016L6'
DB20000I SQL 命令成功完成。
再继续删除volumes_sql里

之后在q volume ,终于显示结果了

但解决问题后的疑问,为什么这种不合规的数据竟然能存储到数据库表里?
而且因为这个问题,导致前台查询出现取不出数据的问题

再次谢谢大家的帮助

互联网服务 · 2018-08-14
浏览2426

回答者

TonyWang
系统工程师BY
擅长领域: 存储服务器数据库

TonyWang 最近回答过的问题

回答状态

  • 发布时间:2018-08-14
  • 关注会员:3 人
  • 回答浏览:2426
  • X社区推广