云数据库 GAUSSDB-修复账本数据库:背景信息

时间:2024-11-13 10:05:08

背景信息

  • 当前的账本数据库机制为:全局区块表存储在CN端,各个CN数据独立。用户历史表存储在DN端,历史表记录的数据为所在DN防篡改表的数据变化。因此,在触发数据重分布时,可能导致防篡改表和用户历史表数据不一致,此时需要使用ledger_hist_repair(text, text)接口对指定DN节点的用户历史表进行修复,修复后当前DN节点调用历史表校验接口结果为true。在CN剔除、修复的场景下,可能导致全局区块表数据丢失或者与用户历史表不一致,此时需要使用ledger_gchain_repair(text, text)接口对整个集群范围内的全局区块表进行修复,修复后调用全局区块表校验接口结果为true。
  • 修复用户历史表的接口为pg_catalog.ledger_hist_repair,操作为:
    SELECT pg_catalog.ledger_hist_repair(schema_name text,table_name text);

    如果修复成功,函数返回修复过程中用户历史表hash的增量。

    注:对用户表执行闪回DROP时,可使用该函数恢复用户表和用户历史表名称,请参见恢复用户表和用户历史表名称

  • 修复全局区块表的接口为pg_catalog.ledger_gchain_repair,操作为:

    SELECT pg_catalog.ledger_gchain_repair(schema_name text,table_name text);

    如果修复成功,函数返回修复过程中全局区块表中指定表的hash总和。

support.huaweicloud.com/fg-gaussdb-dist-v8/gaussdb-18-0025.html