恢复验证需要创建一个带时间戳字段的表,插入数据并合并,更新记录。使用 OCP 将数据恢复到更新记录之前,查询恢复数据进行验证。

1. 创建一个带时间戳字段的表

  1. obclient> create table teacher (id number,age number,modify_time timestamp default current_timestamp );
  2. Query OK, 0 rows affected (0.08 sec)

2. 插入数据

  1. obclient> insert into teacher (id,age) values (1,22);
  2. Query OK, 1 row affected (0.02 sec)
  3. obclient> insert into teacher (id,age) values (2,23);
  4. Query OK, 1 row affected (0.00 sec)
  5. obclient> insert into student (id,age) values (1,7);
  6. Query OK, 1 row affected (0.01 sec)
  7. obclient> insert into student (id,age) values (2,8);
  8. Query OK, 1 row affected (0.00 sec)
  9. obclient> insert into student (id,age) values (3,9);
  10. Query OK, 1 row affected (0.00 sec)
  11. obclient> commit;
  12. Query OK, 0 rows affected (0.01 sec)
  13. obclient> select * from student;
  14. +------+------+----------------------------+
  15. | ID | AGE | MODIFY_TIME |
  16. +------+------+----------------------------+
  17. | 1 | 7 | 2020-02-13 16:57:01.232474 |
  18. | 2 | 8 | 2020-02-13 16:57:04.793872 |
  19. | 3 | 9 | 2020-02-13 16:57:08.919993 |
  20. | 5 | 11 | 2020-02-13 17:06:32.094243 |
  21. | 5 | 11 | 2020-02-13 17:06:34.800782 |
  22. +------+------+----------------------------+

3. 发起合并

  1. alter system major freeze;

4. 更新记录

  1. obclient> insert into student (id,age) values (6,12);
  2. Query OK, 1 row affected (0.00 sec)
  3. obclient> commit;
  4. Query OK, 0 rows affected (0.00 sec)
  5. obclient> select * from student;
  6. +------+------+----------------------------+
  7. | ID | AGE | MODIFY_TIME |
  8. +------+------+----------------------------+
  9. | 1 | 7 | 2020-02-13 16:57:01.232474 |
  10. | 2 | 8 | 2020-02-13 16:57:04.793872 |
  11. | 3 | 9 | 2020-02-13 16:57:08.919993 |
  12. | 5 | 11 | 2020-02-13 17:06:32.094243 |
  13. | 5 | 11 | 2020-02-13 17:06:34.800782 |
  14. | 6 | 12 | 2020-02-13 17:07:04.312582 |
  15. +------+------+----------------------------+
  16. 6 rows in set (0.00 sec)

5. 恢复到更新记录之前

2.3.0 版本 OCP 支持将内容恢复到更新记录之前。

操作步骤

  1. 登录 OCP。
  2. 单击左导航栏集群
  3. 单击目标集群后的更多>设置集群备份
  4. 单击基线备份历史页签,单击发起恢复

image.png

  1. 填写恢复集群恢复到时间点后单击确定

截屏2020-02-13下午9.42.29.png

  1. 修改demo0_88的恢复租户为demo0_883,修改资源池名称。

注意:

  • 此处需要修改恢复的租户名不要和已有重复
  • 确保恢复集群可以有足够资源创建备份租户

截屏2020-02-13下午9.42.08.png

  1. 单击恢复历史,可以确认恢复的任务状态。

截屏2020-02-13下午9.43.12.png

6. 查询恢复数据

恢复任务完成后,确认恢复的目标时间点为17:07:00,最后一条插入数据是在这个时间点之前。通过恢复的租户连接串连接集群,恢复的用户与原用户user和密码一致,可以看到17:07分之前的记录均已恢复。

  1. obclient> select * from student;
  2. +------+------+----------------------------+
  3. | ID | AGE | MODIFY_TIME |
  4. +------+------+----------------------------+
  5. | 1 | 7 | 2020-02-13 16:57:01.232474 |
  6. | 2 | 8 | 2020-02-13 16:57:04.793872 |
  7. | 3 | 9 | 2020-02-13 16:57:08.919993 |
  8. | 5 | 11 | 2020-02-13 17:06:32.094243 |
  9. | 5 | 11 | 2020-02-13 17:06:34.800782 |
  10. +------+------+----------------------------+
  11. 5 rows in set (0.00 sec)