vb_resetxlog
功能介绍
vb_resetxlog工具是用来重置数据库预写日志或其他控制内容的工具。其它控制内容可以由工具vb_controldata查看。
在共享存储模式,关闭数据库之后需要先手动开启dssserver,然后执行vb_resetxlog操作。
注意事项
通过vb_resetxlog重新设置之前,需要先停止数据库。
保证数据库目录存在且路径正确。
语法格式
vb_resetxlog [OPTION]... DATADIR
DATADIR:表示需要修改的数据库目录。
参数说明
DATADIR:
需要修改的数据库目录,确保路径正确。
OPTION取值如下:
-e XIDEPOCH
设置下一个事务id的epoch值。
-f
强制更新。
-l xlogfile
为新的事务日志指定最小的WAL起始位置。
xlogfile的值要大于当前最大的xlog文件名,否则该参数不生效,将按照默认逻辑处理,即新的日志文件名为执行该命令前最后一个日志文件的文件名加1。
-m XID
设置下一个multitransaction ID。
-n
不更新,仅显示配置文件的值。
-o OID
设置下一个OID。
-O OFFSET
设置下一个multitransaction的偏移量。
--enable-dss
资源池化参数,开启资源池化模式。当输入包含vgname时,会自动开启该参数。
--socketpath=SOCKETPATH
资源池化参数,dss实例进程使用的socket文件路径,仅支持绝对路径, 可不指定,默认值为$DSS_HOME/.dss_unix_d_socket。
--vgname
资源池化参数,资源池化的数据目录。
-V, --version
显示版本信息。
-x XID
设置下一个事务ID。
-K xlogdir
设置xlog目录,默认为pg_xlog。
-?, --help
打印帮助信息。
使用举例
非资源池化模式
1、停止数据库。
vb_ctl stop
2、指定-x
选项设置下一个事务ID。
pg_resetxlog $PGDATA -x 123456789
返回如下结果:
Transaction log reset
export DSS_MAINTAIN=TRUE
dssserver -D $DSS_HOME &
vb_resetxlog [OPTION]... DATADIR --enable-dss --vgname=VGDATA --socketpath=SOCKETPATH
export DSS_MAINTAIN=FALSE
在资源池化模式下,用户需要指定数据库节点文件系统的数据目录DATADIR,用于判断数据库是否关闭,同时也需要指定共享的数据目录,用于操作共享存储设备中的文件。由于备机dss不允许写入,用户只能在主机执行该工具,并且数据库必须是正常关闭的状态。用户在执行该工具之后,工具会自动识别主机并对主机的日志进行重置。