lt_upgrade_check

lt_upgrade_check — lt_upgrade升级前检查工具

Synopsis

lt_upgrade_check -b oldbindir [-B newbindir] -d oldconfigdir -D newconfigdir [option...]

描述

本程序在lt_upgrade升级之前执行,用于提前检查升级不兼容及异常项,尽量避免在升级过程中出现失败。

目前支持的检查内容如下:

1,关键字检查。

2,存储空间检查,仅当空闲存储空间超过原目录大小乘以(100 + reserved-space-percent)%的时候才允许升级,尽量避免升级过程中储存空间不足,其中reserved-space-percent是选项参数,下文有具体介绍。

选项

lt_upgrade_check接受下列命令行参数:

-b bindir
--old-bindir=bindir

旧的 LightDB 可执行文件目录; 环境变量LTBINOLD

-B bindir
--new-bindir=bindir

新的 LightDB 可执行文件目录; 默认为lt_upgrade_check所在的目录; 环境变量LTBINNEW

-d configdir
--old-datadir=configdir

旧的实例数据目录;环境变量 LTDATAOLD

-D configdir
--new-datadir=configdir

新的实例数据目录;环境变量 LTDATANEW

-p port
--old-port=port

旧的实例端口号;环境变量 LTPORTOLD

-P port
--new-port=port

新的实例端口号;环境变量 LTPORTNEW

-r
--reserved-space-percent

剩余磁盘空间百分比,计算新目录所需空间时规则是原目录大小乘以(1 + reserved-space-percent)%,默认 20,即剩余磁盘空间要大于原目录大小*120%。

-s
--strict

采用严格模式检查,默认不开启。 若开启此选项,则会检查表名、列名、函数名等对象名称,并检查函数、存储过程、视图、等编译式要素的代码中是否用了任何关键字, 若不开启,则只检查增量关键字(增量关键字是指新旧数据库实例之间新增的关键字),如果包含了关键字,则视为检查失败。

-v
--verbose

启用详细的内部日志。

-V
--version

显示版本信息,然后退出。

-?
--help

显示帮助,然后退出。

使用

下面是在新库的数据库实例调用lt_upgrade_check执行一次检查的命令:

   new-bindir/lt_upgrade_check -d old-datadir -D new-datadir -b old-bindir -B new-bindir -v -r 50
   

这个命令表示在指定的旧库数据库实例升级到新库数据库实例时,关键字检查是非严格检查,需要剩余磁盘空间大于原目录大小乘以150%,并打印详细检查日志。

  • 运行lt_upgrade_check

    运行lt_upgrade_check前,要求新旧数据库实例都是在一台服务器上并都是停止状态, 没有人可以在检查期间访问这些实例。 默认会在端口 50432 上运行服务来避免意外的客户端连接。在做检查时, 可以对两个实例使用相同的端口号,因为新旧实例不会同时被运行。

    检查流程是: 获取新库、旧数据库实例关键字信息后,首先做关键字检查,然后进行存储空间检查。