如何联机还原表,有哪些注意要点?

【问题描述】

如何联机还原表,有哪些注意要点?

【问题原因】

对表进行误操作后,由于生产繁忙,不利于对表进行脱机恢复,因此需要利用原有备份对表进行联机还原。

【问题解决】

  1. 对表进行联机还原的前提是要有表 test 的备份。
  2. 对表进行联机恢复时,要先恢复表结构,再恢复表数据。
  3. 对表进行联机还原时,数据库必须处于 OPEN 状态,MOUNTSUSPEND 状态下不允许执行表还原。

以下以一实例介绍联机还原表的具体步骤:

  1. 在表 test 中创建以 ID 为条件的唯一索引,并联机备份表 test。
  2. 误操作表 test 中的数据,此时使用备份直接还原表 test 会报错:[-8327]: 还原表中存在二级索引或冗余约束。这是因为 test 表里存在唯一索引,还原表的时候必须先还原表的结构,再还原表数据,就可以联机恢复表 test 了。
  3. 先还原表结构,再还原表数据。

注意

STRUCT:执行表结构还原,若未指定,则认为是表中数据还原;表数据还原要求还原目标表结构与备份集中完全一致,否则报错,所以表结构还原可以在表数据还原之前执行,减少报错。