Halo Tech

羲和(Halo)数据库的FLASHBACK QUERY功能

    在Oracle数据库中,闪回功能可以在对数据库进行不完全恢复的情况下,对某一个指定的表进行恢复。闪回数据库是进行时间点恢复的新方法,它能够快速将Oracle恢复到以前的时间,以更正由于逻辑数据损坏或用户错误而引起的问题。当需要恢复时,可以将数据库恢复到错误前的时间点,并且只恢复改变的数据块。

羲和(Halo)数据库FLASHBACK QUERY功能说明:

  •  查询某一时刻表中的所有数据

  •  当前只支持单表,不支持别名

  •  只支持通过时间戳进行查询

将postgresql.conf文件中的track_commit_timestamp参数设置为onshow track_commit_timestamp;

--创建表

CREATE TABLE employees (id number ,name varchar2(10), salary number);ALTER TABLE employees SET (    autovacuum_enabled = false, toast.autovacuum_enabled = false);
Image
set _enable_flashback to on;  ----使用 flashback 功能insert into employees values (1, 'a',100);selectpg_sleep(1);insert into employees values (2, 'b',200);selectpg_sleep(1);insert into employees values (3, 'c',300);selectpg_sleep(1);insert into employees values (4,'d',400);selectpg_sleep(1);selectpg_xact_commit_timestamp(xmin), * from employees;
Image
--删除数据
delete from employees where id=3;selectpg_sleep(1);selectpg_xact_commit_timestamp(xmin), * from employees;
Image
--更新数据
update employees set salary=10000 where id=4;selectpg_xact_commit_timestamp(xmin), * from employees;
Image
--找回删除的数据
select * from employees as of timestamp to_timestamp('2025-02-14 15:54:02','YYYY-MM-DD HH24:MI:SS');
Image
--恢复更新之前的数据
select * from employees as of timestamp to_timestamp('2025-02-14 15:54:18', 'YYYY-MM-DD HH24:MI:SS');
--时间为flashback到的时间
Image
    随着技术的不断进步和市场的逐渐成熟,羲和(Halo)数据库将在兼容Oracle方面做得更好,并在更多领域发挥重要作用。企业选择羲和(Halo)数据库,不仅能够实现技术的自主可控和信息安全,还能享受到高性能、高可用性和低成本的优势。羲和(Halo)数据库将成为企业数字化转型的可靠选择,助力企业在激烈的市场竞争中脱颖而出。