license管理
1.使用场景
系统将自动检测license信息是否过期 - license过去前一个月,会显示warning:licensefilewill expirein30days - 当license过去,会显示licensefileexpired#注意1. 数据库重启时才会启动 License 授权期限校验机制。用户授权到期后,若不重启数据库,则不会因授权到期而 中断服务;2. 在多节点的集群模式下,当部分节点 License 授权期限到期,重启数据库失败后,其它正常运行节点具备接管 业务能力,保证业务连续性。2.查看
selectget_license_info();catlicense.dat#可以查看license中控制的所有选项的值3.更换
#当数据的license过期时,启动数据库过程中会报错,提示过期。需将新的 license 文件上传至服务器后,通过命令 sys_ctl 或 SQL 函数 sys_reload_license 直接加载新 license 授权文件并使其生效,无需重启数据库(已启动的 ksql 会话需要退出后才能获取最新 reload 后的 license信息)。 reload 成功后,会将旧的 license.dat 备份,备份规则是在同目录下生成一个 license.dat_YYYY-MM-DD_HH:MI:SS 文件。当 新 授 权 文 件 路 径 不 是 绝 对 路 径 时, 如 果 使 用
sys_ctl 命 令 时 则 以 当 前 路 径 为 基 准, 如 果 使 用
sys_reload_license 函数,则以 $DATA 路径为基准;
替换是仅替换一个当前生效目录;
支持 reload Ukey 授权,reload Ukey 授权时不用传入授权路径即可 (如:sys_ctl -D data reload_license
)。SQL 函数 sys_reload_license 执行时传入空串或 NULL 值即可(如 select sys_reload_license(‘’)或 select sys_reload_license(NULL) );
当未输入路径时,如果有 Ukey 则优先加载 Ukey,如果没有 Ukey 则会加载旧授权;
Ukey 优先级大于 license.dat,即存在 Ukey 的情况下仅 Ukey 生效。
3.1 替换结果-1
#(1)当新 license 授权有时间期限时,reload 成功后显示新授权期限。成功标志successfullysys_ctl-Ddata reload_license /xxx/xxx/xxx/license.dat (2)如果此时有功能受控项处于禁用状态,那么还会输出 warning 警告信息3.2 替换结果-2
#当新 license 授权为无固定期限时,reload 成功后显示永久授权。成功标志successfullysys_ctl-Ddata reload_license /xxx/xxx/xxx/license.dat3.3 替换结果-3
#当读取 license 授权失败时,提示 reload 失败,并显示失败原因,同时将原来旧的 license 授权还原。$ sys_ctl-Ddata reload_license /xxx/xxx/xxx/license.dat Checking license file... Check failed. Licensefileexpired