ORA-38766: cannot flashback data file string; file resized smaller
Cause: An attempt to do FLASHBACK DATABASE found that the file was shrunk during the time to flash back.
Action: The file cannot be flashed back. The file must be taken offline or the tablespace dropped before continuing with the FLASHBACK DATABASE command.
ORA-38766错误提示无法闪回数据文件,原因是文件尺寸被缩 缩小了。这个错误通常是由于在使用ALTER DATABASE缩小其数据文件的大小后才报告的。官方定义是:
ORA-38766:闪回数据文件”string”失败:文件已缩小
该错误通常发生在具有SMON循环进程或轮询过程的数据库中,其中SMON循环尝试通过缩小数据文件来释放空间。如果此时正在尝试在该文件上进行闪回操作,就会出现此错误。
常见案例
在数据库上包含SMON type 循环进程或轮询过程的情况下,该进程将尝试通过缩小其数据文件来减少其大小,以归还部分空间,特别是当MTS失去空间时。另一个常见的情况是当DBA手动执行ALTER DATABASE命令缩小数据库时。
正常处理方法
要避免此错误出现,可以停止SMON/DBWR进程,而不是停止整个数据库。关闭SMON/DBWR进程,会阻止它产生新的文件缩小错误,此外,停止此类程序将无法更改数据库文件大小。
对于手动执行ALTER DATABASE语句缩小数据库文件时,请确保在此期间不要尝试任何闪回功能,以避免此错误的发生。