GBase 8a手工清理Event

当一些故障节点event无法自动同步成功时,需要强行删除。比如单节点集群,故障节点替换操作时,都要强行清理故障节点的所有event。

1.    清理指定节点的所有event

注意:本命令在V95版本才有,V8系列请用后面章节的命令做清理。

gcadmin rmfeventlog ip

其中ip是清除event的节点IP地址。

2.    指定条件清理

如下三个命令,分别清理dml,ddl和dmlstorage的event. 其中参数和用法完全相同。

原则上清理优先级,dmlstorag  > ddl > dml。

2.1.            参数介绍

type :清理方法,按照这个方案清理event,包含后面的四种方法:

0 = eventid 按照具体的事件编号清理

1 = tablename 清理指定表名字的所有事件

2 = nodeip 清理指定IP上的所有事件

3 = tablename nodeip 清理指定表名字,指定IP上的所有事件

比如清理指定节点的所有dmlevevt

gcadmin rmdmlevent 2 192.168.0.2

其中2代表按照IP清理,后面的参数是IP地址

2.2.            gcadmin rmdmlevent

清理dmlevent。

完整命令

gcadmin rmdmlevent type [eventid | tablename | nodeip | tablename nodeip]

gcadmin rmdmlevent 0 10234
gcadmin rmdmlevent 1 testdb.t1
gcadmin rmdmlevent 2 192.168.0.3
gcadmin rmdmlevent 3 testdb.t1 192.168.0.3

在V95版本增加了VC参数,未开启vc功能的可以忽略。

gcadmin rmdmlevent type [eventid | tablename | nodeip | tablename nodeip] [vc vc_name]

2.3.            gcadmin rmddlevent

清理ddlevent。

完整命令

gcadmin rmddlevent type [eventid | tablename | nodeip | tablename nodeip]

gcadmin rmddlevent 0 10234
gcadmin rmddlevent 1 testdb.t1
gcadmin rmddlevent 2 192.168.0.3
gcadmin rmddlevent 3 testdb.t1 192.168.0.3

在V95版本增加了VC参数

gcadmin rmddlevent type [eventid | tablename | nodeip | tablename nodeip] [vc vc_name]

2.4.            gcadmin rmdmlstorageevent

清理dmlstorageevent。

完整命令

gcadmin rmdmlstorageevent type [eventid | tablename | nodeip | tablename nodeip]

gcadmin rmdmlstorageevent 0 10234
gcadmin rmdmlstorageevent 1 testdb.t1
gcadmin rmdmlstorageevent 2 192.168.0.3
gcadmin rmdmlstorageevent 3 testdb.t1 192.168.0.3

在V95版本增加了VC参数

gcadmin rmdmlstorageevent type [eventid | tablename | nodeip | tablename nodeip] [vc vc_name]

3.    通配符形式清理

注意:该方案一般在前面方案无法满足时使用,尽量避免。

常见场景:【单节点】集群,由于没有高可用,event也不会自动恢复,需要手工清理。

[root@node1 trace]# python
Python 2.6.6 (r266:84292, Sep 12 2011, 14:03:14)
[GCC 4.4.5 20110214 (Red Hat 4.4.5-6)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import gcware

如果如上命令报找不到module,可以用如下方式,其中python_gcware如果也不在如下目录,请联系GBase技术支持人员。

>>> import sys

>>> sys.path.append('/usr/lib64/python_gcware')

>>> import gcware

如下三个命令对应三种event类型,正则的方式匹配。如下样例的正则是匹配全部。

>>> gcware.clearddlfevent('.*')

>>> gcware.cleardmlfevent('.*')

>>> gcware.cleardmlstoragefevent('.*')

正则精确匹配方式

如果想清理掉和某个表相关的日志,可以调用:

clearXXXXfevent("^test.t$");

如果想清理掉和一个库相关的所有日志,可以调用:

clearXXXXfevent("^database$| ^database\..*")

退出方法

Use exit() or Ctrl-D (i.e. EOF) to exit
>>> exit();

GBase 8a手工清理Event》有1条评论

评论已关闭。