【产品名称】oceanbase
【产品版本】3.1.3
【问题描述】oceanbase可以闪回drop操作,针对delete、truncate、update等误操作可以闪回吗。如果可以,如何操作
【产品名称】oceanbase
【产品版本】3.1.3
【问题描述】oceanbase可以闪回drop操作,针对delete、truncate、update等误操作可以闪回吗。如果可以,如何操作
闪回查询(Flashback Query)允许用户查询某个历史版本的数据。OceanBase 数据库提供了如下语法进行查询:
AS OF SCN和
AS OF TIMESTAMP。
AS OF SNAPSHOT。
用户配置系统变量
undo_retention后,可以使用 Flashback Query 查询当前时间
T到
T - undo_retention时间范围内的任意多版本。如果用户保留了 Restore Point,则可以查询 Restore Point 点对应的数据版本。此外,OceanBase 数据库还支持查询集群合并点的数据。
undo retension字面意思是 Undo 的保留位点,即从当前时间回溯多长时间的 Undo 日志是保留下来的。对于 OceanBase 数据库来说,是将该段时间的所有数据多版本保留下来。可以通过系统变量
undo_retention进行设置,默认单位为秒。
OceanBase 支持回收站功能,通过回收站可以闪回已删除的表。默认回收站是开启的,回收站是否开启由租户变量 recyclebin 控制。
开启/关闭回收站的语法是:
set global recyclebin = ON | OFF ;
修改回收站的开启状态后,只对后续新连接会话生效。
以上操作在当前版本有具体示例吗, 比如查询某一时间版本具体语法, 查询某个restore_point的具体示例等,我这样执行是会报错:
SELECT * FROM test1 AS OF SNAPSHOT 1649382574148810;
SQL Error [1064] [42000]: You have an error in your SQL syntax; check the manual that corresponds to your OceanBase version for the right syntax to use near 'SNAPSHOT 1649382574148810' at line 1
社区版不支持DML的闪回
根据undo_retention的配置查询某个时间点的数据也是不支持的,是吧?
社区版不支持DML的闪回 。再等等吧
不支持
应该还不支持
https://open.oceanbase.com/docs/observer-cn/V3.1.2/10000000000015947
社区版的话,目前好像还不支持。
666