Fuzzy标记位于数据文件头块offset 138中.
可以使用bbed进行查询,0x04表示Fuzzy为YES,0x00表示fuzzy为NO
当数据块的SCN可能大于数据文件头的SCN时,FUZZY标记为YES,所以数据库打开时的数据文件头fuzzy状态始终为YES。
当数据正常运行时, 数据文件头的Fuzzy状态为YES.
当数据正常关闭时,数据文件头的Fuzzy状态为NO.
当数据异常关闭时, 数据文件头的Fuzzy状态为YES.
SQL> select file#,status,fuzzy from v$datafile_header;
FILE# STATUS FUZ
---------- ------- ---
1 ONLINE YES
2 ONLINE YES
3 ONLINE YES
4 ONLINE YES
5 ONLINE YES
为什么在备份恢复时需要查询这个字段的问题,如果这个字段Fuzzy=YES,那么说明数据块中的SCN大于数据文件头的SCN,此时就说明数据库异常关闭或者在open状执行的备份,执行完recover后, Fuzzy变为NO,那么说明数据库应用日志后,数据文件头部的SCN应用日志后增长,此时数据文件头部SCN大于数据块中SCN. fuzzy为no.