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

华为GaussDB A gs_clean

墨天轮 2019-10-12
1678

gs_clean

背景信息

数据库集群的分布式结构需要依靠两阶段事务管理来保证集群事务的一致性,当集群发生异常或者某个节点重启时,就会有未执行完的两阶段事务存在集群中,因为某种原因,该事务无法执行下去,并且会阻塞其他两阶段事务的执行。这时就需要手动清理掉这些僵尸事务,使集群恢复正常。gs_clean是GaussDB 200提供的两阶段事务清理工具,当某个CN或者DN重启后,需要恢复两阶段事务,此时可以连上任意一个CN清理或查询集群中两阶段事务的状态等信息。

语法

连上CN,清理DN未处理的两阶段事务。

gs_clean [OPTION ...] [DBNAME [USERNAME]]

参数说明

OPTION的取值如下所示:

  • -a, --all

    清理所有可用数据库中的未处理的两阶段事务。

  • -c, --commit

    提交所有prepared事务。

  • -d, --dbname=DBNAME

    清理数据库中未处理的两阶段事务。

    取值范围:集群中有效的数据库名称。

    默认值:postgres。

  • -h, --host=HOSTADDRESS

    目标CN所在主机的IP地址。

    取值范围:目标CN所在主机的IP地址。

    默认值:localhost

  • -n, --node=NODENAME

    只恢复该节点中的prepared事务。

    取值范围:NODENAME的取值是当前恢复节点的名称。

  • -N, --no-clean

    仅收集集群中的两阶段中prepared事务,并不对其进行恢复。

  • -p, --port=PORT

    目标CN的端口号。

    取值范围:目标CN的端口号。

    默认值:25308

  • -q, --quiet

    静态模式,除了错误信息,不打印任何其它信息。

  • -r, --rollback

    回滚所有prepared事务。

  • -R, --rollback-cn-name

    当CN出现故障并且无法确定其发起的两阶段事务状态时,对指定CN发起的残留事务进行回滚(使用该参数时需要保证故障的CN从集群中删除,不再作为集群节点运行,否则会导致集群数据不一致。)

  • -s, --status

    打印两阶段事务的状态。

  • -t, --timeout=SECS

    连接超时机制。

    默认值:5s。单位:秒(s)。

  • -U, --username=USERNAME

    连接数据库的用户名称。

    取值范围:数据库中有效的用户名称。

    默认值:操作系统用户名称。

  • -v, --verbose

    打印详细的恢复信息。

  • -V, --version

    打印该工具的版本信息。

  • -w, --no-password

    无需输入密码验证。

  • -W, --password=PASSWORD

    需要输入密码验证。

    取值范围:有效字符串。符合密码复杂度要求。

  • -C, --clean

    仅对PLAN_TABLE_DATA表中的数据进行清理。

  • -?, --help

    打印帮助信息。


查看更多:华为GaussDB 200 服务端工具
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论