前言
集群闪回¶
集群闪回允许将用户数据恢复到某个指定时间或事务号的状态。
能够在短时间内恢复对表的误操作(DML或部分DDL),为数据库的数据恢复提供更加便捷的途径。
闪回支持以下三个级别的闪回操作:
- 支持表级闪回
- 闪回单个表的DML和部分DDL操作
-
支持指定时间戳进行闪回
-
支持库级闪回
- 闪回当前数据库的DML和部分DDL操作
-
支持指定事务号闪回和指定时间戳闪回两种方式
-
支持实例级闪回
- 闪回当前实例的DML和部分DDL操作
- 支持指定事务号闪回和指定时间戳闪回两种方式
集群闪回需要以下辅助函数和辅助表:
- 辅助函数
sd_record_timestamp_gxid
在集群下收集时间戳及其对应的集群事务号,插入到系统表sd_timestamp_gxid中;
闪回时通过比较指定时间戳和系统表sd_timestamp_gxid中记录的时间戳,找到一个合适的集群事务号进行闪回。
- 辅助系统表
sd_timestamp_gxid
开启闪回时,通过调用函数sd_record_timestamp_gxid,收集时间戳及与其对应的集群事务号
sd_node_gxid_txid_map
开启闪回时,在提交阶段记录集群事务号和对应的单点事务号