ITPub博客

首页 > 数据库 > 数据库开发技术 > openGauss学习笔记-127 openGauss 数据库管理-设置账本数据库-修复账本数据库

openGauss学习笔记-127 openGauss 数据库管理-设置账本数据库-修复账本数据库

原创 数据库开发技术 作者:shuchaoyang 时间:2023-08-07 07:00:00 0 删除 编辑

openGauss学习笔记-127 openGauss 数据库管理-设置账本数据库-修复账本数据库127.1 前提条件127.2 背景信息127.3 操作步骤

openGauss学习笔记-127 openGauss 数据库管理-设置账本数据库-修复账本数据库

127.1 前提条件

  • 系统中需要有审计管理员或者具有审计管理员权限的角色。

  • 数据库正常运行,并且对防篡改数据库执行了一系列增、删、改等操作,保证在查询时段内有账本操作记录结果产生。

127.2 背景信息

  • 当在异常情况或表被损坏时需要使用账本数据库的函数章节中的ledger_gchain_repair(text, text)或ledger_hist_repair(text, text)接口对全局区块表或用户历史表进行修复,修复后调用全局区块表或用户历史表校验接口结果为true。

  • 修复用户历史表的接口为pg_catalog.ledger_hist_repair,操作为:

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

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

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

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

    如果修复成功,函数返回修复过程中全局区块表hash的增量。

127.3 操作步骤

  1. 执行历史表修复操作。

    openGauss=# SELECT pg_catalog.ledger_hist_repair('ledgernsp', 'usertable');

    查询结果如下:

     ledger_hist_repair
    --------------------
    84e8bfc3b974e9cf
    (1 row)

    该结果表明当前节点用户历史表修复成功,修复造成的用户历史表hash增量为84e8bfc3b974e9cf。

  2. 执行全局区块表修复操作。

    openGauss=# SELECT pg_catalog.ledger_gchain_repair('ledgernsp', 'usertable');

    查询结果如下:

     ledger_gchain_repair
    ----------------------
    a41714001181a294
    (1 row)

    该结果表明,全局区块表修复成功,且插入一条修复数据,其hash值为a41714001181a294。


👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!


有什么吐槽或反馈意见,直接告诉我!

温馨提示:如出现二维码失效也可直接添加微信号:ysc13803862469。


原文作者:超哥的IT私房菜;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论
专注于IT系统集成、运维、架构二十年的IT职场老兵,拥有CCNA、OCA、OCP、PGCA、PGCE认证证书,公众号:超哥的IT私房菜,知识星球:超哥的IT私房菜,目前是多家IT厂商的咨询顾问。

注册时间:2021-08-27

  • 博文量
    552
  • 访问量
    303747