Gcware Python 接口(5)

本文档详细介绍了GBase 8a MPP Cluster的Python接口,用于管理DDL、DML和DMLStorage事件。包括获取、清除、恢复和设置事件等操作,如getddlfevents、clearddlfevent、recoverddlfdatacopy等。同时,提供了多个示例展示如何使用这些接口来操作数据库事件。
摘要由CSDN通过智能技术生成

DISTRIBUTION

这部分只有一个接口用来获取当前集群所有distribution信息。

1.8FEVENTLOG

这部分涉及 ddl dml 以及 dmlstorage 三种 feventlog, 每种 feventlog 都提供了获取/清除等多个接口。

使用此类函数前使用gcwinit ()函数初始化资源管理引擎

1. 8. 1 getddlfevents (vc_name)

功能:获取所有ddl event信息

参数:vc_name集群的名称

返回值:返回所有ddl event信息

eventid: 对应的 eventid

comment :对应的注释信息

distributionid:对应的 distributionid tablename :表名

delayTag: delay 标识 1 标识 nocopy

content :已经加密编码后的sql语句 tableid:对应的 tableid

tabletype:表类型

nodecopyids :有问题的gclusterd节点信息

nodeipaddr:问题节点 ip

GBase 8a MPP Cluster 高级用户手册(内部) nodeid:问题节点 nodeid

dacopyids:有问题gnode节点信息

segid:问题分片对应的segmentid

segname:问题分片名

nodeipaddr:问题分片所在的节点ip

nodeid:问题分片所在节点的nodeid

vcid:问题所在的vcid

实例 :>>> gcware. getddlfevents("vc1")

({'eventid': 4, 'comment': 'distributionid': 10, ' tablename':

'mydbdb', 'delayTag': 0, 'content':

'\x01\x00\x03\x00/\x00\x00\x00A\x01\x00\x00\xf0\x01\xd7\x01\x00\x00[ {〃key〃:〃vc0\x01\x00\xf6\x03.hashmap_lock〃,〃vc\x1c\x00\xc3〃,〃db〃:〃〃,〃 t\x08\x00\xfa\x05lktype”:0,"stat”:1}, R\x00\x1f4R\x00\x08\x1f4R\x00"\ xaf0.gbase.db\xa5\x00\t_GBASE\xaa\x00\x00\x1f1\xaa\x00\x08omydbdbY\x 00\x03\x05\xac\x00\x02%\x00\x0fZ\x00\t\x1c2\x04\x01\x04\xb2\x00\xff\ x08table_distribution. meta\xc7\x00\x16\xf7\x03TABLE_DISTRIBUTION\x83 \x01\x164\xd9\x00B]\x00\x07\x00\xa7\x003\x00\x01\x00\x03\x00\x00\x08 \x00@\xc0\xa8\x06\xb9\n\x00\x12\xff\x01\x00@\x7fJ\xf8\x10\x0f\x00\x0 7"\x00\xf0\x08\x00\x00\x00D\x00\x00\x00CREATE SELF DATAL\x01\xf2\x19 IF NOT EXISTS

"VCID_00-1D-7D-C7-A5-17""y\x00\x11"Y\x00\x03\x02\x00P\x00\x00\x00\x0

0\x00', 'tableid': 0, ' datacopyids': ({'segid' : 0, ' nodeipaddr':

'192.168.6.185', 'nodeid': 3104221376, 'segname': ''},), 'nodecopyids': (),'tabletype': REPLICATION', ' vcid': ' vc00004'},)

1. 8. 2 getddlfeventbytablename(dbname,

tbname)

功能:获取对应ddl event的个数

参数:dbname :库名

Tablename :表名

返回值:返回对应的ddl event的个数

实例:

>>> gcware.getddlfeventbytablename('test',‘ t')

1

1. 8. 3 getddlfeventref (vc_name, eventid)

功能:获取指定的ddl event信息

参数:vc_name集群名称

Eventid :event id

返回值:返回所有ddl event信息

nodecopyids :有问题的gclusterd节点信息

nodeipaddr:问题节点 ip

nodeid:问题节点 nodeid

dacopyids:有问题gnode节点信息

segid:问题分片对应的segmentid

segname:问题分片名

nodeipaddr:问题分片所在的节点ip

nodeid:问题分片所在节点的nodeid

nodecopyid:节点的复制id

实例:

>>> gcware.getddlfeventref("vc1", 9)

{'datacopyids' : ({'segid': 1, 'nodeipaddr': '192.168.6.185',

'nodeid': 3104221376, ' segname': ' \xba\x01' }, {' segid' : 2, ' nodeipaddr':

'192.168.6.185', 'nodeid': 3104221376, 'segname' : ' \xba\x01'}),

'nodecopyids': ()}

1. 8. 4 setddlfevent(event_message)

功能:将指定的event加入到相应的数库中

参数:event的所有信息

返回:不返回值则成功

实例:

>>> gcware.setddlfevent({'eventid': 10, 'comment':'', 'distributionid': 10, 'tablename' : 'newdb', ' delayTag': 0,

'content':

'\x01\x00\x03\x00/\x00\x00\x00?\x01\x00\x00\xf0\x01\xd5\x01\x00\ x00[{"key":"vc0\x01\x00\xf6\x03.hashmap_lock", "vc\x1c\x00\xc3"," db":"","t\x08\x00\xfa\x05lktype":0,"stat":1}, R\x00\x1f4R\x00\x08 \x1f4R\x00"\xaf0.gbase.db\xa5\x00\t_GBASE\xaa\x00\x00\x1f1\xaa\x 00\x08_newdbX\x00\x03\x05\xab\x00\x01$\x00\x0fX\x00\t\x1c2\x02\x 01\x04\xb0\x00\xff\x08table_distribution.meta\xc5\x00\x16\xf7\x0 3TABLE_DISTRIBUTION\x81\x01\x164\xd7\x00A]\x00\x06\x00\xa6\x003\ x00\x01\x00\x03\x00\x00\x08\x00@\xc0\xa8\x06\xb9\n\x00\x12\xff\x 01\x00@\x7fT\xf8\x10\x0f\x00\x07"\x00@\x00\x00\x00C\x04\x00\xf0\ x00REATE SELF DATAI\x01\xf1\x19 IF NOT EXISTS

"VCID_00-1D-7D-C7-A5-17""x\x00\x11"X\x00\x03\x02\x00P\x00\x00\x0 0\x00\x00', 'tableid': 0, 'datacopyids': ({'segid': 0, 'nodeipaddr': '192.168.6.185', 'nodeid': 3104221376, 'segname': ''},),

'nodecopyids': (), 'tabletype' : 'REPLICATION', ' vcid':

'vc00004'},)

1. 8. 5 recoverddlfnodecopy(tablename, nodeip addr, lastEventID)

功能:将指定ddl event中损坏的gclusterd置为已恢复状态

参数:tablename :指定的 tablename

Nodeipaddr:指定的 ip lastEventID:指定的 eventid 返回值:0表示成功非0表示失败 实例:

>>> gcware. recoverddlfnodecopy('test.t','192. 168.6. 232' ,2)

0

>>> gcware. getddlfeventref (2)

{'datacopyids' : ({'segid': 3, 'nodeipaddr': '192.168.6.232',

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值