snapshot - 获取快照
db.snapshot(<snapType>,[cond],[sel],[sort])
db.snapshot(<snapType>,[SdbSnapshotOption])
Sdb
该函数用于获取指定快照,查看当前系统状态。
参数名 | 类型 | 描述 | 是否必填 |
---|---|---|---|
snapType | macro | 需要获取的快照,取值可参考快照类型 | 是 |
cond | object | 设置匹配条件以及命令位置参数 | 否 |
sel | object | 选择返回字段名,为 null 时返回所有的字段名 | 否 |
sort | object | 对返回的记录按选定的字段排序,取值如下: 1:升序 -1:降序 |
否 |
SdbSnapshotOption | object | 使用一个对象指定快照查询参数,使用方法可参考 SdbSnapshotOption | 否 |
Note:
- sel 参数是一个 json 结构,如:{字段名:字段值},字段值一般指定为空串。sel 中指定的字段名在记录中存在,设置字段值不生效;不存在则返回 sel 中指定的字段名和字段值。
- 记录中字段值类型为数组,我们可以在 sel 中指定该字段名,用"."操作符加上双引号("")来引用数组元素。
函数执行成功时,将返回一个 SdbCursor 类型的对象。
函数执行失败时,将抛异常并输出错误信息。
当异常抛出时,可以通过 getLastErrMsg() 获取错误信息或通过 getLastError() 获取错误码。更多错误处理可以参考常见错误处理指南。
v2.0 及以上版本
指定 snapType 的值为 SDB_SNAP_CONTEXTS
> db.snapshot( SDB_SNAP_CONTEXTS ) { "SessionID": "vmsvr1-cent-x64-1:11820:22", "Contexts": [ { "ContextID": 8, "Type": "DUMP", "Description": "BufferSize:0", "DataRead": 0, "IndexRead": 0, "QueryTimeSpent": 0, "StartTimestamp": "2013-12-28-16.07.59.146399" } ] } { "SessionID": "vmsvr1-cent-x64-1:11830:22", "Contexts": [ { "ContextID": 6, "Type": "DUMP", "Description": "BufferSize:0", "DataRead": 0, "IndexRead": 0, "QueryTimeSpent": 0, "StartTimestamp": "2013-12-28-16.07.59.147576" } ] } { "SessionID": "vmsvr1-cent-x64-1:11840:23", "Contexts": [ { "ContextID": 7, "Type": "DUMP", "Description": "BufferSize:0", "DataRead": 0, "IndexRead": 0, "QueryTimeSpent": 0, "StartTimestamp": "2013-12-28-16.07.59.148603" } ] }
通过组名或组 ID 查询某个复制组的快照信息
> db.snapshot( SDB_SNAP_CONTEXTS, { GroupName:'data1' } ) > db.snapshot(SDB_SNAP_CONTEXTS,{GroupID:1000}) { "SessionID": "vmsvr1-cent-x64-1:11820:22", "Contexts": [ { "ContextID": 11, "Type": "DUMP", "Description": "BufferSize:0", "DataRead": 0, "IndexRead": 0, "QueryTimeSpent": 0, "StartTimestamp": "2013-12-28-16.13.57.864245" } ] } { "SessionID": "vmsvr1-cent-x64-1:11840:23", "Contexts": [ { "ContextID": 10, "Type": "DUMP", "Description": "BufferSize:0", "DataRead": 0, "IndexRead": 0, "QueryTimeSpent": 0, "StartTimestamp": "2013-12-28-16.13.57.865103" } ] }
通过指定组名、主机名和服务名,或指定组 ID 和节点 ID查询某个节点的快照信息
> db.snapshot( SDB_SNAP_CONTEXTS, { GroupName: 'data1', HostName: "vmsvr1-cent-x64-1", svcname: "11820" } ) > db.snapshot(SDB_SNAP_CONTEXTS,{GroupID:1000,NodeID:1001}) { "SessionID": "vmsvr1-cent-x64-1:11820:22", "Contexts": [ { "ContextID": 11, "Type": "DUMP", "Description": "BufferSize:0", "DataRead": 0, "IndexRead": 0, "QueryTimeSpent": 0, "StartTimestamp": "2013-12-28-16.13.57.864245" } ] }
通过指定主机名和服务名查询某个节点的快照信息
> db.snapshot( SDB_SNAP_CONTEXTS, { HostName: "ubuntu-200-043", svcname: "11820" } ) { "NodeName": "ubuntu-200-043:11820", "SessionID": 18, "Contexts": [ { "ContextID": 31, "Type": "DUMP", "Description": "IsOpened:1,HitEnd:0,BufferSize:0", "DataRead": 0, "IndexRead": 0, "QueryTimeSpent": 0, "StartTimestamp": "2016-10-27-17.53.45.042061" } ] }
返回未在 coord 聚集前的原始数据
> db.snapshot( SDB_SNAP_DATABASE, { RawData: true } ,{ NodeName: null, GroupName: null, TotalDataRead: null } ) { "NodeName": "ubuntu1604-yt:30000", "GroupName": "SYSCatalogGroup", "TotalDataRead": 276511 } { "NodeName": "ubuntu1604-yt:20000", "GroupName": "db1", "TotalDataRead": 16542209 } { "NodeName": "ubuntu1604-yt:40000", "GroupName": "db2", "TotalDataRead": 959 } Return 3 row(s).