zctl.py必须在安装数据库用户运行。
zctl.py日志生成在每个实例log目录,文件名格式为zctl-YYYY-MM-DD_xxxxxx.log,其中YYYY为年份,MM为月份,DD为日期,xxxxxx为随机生成的六位数字。例如:zctl-2018-10-01_055246.log。
zctl.py日志支持转储,每个日志文件最大为10M,最大支持10个文件。
zctl.py日志会记录用户登录名和主机信息,如果zctl.py日志中用户名或主机信息为NULL,请排查用户登录是否为非SSH方式(如VNC或其它登录方式),或者排查执行zctl.py的方式。
语法格式
显示帮助页面
python zctl.py --help
查看数据库版本信息
python zctl.py -v
启动数据库
python zctl.py -t start [-D DATADIR] [-m START-MODE]
停止数据库
python zctl.py -t stop [-D DATADIR] [-m SHUTDOWN-MODE] [-P]
强制停止数据库
python zctl.py -t kill [-D DATADIR]
查看数据库状态
python zctl.py -t status [-D DATADIR] [-P]
数据库主备切换
python zctl.py -t switchover [-D DATADIR] [-P]
备数据库升为主数据库
python zctl.py -t failover [-D DATADIR] [-P]
重建数据库基线
python zctl.py -t build [-D DATADIR] [-m BUILD-MODE] [-c] [-a ALGORITHM] [-l LEVEL] [-P]
主数据库降为备数据库
python zctl.py -t demote [-D DATADIR] [-m DEMOTE-MODE] [-P]
参数说明
参数
说明
--help
显示帮助页面。
-v
查看数据库版本。
-t
指定zctl.py的工作方式:start(启)、stop(停)、status(查看状态)、switchover(主备角色倒换)、failover(备机升主)、build(重建基线)、demote(主机降备)、kill(强制停止)。
在线修改端口或地址,会导致停机失败,因此不建议在线修改当前的连接信息。如果在连接异常或者连接信息被在线修改情况下,可使用kill方式停止特定数据目录的实例。
-m
启停数据库模式、重建数据库基线模式、主数据库降为备数据库的模式。
启动数据库时,模式可以是nomount、mount、open,不输入-m,默认是open模式。
停止数据库时,模式可以是immediate、abort、normal,不输入-m,默认是normal模式。
重建数据库基线时,模式可以是standby、cascaded。standby:重建为备机;cascaded:重建为级联备机。不输入-m,由连接的对端数据库决定,对端是备机,则重建为级联备;对端是主机,则重建为备机。
主数据库降为备数据库时,模式可以是standby、cascaded。standby:主机降级为备机;cascaded:主机或者备机降级为级联备机。不输入-m,默认是降级为备机。
-c
build时指定压缩。该选项只对build有效。
-a
build进行压缩时,指定压缩算法。当前支持ZSTD、ZLIB和LZ4,默认是ZSTD。
-l
build进行压缩时,指定压缩级别。有效取值范围[1,9],默认值是1。
-D
指定单机数据文件路径,即GSDB_DATA路径。
-P
指定工具通过用户名和密码连接数据库。命令行执行过程中,会提示输入连接数据库的用户名和密码,用户名是SYS,密码是SYS用户的出厂密码Changeme_123。
该参数可缺省,若缺省,则通过免密登录连接数据库。
命令
应用场景
switchover
在备机上执行,主备都正常运行时进行角色倒换。
failover
在备机上执行,当主机出现异常后,选择某一个备机升主。
build
在备机上执行,当备机的状态是need repair时执行此命令以重建基线。
在主机上执行,将该主机降备,使用新主机重建基线。
如果在主机上执行,请确保该主机及能够连接上新主机,否则重建失败且数据无法恢复。
demote
在主机上执行,典型应用如下:主机A故障后,选择一个备机failover升主,然后将原主机A降备。