暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase 8a通过python获得指定表的所有event信息

生命之源 2021-05-08
597

GBase 8a 默认能获得所有的故障event信息,当event比较多时,需要人工将信息进行筛选。本文通过pyton调用gcware库获得指定表的所有event信息。

脚本程序

[gbase@rh6-1 zxq]$ cat getEventByTablename.py
#!/usr/bin/env python

import sys
if len(sys.argv)!=3:
  print('Usage: dbname table')
  exit(1)
import gcware

tablename=sys.argv[1]+'.'+sys.argv[2]
print 'check',tablename,' ...'
print '-----dmlevent---------'
all=gcware.getdmlfevents()
for o in all:
  if o['tablename']==tablename:
    print('eventid=%s' %(o['eventid']))
    print('tabletype=%s' %(o['tabletype']))
    for n in o['dmldatacopyids']:
      print 'nodeipaddr='+n['nodeipaddr']
      print 'segname='+n['segname']
    print
print '-----ddlevent---------'
all=gcware.getddlfevents()
for o in all:
  if o['tablename']==tablename:
    print('eventid=%s' %(o['eventid']))
    print('tabletype=%s' %(o['tabletype']))
#    print('datacopyids=',o['datacopyids'])
    for n in o['datacopyids']:
      print 'nodeipaddr='+n['nodeipaddr']
      print 'segname='+n['segname']


print '-----dmlstorageevent---------'
all=gcware.getdmlstoragefevents()
for o in all:
  if o['tablename']==tablename:
    print('eventid=%s' %(o['eventid']))
    print('tabletype=%s' %(o['tabletype']))
    n=o['datacopyid']
    print 'nodeipaddr='+n['nodeipaddr']
    print 'segname='+n['segname']
    print

运行样例

[gbase@rh6-1 zxq]$ gcadmin showdmlevent
Event count:1
Event ID:    25
ObjectName: testdb.t5

Fail Data Copy:
------------------------------------------------------
SegName: n1     SCN: 4587547    NodeIP: 10.0.2.201      FAILURE
SegName: n2     SCN: 4587547    NodeIP: 10.0.2.201      FAILURE


[gbase@rh6-1 zxq]$ gcadmin showddlevent
Event count:0
[gbase@rh6-1 zxq]$ gcadmin showdmlstorageevent
Event count:2
Event ID:    19
ObjectName: testdb.t5
TableID: 521221

Fail Data Copy:
------------------------------------------------------
SegName: n1     NodeIP: 10.0.2.201      FAILURE


Event ID:    20
ObjectName: testdb.t5
TableID: 521221

Fail Data Copy:
------------------------------------------------------
SegName: n2     NodeIP: 10.0.2.201      FAILURE


[gbase@rh6-1 zxq]$ ./getEventByTablename.py  testdb t5
check testdb.t5  ...
-----dmlevent---------
eventid=25
tabletype=DISTRIBUTION
nodeipaddr=10.0.2.201
segname=n1
nodeipaddr=10.0.2.201
segname=n2

-----ddlevent---------
-----dmlstorageevent---------
eventid=19
tabletype=DISTRIBUTION
nodeipaddr=10.0.2.201
segname=n1

eventid=20
tabletype=DISTRIBUTION
nodeipaddr=10.0.2.201
segname=n2

[gbase@rh6-1 zxq]$


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论