# DBE_LICENSE
![](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
只有具有系统管理员或运维管理员权限的用户可以调用该高级包下的接口。
#### 接口介绍
高级功能包DBE_LICENSE主要用于激活、查看、注销License。主要支持的接口参见[表 DBE_LICENSE]。
 表1DBE_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;
  ```
  表2DBE_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。
  ![](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
  - 执行注销操作后，原先的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)
  ```
  表3DBE_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;
    ```
    
   
 
