备份还原表结构报错:[-8324] 还原目标表定义不匹配

【问题描述】

SQL> create table stu (id char(10),sname varchar(20));
SQL> BACKUP TABLE stu BACKUPSET '/dm8/dmdba/bak_test/stu_bak_02';
SQL> alter table stu add column(age int);
SQL> restore table struct from backupset '/dm8/dmdba/bak_test/stu_bak_02';
restore table struct from backupset '/dm8/dmdba/bak_test/stu_bak_02';
[-8324]:还原目标表定义不匹配.

【问题原因】

表结构还原要求当前表结构与备份集中的表结构完全一致,由于备份后对表执行了 ALTER TABLE 修改了表结构(新增了列),与备份集中记录的表定义不匹配,导致还原失败。

【问题解决】

需要先用 DROP TABLE 删除表结构发生变化的表,再重新还原。

SQL> drop table stu;
操作已执行
已用时间: 22.879(毫秒). 执行号:1004.
SQL> restore table struct from backupset '/dm8/dmdba/bak_test/stu_bak_02';
操作已执行
已用时间: 7.035(毫秒). 执行号:1005.