恢复验证需要创建一个带时间戳字段的表,插入数据并合并,更新记录。使用 OCP 将数据恢复到更新记录之前,查询恢复数据进行验证。
1. 创建一个带时间戳字段的表
obclient> create table teacher (id number,age number,modify_time timestamp default current_timestamp );
Query OK, 0 rows affected (0.08 sec)
2. 插入数据
obclient> insert into teacher (id,age) values (1,22);
Query OK, 1 row affected (0.02 sec)
obclient> insert into teacher (id,age) values (2,23);
Query OK, 1 row affected (0.00 sec)
obclient> insert into student (id,age) values (1,7);
Query OK, 1 row affected (0.01 sec)
obclient> insert into student (id,age) values (2,8);
Query OK, 1 row affected (0.00 sec)
obclient> insert into student (id,age) values (3,9);
Query OK, 1 row affected (0.00 sec)
obclient> commit;
Query OK, 0 rows affected (0.01 sec)
obclient> select * from student;
+------+------+----------------------------+
| ID | AGE | MODIFY_TIME |
+------+------+----------------------------+
| 1 | 7 | 2020-02-13 16:57:01.232474 |
| 2 | 8 | 2020-02-13 16:57:04.793872 |
| 3 | 9 | 2020-02-13 16:57:08.919993 |
| 5 | 11 | 2020-02-13 17:06:32.094243 |
| 5 | 11 | 2020-02-13 17:06:34.800782 |
+------+------+----------------------------+
3. 发起合并
alter system major freeze;
4. 更新记录
obclient> insert into student (id,age) values (6,12);
Query OK, 1 row affected (0.00 sec)
obclient> commit;
Query OK, 0 rows affected (0.00 sec)
obclient> select * from student;
+------+------+----------------------------+
| ID | AGE | MODIFY_TIME |
+------+------+----------------------------+
| 1 | 7 | 2020-02-13 16:57:01.232474 |
| 2 | 8 | 2020-02-13 16:57:04.793872 |
| 3 | 9 | 2020-02-13 16:57:08.919993 |
| 5 | 11 | 2020-02-13 17:06:32.094243 |
| 5 | 11 | 2020-02-13 17:06:34.800782 |
| 6 | 12 | 2020-02-13 17:07:04.312582 |
+------+------+----------------------------+
6 rows in set (0.00 sec)
5. 恢复到更新记录之前
2.3.0 版本 OCP 支持将内容恢复到更新记录之前。
操作步骤
- 登录 OCP。
- 单击左导航栏集群。
- 单击目标集群后的更多>设置集群备份。
- 单击基线备份历史页签,单击发起恢复。
- 填写恢复集群和恢复到时间点后单击确定。
- 修改demo0_88的恢复租户为demo0_883,修改资源池名称。
注意:
- 此处需要修改恢复的租户名不要和已有重复
- 确保恢复集群可以有足够资源创建备份租户
- 单击恢复历史,可以确认恢复的任务状态。
6. 查询恢复数据
恢复任务完成后,确认恢复的目标时间点为17:07:00,最后一条插入数据是在这个时间点之前。通过恢复的租户连接串连接集群,恢复的用户与原用户user和密码一致,可以看到17:07分之前的记录均已恢复。
obclient> select * from student;
+------+------+----------------------------+
| ID | AGE | MODIFY_TIME |
+------+------+----------------------------+
| 1 | 7 | 2020-02-13 16:57:01.232474 |
| 2 | 8 | 2020-02-13 16:57:04.793872 |
| 3 | 9 | 2020-02-13 16:57:08.919993 |
| 5 | 11 | 2020-02-13 17:06:32.094243 |
| 5 | 11 | 2020-02-13 17:06:34.800782 |
+------+------+----------------------------+
5 rows in set (0.00 sec)