文档解释
ORA-38879: Cannot flashback data file string; may not be able to undo all changes.
Cause: A data file was plugged in when there was a guaranteed restore point, but Flashback Database was not enabled. It is possible that some changes to the data file, after it was converted, were not logged to the Flashback Database logs.
Action: If the FLASHBACK DATABASE command was meant to rewind the database to a time before the file was plugged in, take the data file offline and retry the command. If the FLASHBACK DATABASE command was meant to rewind the database to a time after the file was plugged in, restore the original version of the plugged in file and retry the command.
该错误指的是,无法恢复指定的数据文件,也就是无法撤消所有的更改。
官方解释
ORA-38879是一个警告性的错误,指出数据文件不能完全被使用回滚操作 flashlight。数据库将保留發生前更改的部分截至到該點上,但無法撤銷更改期間所產生的閱讀和更改劃定操作。
常见案例
最常见的情况是因为数据库因为某种原因停止运行,在恢复数据库时,使用flashback数据文件可能会引起此错误。
一般处理方法及步骤
1.确定问题数据文件
要计算问题数据库,可以使用以下查询
SQL> SELECT tablespace_name, file_name FROM dba_data_files;
2.从如果您要撤销更改,请手动恢复文件
首先,您需要恢复指定数据库,以使数据库恢复到知道更改之前状态。然后,您需要保留更改时影响的数据文件,然后拷贝更改之前的版本进去恢复,一旦完成,即可正常运行flashback操作。最后,您需要重新恢复被破坏的数据文件,以确保没有丢失任何数据。