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

DBtool命令使用实例

IT那活儿 2023-08-23
2569
点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!

DBTool工具使用介绍

DBTool工具是GoldenDB系统提供给系统操作人员和运维人员的命令行工具。通过DBTool工具命令手册,可以帮助系统操作人员和运维人员快速对系统内部的检查运行状态、动态更改参数、问题定位和故障恢复等。

DBTool工具中命令的语法格式

dbtool -ModuleName -ActionName [options]
  • ModuleName:操作的实施对象,支持全称和缩写,不同模块通过不同用户执行。

模块名称
全称
缩略
执行用户
MetaDataServer
metadataserver
mds
ahmanager
ProxyManager
proxymanager
pm
ahmanager
ClusterManager
clustermanager
cm
ahmanager
GlobalTransactionManager
globaltransactionmanager
gtm
ahgtm1
DBProxy
DBproxy
p
ahdbproxy1
DBAgent
dbagent
dbagent
ahdb1&ahdb2
LoadServer
loadserve
loadserver
ahload1


DBTool工具使用示例

2.1 版本信息查看

dbtool -v

2.2 密码加密

dbtool  -eaes  string将字符串进行aes加密:

[ahmanager@gdb1 ~]$ dbtool -eaes Gdb@2023

The len of input stream is:8

The input stream is as follows:Gdb@2023

The len of output stream is:24

The output stream is as follows:1cz77XR3uZbs/2HMM+xOsA==

2.3 动态加载配置项

dbtool -ModuleName -load-config

如之前改DN节点主机密码执行dbtool -dbagent -lc使配置生效。

2.4 进程状态查看

dbtool -module  -state

2.5 进程信息查看

dbtool -module  -showmore

2.6 查看网元链路

查看与相关网元的链路,可以查看各个网元外部的链接端口和状态:

dbtool -ModuleName -l[ink]s[tate]

ModuleName包括mds,pm,cm,gtm,p,dbagent,loadserver

2.7 查看指定级别日志

dbtool -g[rep]l[og]l[evel] logfile loglevel
  • logfile:日志文件名,在log目录外执行需提供日志文件路径。

  • loglevel :日志级别{ERROR,WARN,INFO},默认ERROR。

Su - ahdb2

Cd log

dbtool -gll dbagent.log WARN

2.8 查看线程实时消息积压

dbtool  -ModuleName -thdmsg

2.9 proxymanager重新获取全量元数据

因为网络异常原因导致ProxyManager与MetaDataServer中元数据不一致可以通过命令实时更新本地的元数据信息即可。

dbtool -pm -gm

(gm :getmetadata缩写,获取元数据)

2.10 异常CN活跃事务回滚

当某个CN异常无法恢复后,其上未完成的活跃事务需要回滚,可在ProxyManager上通过下述命令对该异常CN上的活跃事务进行回滚。

dbtool -p[roxy]m[anager]  -recover-proxy proxyid

其中proxyid查询方法如下:

GTM节点su - ahgtm1

dbtool -gtm -sp

2.11 查看某个gtid是否活跃

dbtool -m[eta]d[ata]s[erver] -activetrans -c clusterId -gtid gtid

2.12 禁用指定集群上的库表

dbtool -m[eta]d[ata]s[erver] -set-table-status clustereid tablename 1

1表示禁用,2表示启用。

2.13 检车主备库数据是否一致

dbtool  -c[luster]m[anager] -c[heck-]c[onsience] -c[luseterID]= -g[roupID]=

-c[heck-]d[atabases]= -i[ngore-]d[atabases]= -c[heck-]t[ables]= -i[gnore-]t[ables]= -chunk=

  • -c[heck-]d[atabases]=: 需要检测的库,可以省略;

  • -i[ngore-]d[atabases]=:不需要检测的库,可以省略;

  • -c[heck-]t[ables]=: 需要检测的表,可以省略;

  • -i[gnore-]t[ables]=:不需要检测的表,可以省略;

  • -chunk=:检测时需要的块大小,可以省略。

2.14 查询集群元数据信息

dbtool -cm -qc 1

2.15 查询集群有几个分片

dbtool -cm -qcg

2.16 CN相关命令(ahdbproxy1用户执行)

1)查看cn信息

dbtool -p -m -i

2)查看cn所在集群的信息

dbtool -p -m -ci

3)查看cn绑定服务端口信息

dbtool -p -m -conninfo

  • ConnID :服务端口ID。

  • ConnName :服务端口名称。

  • Port :服务端口监听端口。

  • ClusterID :服务端口所属集群ID。

  • MasterWeight:本地权重。

  • LocalWeight:同城权重。

  • IntraWeight:异地权重。

  • ReadRule :服务端口读写分离模式,"0"表示不开启,"1"表示本地同城查询,"2"表示异地查询。

  • MaxClient :服务端口客户端最大连接数。

  • DBPoolSize :当前服务端口与DN间最大空闲连接数。

  • Status :服务端口状态。

4)表解锁

dbtool  -p[roxy] -m[anager] -u[nlock]t[able] clusterId databasename.tablename

如:
dbtool -p -m -ut 1 wsx.t1

5)查询客户端会话信息

dbtool -p[roxy]  -[e]x[ec]  -c[lient]

  • dialogid :CN的会话号,对应链路id。

  • client_host :客户端地址端口。

  • listen_port :CN监听端口号。

  • trx_active:当前活跃事务数。

  • sid :当前会话分配的事务id(session id)。

  • sidstage :当前会话的执行状态。

  • sqltype :当前会话处理的sql语句类型。

  • sendevent :当前会话最后发送的事件号。

  • recvevent :当前会话最后收到的事件号。

  • gtid :当前会话使用的gtid。

  • gtidstamp :当前会话使用的gtid创建时间。

6)查看当前正在处理的事务

dbtool -p[roxy]  -[e]x[ec]  -s[ession]

  • getnum :CN申请的总事务个数。

  • freenum :CN释放的总事务个数。

  • max reset get :申请事务计数器达到最大值后重置次数。

  • max reset free :释放事务计数器达到最大值后重置次数。

  • unfreed sid :当前正在使用的事务id。

7)查询执行时长超过指定时间的事务

dbtool -p[roxy]  -[e]x[ec]  -s[ession]  [duration]

如:
dbtool -p -x -s 10

  • sid :事务id。
  • duration :事务持续时长。
  • sidstage :事务当前执行状态。
  • dlgid :会话号。
  • dlgsource :会话申请源。
  • coreid :链路id。
  • port :CN端口号。
  • sqltype :当前事务执行的sql语句类型。
  • gtid :当前事务申请的gitd。
  • sidstamp :当前事务创建时间。

8)查看超时会话

dbtool -p[roxy]  -[e]x[ec]  -d[elay]  [1]

如:
dbtool -p -x -d 5

打印CN进程当前正在执行且执行时间超过指定时间阀值的会话和本会话的执行时间。单位秒。

9)输出执行时间超过10毫秒的sql会话

dbtool -p[roxy] -[e]x[ec] -[show]sq[l]i[nfo] duration

如:
dbtool -p -x -sqi 10

10)结束指定会话的sql

dbtool -p[roxy] -[e]x[ec] -t[erminate]s[ql] dialogid

dialogid:指定的会话id。

11)输出活跃时间超过10毫秒的事务

dbtool -p[roxy] -[e]x[ec] -s[how]a[ctive]t[rans] duration

查看超过duration毫秒还未执行结束的事务信息。

如:

dbtool -p -x -sat 10

12)根据dialogid杀掉事务

dbtool -p -x -kat DialogID


END


本文作者:事业二部(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论