1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

DM闪回查询

DM闪回查询

我是本际云服务器推荐网的小编小本本。在日常运维中,我们经常会遇到误操作导致数据被删除的情况。使用DM数据库的闪回查询技术,可以快速恢复删除的数据。

DM闪回查询

开启闪回模式

在使用闪回查询前,必须开启闪回模式。可以通过修改ini参数ENABLE_FLASHBACK来开启闪回模式(0表示关闭,1表示开启,默认为0)。也可以使用sp_set_para_value函数来开启闪回模式,并重启数据库服务。

sp_set_para_value(2,ENABLE_FLASHBACK,1);
/etc/rc.d/init.d/DmServiceDMSERVER stop
/etc/rc.d/init.d/DmServiceDMSERVER start

使用闪回查询

通过闪回查询,可以得到指定表在过去某个时刻的结果集。可以按时刻或事务号来指定条件。需要注意的是,闪回查询只支持普通表、临时表和堆表,不支持水平分区表、列存储表、外部表和视图。

下面是一个新建测试表dm_test的示例。

create table dm_test (id int identity(1,1) primary key, name varchar(100));
insert into dm_test values ('xiaoke');
insert into dm_test values ('xiaoshi');
insert into dm_test values ('xiaoliang');
insert into dm_test values ('xiaochen');
commit;

使用闪回查询,可以查询指定时间段内被更新的数据。下面是一个示例查询。

SELECT TABLE_NAME, UNDO_SQL FROM V$FLASHBACK_TRX_INFO WHERE COMMIT_TIMESTAMP > '2021-05-24 19:04:34';

这个查询可以通过undo_sql来闪回被更新的数据。

总结

在使用DM闪回查询的时候,先必须开启闪回模式,并需要知道更新数据的时间。使用闪回查询可以快速恢复误删除的数据。

更多精彩干货,请关注我们的小编。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6017.html