当前位置: 首页 > news >正文

蓝色风格的网站做云教育集群网站

蓝色风格的网站,做云教育集群网站,系部网站开发计划,六安网站建设企业概念介绍闪回恢复功能是数据库恢复技术的一环,可以有选择性地撤销一个已提交的事务,将数据从人为不正确的操作中进行恢复。在采用闪回技术之前,只能通过备份恢复、PITR等手段找回已提交的数据库修改,恢复时长需要数分钟甚至数小时…

概念介绍

闪回恢复功能是数据库恢复技术的一环,可以有选择性地撤销一个已提交的事务,将数据从人为不正确的操作中进行恢复。在采用闪回技术之前,只能通过备份恢复、PITR等手段找回已提交的数据库修改,恢复时长需要数分钟甚至数小时。采用闪回技术后,通过闪回drop和闪回truncate恢复已提交的数据库drop/truncate的数据,只需要秒级,而且恢复时间和数据库大小无关。

闪回逻辑图

简单的比喻,闪回类似于虚拟机中的恢复快照、类似于看视频时候的快退操作。

控制闪回的参数主要有两个:

enable_recyclebin

undo_retention_time

使用GaussDB闪回恢复的注意事项:

Astore引擎只支持闪回DROP/TRUNCATE功能。

备机不支持闪回操作。

用户可以根据需要开启闪回功能,开启后会带来一定的性能劣化。

按照产品文档的顺序,本次主要通过 闪回查询、闪回表、闪回drop\truncate 三方面来介绍。

闪回查询

闪回查询可以查询过去某个时间点表的某个snapshot数据,这一特性可用于查看和逻辑重建意外删除或更改的受损数据。闪回查询基于MVCC多版本机制,通过检索查询旧版本,获取指定老版本数据。

整体方案分为三部分:

旧版本保留、快照的维护和旧版本检索。

旧版本保留:新增undo_retention_time配置参数,用来设置旧版本保留的时间,超过该时间的旧版本将被回收清理。

注意:

使用时间点进行闪回时,可能会有3s的误差。想要闪回到精确的操作点,需要使用CSN进行闪回。

使用前参数设置确认

使用示例:

DROP TABLE IF EXISTS "public".flashtest;--创建表flashtest
CREATE TABLE "public".flashtest (col1 INT,col2 TEXT) WITH(storage_type=ustore);--插入数据
INSERT INTO flashtest VALUES(2025,'jiang');--查询当前数据
SELECT * FROM flashtest;

--查询csn
SELECT int8in(xidout(next_csn)) FROM gs_get_next_xid_csn();

--插入数据
INSERT INTO flashtest VALUES(1991,'shifeng');--查询当前数据
SELECT * FROM flashtest;--查询当前时间戳
select now();

--插入数据
INSERT INTO flashtest VALUES(1,'INSERT1'),(2,'INSERT2'),(3,'INSERT3'),(4,'INSERT4'),(5,'INSERT5'),(6,'INSERT6');--查询当前数据
SELECT * FROM flashtest;

--闪回查询某个csn处的表
SELECT * FROM flashtest TIMECAPSULE CSN 1234;

--闪回查询某个时间戳处的表
SELECT * FROM flashtest TIMECAPSULE TIMESTAMP '2025-09-10 15:28:22.184126';

--闪回查询某个时间戳处的表
SELECT * FROM flashtest TIMECAPSULE TIMESTAMP to_timestamp ('2025-09-10 15:28:22.184126', 'YYYY-MM-DD HH24:MI:SS.FF');

--闪回查询某个csn处的表,并对表进行重命名
SELECT * FROM flashtest AS ft TIMECAPSULE CSN 1234;

闪回表

闪回表可以将表恢复至特定时间点,当逻辑损坏仅限于一个或一组表,而不是整个数据库时,此特性可以快速恢复表的数据。闪回表基于MVCC多版本机制,通过删除指定时间点和该时间点之后的增量数据,并找回指定时间点和当前时间点删除的数据,实现表级数据还原。

使用语法

TIMECAPSULE TABLE table_name TO { TIMESTAMP | CSN } expression

使用示例

DROP TABLE IF EXISTS "public".flashtest;--创建表flashtest
CREATE TABLE "public".flashtest (col1 INT,col2 TEXT) WITH(storage_type=ustore);--插入数据
INSERT INTO flashtest VALUES(1,'INSERT1'),(2,'INSERT2');--查询csn
SELECT int8in(xidout(next_csn)) FROM gs_get_next_xid_csn();--查询当前时间戳
SELECT now();SELECT * FROM flashtest;

--插入数据
INSERT INTO flashtest VALUES(3,'INSERT3'),(4,'INSERT4');SELECT * FROM flashtest;

--闪回表至特定csn
TIMECAPSULE TABLE flashtest TO CSN 3351;SELECT * FROM flashtest;SELECT now();

--插入数据
INSERT INTO flashtest VALUES(5,'INSERT5'),(6,'INSERT6');SELECT * FROM flashtest;

--闪回表至此刻之前的特定时间戳
TIMECAPSULE TABLE flashtest TO TIMESTAMP to_timestamp ('2025-09-10 17:00:05.556824', 'YYYY-MM-DD HH24:MI:SS.FF');SELECT * FROM flashtest;SELECT now();

--插入数据
INSERT INTO flashtest VALUES(2025,'jiang'),(1991,'shifeng');SELECT * FROM flashtest;

--闪回表至此刻之后的特定时间戳
TIMECAPSULE TABLE flashtest TO TIMESTAMP '2025-09-10 17:01:40.256371';SELECT * FROM flashtest;

闪回DROP/TRUNCATE

闪回DROP

可以恢复意外删除的表,从回收站(recyclebin)中恢复被删除的表及其附属结构如索引、表约束等。闪回drop是基于回收站机制,通过还原回收站中记录的表的物理文件,实现已drop表的恢复。

闪回TRUNCATE

可以恢复误操作或意外被进行truncate的表,从回收站中恢复被truncate的表及索引的物理数据。闪回truncate基于回收站机制,通过还原回收站中记录的表的物理文件,实现已truncate表的恢复。

主要参数

enable_recyclebin参数用于设置是否启用回收站。

recyclebin_retention_time参数用于设置回收站对象保留时间,超过该时间的回收站对象将被自动清理。

使用示例1:(闪回drop掉的表)

--查看回收站
SELECT * FROM gs_recyclebin;

DROP TABLE IF EXISTS flashtest;--创建表flashtest
CREATE TABLE IF NOT EXISTS flashtest(id int, name text) with (storage_type = ustore);--插入数据
INSERT INTO flashtest VALUES(1, 'A');SELECT * FROM flashtest;

--DROP表flashtest
DROP TABLE IF EXISTS flashtest;--查看回收站,删除的表被放入回收站
SELECT * FROM gs_recyclebin;--查看表flashtest,表不存在
SELECT * FROM flashtest;

--闪回drop表
#直接闪回
TIMECAPSULE TABLE flashtest to before drop;#闪回drop表,表名用回收站中的rcyname
TIMECAPSULE TABLE "BIN$3269233841F9$E26F110==$0" to before drop;#闪回drop表,并重命名表
TIMECAPSULE TABLE flashtest to before drop rename to flashtest_rename;--查看表,表被恢复到drop之前
SELECT * FROM flashtest;

--查看回收站,回收站中的表被删除
SELECT * FROM gs_recyclebin;

使用示例2:(闪回truncate之后的表)

DROP TABLE IF EXISTS flashtest;--创建表flashtest
CREATE TABLE IF NOT EXISTS flashtest(id int, name text) with (storage_type = ustore);--插入数据
INSERT INTO flashtest VALUES(1, 'A');SELECT * FROM flashtest;--truncate表
TRUNCATE TABLE flashtest;--查看回收站,表的数据被放入回收站
SELECT * FROM gs_recyclebin;--查看表,表中的数据为空
SELECT * FROM flashtest;

--闪回truncate表
TIMECAPSULE TABLE flashtest to before truncate;--查看表,表中的数据被恢复
SELECT * FROM flashtest;--查看回收站
SELECT * FROM gs_recyclebin;

--清空回收站
PURGE RECYCLEBIN;--查看回收站,回收站被清空
SELECT * FROM gs_recyclebin;

http://www.dtcms.com/a/612577.html

相关文章:

  • 商业网站的特点东莞网页制作招聘网
  • 同城做推广哪个网站好网页制作如何添加背景图片
  • dw做网站实例论文中引用网站怎么写
  • 黄冈网站官方登录平台免费推广渠道有哪些方式
  • 青岛网站建设哪家公司好推广渠道怎么写
  • 大学校园网站建设方案zenmeyong wordpress
  • 济源建设工程管理处网站网站建设基本步骤包括哪些
  • 公司建网站 内部邮箱网站介绍医院文化建设
  • 免费企业网站建设条件网站 流程 工具
  • 小企业网站建设在哪能看东莞网站建设公司哪家专业
  • wordpress 网站优化渗透wordpress
  • 网站的备案许可号不存在简介网站建设流程
  • 肥城市住房和城乡建设局网站怎样健建设一个有利于优化的网站
  • 网站登录页面怎么做wordpress教程网视频
  • 网站开发学习网云县网站建设
  • 网页设计设计一个网站首页昆明网站制作策划
  • 网站开发计入什么会计科目做sgs认证的公司网站
  • 网站如何规划广西住房和城乡建设厅网站首页
  • 中山网站建设乐云seo模板中心百度旗下13个app
  • 网站建设需要哪些语言跨境电商平台推广
  • wordpress搜站点网络中断二维码生成器 制作
  • cod建站平台网站建设辶首先金手指十四
  • 公司网站定制青岛微信网站建设
  • 短视频公司网站建设方案带状疱疹的预防措施
  • 网站系统维护一般多长时间html5 图片展示网站
  • 专业上海网站建设公司哪家好做网站dw怎么用
  • 北京房地产网站建设功能多的网站模板 中文内容
  • 网站建设中模板自己做网站怎么能被访问
  • 手机主题如何自己制作网站黄冈论坛网
  • 一步一步网站建设教程网站后台怎样推荐图片