如何联机还原表,有哪些注意要点?
【问题描述】
如何联机还原表,有哪些注意要点?
【问题原因】
对表进行误操作后,由于生产繁忙,不利于对表进行脱机恢复,因此需要利用原有备份对表进行联机还原。
【问题解决】
- 对表进行联机还原的前提是要有表 test 的备份。
- 对表进行联机恢复时,要先恢复表结构,再恢复表数据。
- 对表进行联机还原时,数据库必须处于
OPEN状态,MOUNT和SUSPEND状态下不允许执行表还原。
以下以一实例介绍联机还原表的具体步骤:
- 在表 test 中创建以 ID 为条件的唯一索引,并联机备份表 test。
- 误操作表 test 中的数据,此时使用备份直接还原表 test 会报错:
[-8327]: 还原表中存在二级索引或冗余约束。这是因为 test 表里存在唯一索引,还原表的时候必须先还原表的结构,再还原表数据,就可以联机恢复表 test 了。 - 先还原表结构,再还原表数据。
注意
STRUCT:执行表结构还原,若未指定,则认为是表中数据还原;表数据还原要求还原目标表结构与备份集中完全一致,否则报错,所以表结构还原可以在表数据还原之前执行,减少报错。