ORA-38869: datafile string has been restored from an RMAN backup with undo block compression.

文档解释

ORA-38869: datafile string has been restored from an RMAN backup with undo block compression.

Cause: Flashback Database could not flash back the database because a file was restored from an RMAN backup with undo block compression, and the Flashback target was to a time when the missing undo may be needed to open the database.

Action: Restore an earlier backup of the file and retry the command or Flashback to a later time.

ORA-38869 是一个由RMAN备份和恢复带来的特定错误,它表示在行政任务中出现了回滚块压缩的恢复错误。这一独特的错误表明编码的字符串在数据文件中被损坏了,而此错误信息记录了行政任务(unit of work)号,还可以使用这个行政任务号去追溯到数据编码格式问题。

官方解释

常见案例

1.在一个行政任务中,一个回滚数据段未能回滚一些原来的块压缩字符串。

2.当在一个行政任务中,一个回滚数据段,块压缩字符串被替换为空,并且出现ORA-38869错误。

3.回滚一个块压缩的数据段,然后出现ORA-38869。

一般处理方法及步骤

1. 定位ORA-38869的行驶任务号,可以通过在数据库日志中查找到相关语句来处理ORA-38869。

2. 此行政任务号可用于检查原始的块压缩字符串。 然后,可以比较当前的块压缩编码,并确定是否还原了保存的原始块压缩编码:

sql> select min_string, max_stringfrom dba_tab_col_statistics

where table_name = ‘XXXX’ and column_name = ‘YYYY’;

3. 如果发现没有恢复原始块压缩字符串,则可以运行以下SQL脚本来恢复块压缩字符串:

begin

dbms_stats.set_column_stats(

ownname ‘xxx’,

tabname ‘xxx’,

colname ‘xxx’,

old_min_string,

old_max_string

);

end;

/

4. 一旦块压缩字符串被恢复,就可以执行RMAN完整恢复。

你可能感兴趣的