文档

关于 SequoiaDB

快速入门

快速入门之一键清理

安装

基本操作

数据模型

SQL引擎

FileSystem引擎

S3引擎

系统架构

数据库管理

连接器

驱动

参考手册

SequoiaDB Shell方法

操作符

SQL语法

SQL to SequoiaDB 映射表

限制

错误码

故障排除

SAC 管控中心

Web服务

版本信息

概述

监控是一种监视当前系统状态的方式。在 SequoiaDB 中,用户可以使用快照(SNAPSHOT)与列表(LIST)命令进行系统监控。

快照视图

快照是一种得到系统当前状态的命令,主要分为以下类型:

快照标示 对应 sdbshell 接口标示 快照类型 描述
$SNAPSHOT_CONTEXT SDB_SNAP_CONTEXTS 上下文快照 上下文快照列出当前数据库节点中所有的会话所对应的上下文
$SNAPSHOT_CONTEXT_CUR SDB_SNAP_CONTEXTS_CURRENT 当前会话上下文快照 当前上下文快照列出当前数据库节点中当前会话所对应的上下文
$SNAPSHOT_SESSION SDB_SNAP_SESSIONS 会话快照 会话快照列出当前数据库节点中所有的会话
$SNAPSHOT_SESSION_CUR SDB_SNAP_SESSIONS_CURRENT 当前会话快照 当前会话快照列出当前数据库节点中当前的会话
$SNAPSHOT_CL SDB_SNAP_COLLECTIONS 集合快照 集合快照列出当前数据库节点或集群中所有非临时集合
$SNAPSHOT_CS SDB_SNAP_COLLECTIONSPACES 集合空间快照 集合空间快照列出当前数据库节点或集群中所有集合空间(编目集合空间除外)
$SNAPSHOT_DB SDB_SNAP_DATABASE 数据库快照 数据库快照列出当前数据库节点的数据库监视信息
$SNAPSHOT_SYSTEM SDB_SNAP_SYSTEM 系统快照 系统快照列出当前数据库节点的系统监视信息
$SNAPSHOT_CATA SDB_SNAP_CATALOG 编目信息快照 用于查看编目信息
$SNAPSHOT_TRANS SDB_SNAP_TRANSACTIONS 事务快照 事务快照列出数据库中正在进行的事务信息
$SNAPSHOT_TRANS_CUR SDB_SNAP_TRANSACTIONS_CURRENT 当前事务快照 当前事务快照列出当前会话正在进行的事务信息
$SNAPSHOT_ACCESSPLANS SDB_SNAP_ACCESSPLANS 访问计划缓存快照 访问计划缓存快照列出数据库中缓存的访问计划的信息
$SNAPSHOT_HEALTH SDB_SNAP_HEALTH 节点健康检测快照 节点健康检测快照列出数据库中所有节点的健康信息
$SNAPSHOT_CONFIGS SDB_SNAP_CONFIGS 配置快照 配置快照列出数据库中指定节点的配置信息
$SNAPSHOT_SEQUENCES SDB_SNAP_SEQUENCES 序列快照 序列快照列出当前数据库的全部序列信息
$SNAPSHOT_SVCTASKS SDB_SNAP_SVCTASKS 服务任务快照 服务任务快照列出当前数据库节点中服务任务的统计信息

列表视图

列表是一种轻量级的得到系统当前状态的命令,主要分为以下类型:

列表标示 对应 sdbshell 接口标示 列表类型 描述
$LIST_CONTEXT SDB_LIST_CONTEXTS 上下文列表 上下文列表列出当前数据库节点中所有的会话所对应的上下文
$LIST_CONTEXT_CUR SDB_LIST_CONTEXTS_CURRENT 当前会话上下文列表 当前上下文列表列出当前数据库节点中当前会话所对应的上下文
$LIST_SESSION SDB_LIST_SESSIONS 会话列表 会话列表列出当前数据库节点中所有的会话
$LIST_SESSION_CUR SDB_LIST_SESSIONS_CURRENT 当前会话列表 当前会话列表列出当前数据库节点中当前的会话
$LIST_CL SDB_LIST_COLLECTIONS 集合列表 集合列表列出当前数据库节点或集群中所有非临时集合
$LIST_CS SDB_LIST_COLLECTIONSPACES 集合空间列表 集合空间列表列出当前数据库节点或集群中所有集合空间(编目集合空间除外)
$LIST_SU SDB_LIST_STORAGEUNITS 存储单元列表 存储单元列表列出当前数据库节点的全部存储单元信息
$LIST_GROUP SDB_LIST_GROUPS 分区组列表 分区组列表列出当前集群中的所有分区信息
$LIST_TRANS SDB_LIST_TRANSACTIONS 事务列表 事务列表列出数据库中正在进行的事务信息
$LIST_TRANS_CUR SDB_LIST_TRANSACTIONS_CURRENT 当前事务列表 当前事务列表列出当前会话正在进行的事务信息
$LIST_SEQUENCES SDB_LIST_SEQUENCES 序列列表 序列列表列出当前数据库中所有的序列信息
$LIST_BACKUP SDB_LIST_BACKUPS 备份列表 备份列表列出当前数据库的备份信息
$LIST_SVCTASKS SDB_LIST_SVCTASKS 服务任务列表 服务任务列表列出当前数据库节点中所有的服务任务
$LIST_USER SDB_LIST_USERS 用户列表 用户列表列出当前集群中的所有用户信息

SQL到SequoiaDB映射表

下表列出了 SQL 快照查询语句的操作在 API 中对应的快照操作

SQL 语句 API 语句
select <sel> from $<snapshot> where <cond> order by <sort> db.snapshot( , [cond], [sel], [sort] )
db.exec( "select * from $SNAPSHOT_CONTEXT where SessionID = 20" ) 过滤指定条件的记录。db.snapshot(SDB_SNAP_CONTEXTS, { SessionID: 20 } )
db.exec( " select NodeName from $SNAPSHOT_CONTEXT " ) 只显示记录的指定字段。db.snapshot(SDB_SNAP_CONTEXTS, {}, { NodeName:""} )
db.exec( " select * from $SNAPSHOT_CONTEXT order by SessionID" ) 根据指定字段进行排序。db.snapshot(SDB_SNAP_CONTEXTS, {}, {}, { "SessionID": 1 } )

下面列出了 SQL 快照查询语句的操作在 API 中使用指定快照查询参数的对应快照操作:

select <sel> from $<snapshot>
               where <cond>
               order by <sort>
               limit <limit>
               offset <skip> /*+use_option(<options>)*/

对应

SdbSnapshotOption[.cond(<cond>)]
                 [.sel(<sel>)]
                 [.sort(<sort>)]
                 [.options(<options>)]
                 [.skip(<skip>)]
                 [.limit(<limit>)]

cond(<cond>)

SQL 语句 API 语句
db.exec( "select * from $SNAPSHOT_CONTEXT where SessionID = 22" ) db.snapshot( SDB_SNAP_CONTEXTS, new SdbSnapshotOption().cond( { SessionID: 22 } ) )

sel(<sel>)

SQL 语句 API 语句
db.exec( "select SessionID from $SNAPSHOT_CONTEXT" ) db.snapshot( SDB_SNAP_CONTEXTS, new SdbSnapshotOption().cond( {} ).sel( { SessionID: "" } ) )

sort(<sort>)

SQL 语句 API 语句
db.exec( " select * from $SNAPSHOT_CONTEXT order by SessionID" ) db.snapshot( SDB_SNAP_CONTEXTS, new SdbSnapshotOption().cond( {} ).sort( { SessionID: 1 } ) )

options(<options>)

SQL 语句 API 语句
db.exec('select * from $SNAPSHOT_CONFIGS where GroupName = "db1" and ServiceName = "20000" /*+use_option(Mode, local) use_option(Expand, false)*/') db.snapshot( SDB_SNAP_CONFIGS, new SdbSnapshotOption().cond( { GroupName:'db1', ServiceName:'20000' } ).options( { "Mode": "local", "Expand": false } ) )

skip(<skip>)

SQL 语句 API 语句
db.exec( " select * from $SNAPSHOT_CONTEXT offset 2" ) db.snapshot( SDB_SNAP_CONTEXTS, new SdbSnapshotOption().cond( {} ).skip( 2 ) )

limit(<limit>)

SQL 语句 API 语句
db.exec( "select * from $SNAPSHOT_CONTEXT limit 1" ) db.snapshot( SDB_SNAP_CONTEXTS, new SdbSnapshotOption().cond( {} ).limit( 1 ) )

SQL使用命令位置参数

命令位置参数 是用于控制命令执行的位置信息。SQL 可以用 where 语句来使用命令位置参数。

示例

  • 控制快照在指定节点运行:
> db.exec("select * from $SNAPSHOT_CONTEXT where Role = 'catalog'")
{
  "NodeName": "hostname:30000",
  "SessionID": 21,
  "Contexts": [
    {
      "ContextID": 7764,
      "Type": "DUMP",
      "Description": "IsOpened:1,IsTrans:0,HitEnd:0,BufferSize:0",
      "DataRead": 0,
      "IndexRead": 0,
      "QueryTimeSpent": 0,
      "StartTimestamp": "2019-06-26-17.55.42.355666"
    }
  ]
}
...
  • 控制快照不在全局执行:
> db.exec("select * from $SNAPSHOT_CONTEXT where Global = false")
{
  "NodeName": "hostname:50000",
  "SessionID": 10,
  "Contexts": [
    {
      "ContextID": 70,
      "Type": "DUMP",
      "Description": "IsOpened:1,IsTrans:0,HitEnd:0,BufferSize:0",
      "DataRead": 0,
      "IndexRead": 0,
      "QueryTimeSpent": 0,
      "StartTimestamp": "2019-06-26-17.56.55.916040"
    }
  ]
}
回到顶部