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).