更新时间:2026-10-21 GMT+08:00
分享

DBE_LICENSE

只有具有系统管理员或运维管理员权限的用户可以调用该高级包下的接口。

接口介绍

高级功能包DBE_LICENSE主要用于激活、查看、注销License。主要支持的接口参见表 DBE_LICENSE。

表1 DBE_LICENSE

接口名称

描述

DBE_LICENSE.ACTIVATE

激活License。

DBE_LICENSE.DEACTIVATE

注销当前License。

DBE_LICENSE.GET_ESN

查询节点ESN信息。

DBE_LICENSE.GET_LICENSE_INFO

查询当前节点License状态信息。

DBE_LICENSE.GET_ALL_NODE_LICENSE_ACTIVATE

查询数据库集群的License激活状态。

  • DBE_LICENSE.ACTIVATE

    函数ACTIVATE根据License类型和对应文件激活License。

    当前支持令牌文件或ESDP License文件两种License进行激活。

    DBE_LICENSE.ACTIVATE原型为:
    DBE_LICENSE.ACTIVATE(
        license_type IN VARCHAR2,
        token_file IN VARCHAR2)
    RETURN BOOLEAN;
    
    DBE_LICENSE.ACTIVATE(
        license_type IN VARCHAR2,
        license_file IN VARCHAR2,
        key_file IN VARCHAR2)
    RETURN BOOLEAN;
    表2 DBE_LICENSE.ACTIVATE接口参数说明

    参数

    描述

    license_type

    待激活License类型,可选值为OnCloud或OffCloud。

    • OnCloud:表示使用令牌文件激活License。
    • OffCloud:表示使用ESDP License文件激活License。

    token_file

    令牌文件名称。需遵循以下要求:

    • 名称不能为license.json、license.xml;
    • 名称中不能包含'/'或'\\'字符。

    license_file

    ESDP格式License文件名称。

    key_file

    公钥文件名称。

  • DBE_LICENSE.DEACTIVATE

    函数DEACTIVATE用于注销当前节点的License。

    当传入参数为false时,函数在License处于已注销状态下会抛出错误;当传入参数为true时,函数在此状态下将返回true。

    参数未传入时,默认值为false。

    • 执行注销操作后,原先的License将失效,系统将重新为当前数据库节点生成新的ESN信息,且License处于未激活状态。为了保护您的权益不受影响,在执行该操作前,请务必谨慎考虑。
    • 使用ESDP License激活License时,注销节点的License会在数据目录下的gs_esn文件夹中生成撤销码文件RevoTicket.txt。您可用该文件去ESDP平台刷新License的ESN值用于再次激活节点License。
    DBE_LICENSE.DEACTIVATE原型为:
    DBE_LICENSE.DEACTIVATE(
        idempotent    IN BOOLEAN DEFAULT FALSE)
    RETURN BOOLEAN;
  • DBE_LICENSE.GET_ESN

    函数GET_ESN查询当前数据库节点的ESN信息,ESN是数据库节点的唯一标识符,数据库内部会尽可能保证每个节点ESN的唯一性。

    DBE_LICENSE.GET_ESN原型为:
    DBE_LICENSE.GET_ESN()
    RETURN VARCHAR2;
  • DBE_LICENSE.GET_LICENSE_INFO

    函数GET_LICENSE_INFO查询节点license信息。

    DBE_LICENSE.GET_LICENSE_INFO原型为:
    DBE_LICENSE.GET_LICENSE_INFO()

    返回值类型:setof record

    示例:
    gaussdb=# SELECT * FROM  dbe_license.get_license_info();
          create_time       |     activate_time      |      expire_time       |  type   | license_version | customer |   state   |       lsn       |                                      feature_list    
                                      | dn_capacity | cn_capacity 
    ------------------------+------------------------+------------------------+---------+-----------------+----------+-----------+-----------------+------------------------------------------------------
    ----------------------------------+-------------+-------------
     2024-10-20 14:30:45+08 | 2026-01-22 12:02:17+08 | 2026-01-22 12:03:45+08 | OnCloud |               1 | Test     | Activated | lsntesttesttest | enable_ilm,enable_tde,enable_ledger,enable
    _security_policy |           1 |           1
    (1 row)
    表3 DBE_LICENSE.GET_LICENSE_INFO接口返回值字段说明

    名称

    类型

    描述

    create_time

    timestamptz(0)

    License创建时间。

    activate_time

    timestamptz(0)

    License激活时间。

    • 已激活的正式License,激活时间为调用接口激活的时间。
    • 试用的License,激活时间为进入试用模式的时间。

    expire_time

    timestamptz(0)

    License到期时间。

    • 已激活的License,到期时间为令牌文件或ESDP License文件到期时间。
    • 试用的License,到期时间为进入试用模式时的第 90 天。

    type

    text

    License的部署类型:

    • 带管控部署:OnCloud。
    • 无管控部署:OffCloud。
    • 其他:Illegal deploy mode

    license_version

    bigint

    License的版本。

    • 带管控部署时,用于区分签名算法及License结构等。
    • 无管控部署时为0。

    customer

    text

    License的购买方。

    state

    text

    License的状态:

    • Activated:表示License已激活。
    • Deactivated:表示License已注销。
    • Expired:表示License已过期。
    • Trial:表示License为试用状态。
    • Error:表示License异常。

    lsn

    text

    License的识别编号。

    feature_list

    text

    License包含的高阶特性列表,由逗号分割的特性GUC参数名称组成。如“ enable_tde,enable_ledger”。

    dn_capacity

    bigint

    预留字段,无实际含义。

    cn_capacity

    bigint

    预留字段,无实际含义。

    • DBE_LICENSE.GET_ALL_NODE_LICENSE_ACTIVATE

      函数GET_ALL_NODE_LICENSE_ACTIVATE查询当前数据库集群的License激活状态。当集群所有CN和主DN节点License均处于已激活或试用状态时,返回true;当任意CN或主DN节点的状态不为已激活或试用状态时,返回false。

      DBE_LICENSE.GET_ALL_NODE_LICENSE_ACTIVATE原型为:
      DBE_LICENSE.GET_ALL_NODE_LICENSE_ACTIVATE()
      RETURN BOOLEAN;

相关文档