关键字:
KingbaseES、sys_recovery、数据恢复、人大金仓
什么是sys_recovery?
sys_recovery一款数据找回工具,可以恢复COMMIT /DELETE /UPDATE /ROLLBACK /DROP COLUMN操作后导致的数据变化,并以表的形式返回。sys_recovery 通过读取死元组来恢复不可见的表数据。如果死元组已经被清除掉,那么 sys_recovery 便不能恢复出数据。
通过 create extension 来增加插件
CREATE EXTENSION sys_recovery;
通过 drop extension 来卸载插件
DROP EXTENSION sys_recovery;
数据找回演示
1.初始化数据 (准备一个表和一些数据)
2.找回UPDATE数据
3. 找回DELETE数据
4.找回ROLLBACK数据
尝试恢复回滚操作之前的数据
5.找回DROP COLUMN数据
尝试恢复表中被删除的列及数据。
6.显示找回数据
显示该表历史上所有写入过的数据
可恢复事务数
通过vacuum_defer_cleanup_age值大小,可限制可恢复的事务数。如果预期需要恢复的数据量较大,可通过配置参数值,提高可恢复的事务数。
sys_recovery通过读取dead元组来恢复不可见的表数据。如果元组被vacuum清除掉,那么sys_recovery便不能恢复数据。
锁请求
sys_recovery使用期间,支持正常的读表的锁请求。此外sys_recovery未使用期间,不会对数据库造成任何额外的开销或是影响,无需暂停服务。