人大金仓数据库KingbaseES中闪回回收站

金仓数据库KingbaseES中闪回回收站关键字:

KingbaseES、闪回回收站、flashback、人大金仓

闪回回收站

在使用KingbaseES数据库时,可能会意外删除一些数据或数据库对象,可能是由于误操作、意外的数据丢失、或者其他不可预知的情况。为了应对这类情况,KingbaseES引入了闪回回收站,闪回回收站功能为用户提供一种误删表后还原表的一种手段,闪回回收站具有实时备份的功能,它利用快照技术实时记录用户对数据的操作,迅速备份,闪回回收站分为将回收站中的表闪回到删除之前的状态和清空回收站。

前置条件

在KingbaseES数据库中,闪回回收站是默认关闭的,需要手动开启,参数名称:kdb_flashback.db_recyclebin,参数为bool类型。需要注意,开参数开启后需要利用sys_reload_conf函数重新加载一下,使其生效。如下:

test=# alter system set kdb_flashback.db_recyclebin = on;

ALTER SYSTEM

test=# show kdb_flashback.db_recyclebin;

kdb_flashback.db_recyclebin

-----------------------------

off

(1 row)

test=# select sys_reload_conf();

sys_reload_conf

-----------------

t

(1 row)

test=# show kdb_flashback.db_recyclebin;

kdb_flashback.db_recyclebin

-----------------------------

on

(1 row)

闪回回收站实例

  • 从闪回回收站中还原表

test=# create table a (id int);

CREATE TABLE

test=# insert into a values(1),(2),(3);

INSERT 0 3

test=# select * from a;

id

----

1

2

3

(3 rows)

test=# drop table a;

DROP TABLE

创建以上表,并将该表删除,该表就会被放置到回收站当中。利用FLASHBACK TABLE将该表闪回至被删除之前的时刻。

test=# flashback table a to before drop;

FLASHBACK TABLE

test=# select * from a;

id

----

1

2

3

(3 rows)

  • PURGE操作

回收站需用户定期维护,避免回收站膨胀,用户可以通过PURGE操作对回收站进行维护,PURGE操作分为删除回收站中一个指定表和清空回收站。 清理回收站时,回收站视图recyclebin和系统表sys_recyclebin中相关对象将被清除。

删除回收站中的表:

test=# select * from recyclebin;

oid | original_name | droptime | type

-------+---------------+-------------------------------+-------

16387 | a | 2023-08-30 10:54:29.303087+08 | TABLE

16390 | b | 2023-08-30 10:54:31.880034+08 | TABLE

16393 | c | 2023-08-30 10:54:34.276670+08 | TABLE

(3 rows)

test=# purge table a;

PURGE

test=# select * from recyclebin;

oid | original_name | droptime | type

-------+---------------+-------------------------------+-------

16390 | b | 2023-08-30 10:54:31.880034+08 | TABLE

16393 | c | 2023-08-30 10:54:34.276670+08 | TABLE

(2 rows)

清空回收站:

test=# purge recyclebin;

PURGE

test=# select * from recyclebin;

oid | original_name | droptime | type

-----+---------------+----------+------

(0 rows)

关掉闪回回收站之后,删除表时,表将不会进入回收站,如下:

test=# alter system set kdb_flashback.db_recyclebin = off;

ALTER SYSTEM

test=# show kdb_flashback.db_recyclebin;

kdb_flashback.db_recyclebin

-----------------------------

on

(1 row)

test=# select sys_reload_conf();

sys_reload_conf

-----------------

t

(1 row)

test=# show kdb_flashback.db_recyclebin;

kdb_flashback.db_recyclebin

-----------------------------

off

(1 row)

test=# drop table a;

DROP TABLE

test=# select * from recyclebin;

oid | original_name | droptime | type

-----+---------------+----------+------

  • (0 rows)

总结

通过使用闪回回收站,我们可以轻松地恢复已被删除的数据和对象,而无需依赖传统的备份和恢复方法。闪回回收站为我们提供了一种更加灵活。快速的数据恢复机制,帮助我们应对误操作、数据丢失等情况。

在使用闪回回收站时,需要注意以下几点:确保闪回回收站已启用;了解如何使用闪回查询来检索被删除的数据;能够利用闪回查询将数据完全恢复。

总之,闪回回收站是一个非常有用的特性,可以大大简化数据恢复的过程,提高数据库的可靠性和可用性,在日常操作和管理数据时,合理利用闪回回收站将能帮助我们更好地保护数据,提高工作效率。

  • 28
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值