问题不是发生在命令本身,而是发生在中文翻译上。
[@more@]看下面的例子:
E:>SET ORACLE_HOME=E:ORACLEORACLE920
E:>%ORACLE_HOME%binrman target /@ytk92
恢复管理器: 版本9.2.0.4.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
连接到目标数据库: YTK92 (DBID=1285986946)
RMAN> crosscheck archivelog all;
正在使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=16 devtype=DISK
对归档日志的验证成功
存档日志文件名=E:ORACLEORADATAYTK92ARCHIVE1_9.DBF 记录 ID=1 时间戳 =630202142
对归档日志的验证成功
存档日志文件名 =E:ORACLEORADATAYTK92ARCHIVE1_10.DBF 记录 ID=2 时间戳 =631117292
对归档日志的验证成功
存档日志文件名 =E:ORACLEORADATAYTK92ARCHIVE1_11.DBF 记录 ID=3 时间戳 =631459376
对归档日志的验证成功
存档日志文件名 =E:ORACLEORADATAYTK92ARCHIVE1_12.DBF 记录 ID=4 时间戳 =634003780
对归档日志的验证成功
存档日志文件名 =E:ORACLEORADATAYTK92ARCHIVE1_13.DBF 记录 ID=5 时间戳 =635334356
对归档日志的验证失败
存档日志文件名 =E:ORACLEORADATAYTK92ARCHIVE1_14.DBF 记录 ID=6 时间戳 =636374339
对归档日志的验证失败
存档日志文件名 =E:ORACLEORADATAYTK92ARCHIVE1_15.DBF 记录 ID=7 时间戳 =636636080
对归档日志的验证失败
存档日志文件名 =E:ORACLEORADATAYTK92ARCHIVE1_16.DBF 记录 ID=8 时间戳 =637149058
对归档日志的验证失败
存档日志文件名 =E:ORACLEORADATAYTK92ARCHIVE1_17.DBF 记录 ID=9 时间戳 =638414429
对归档日志的验证失败
存档日志文件名 =E:ORACLEORADATAYTK92ARCHIVE1_18.DBF 记录 ID=10 时间戳 =640227158
已交叉检验的 10 对象
RMAN> exit
恢复管理器完成。
E:>SET NLS_LANG=AMERICAN
E:>%ORACLE_HOME%binrman target /@ytk92
Recovery Manager: Release 9.2.0.4.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
connected to target databasE: YTK92 (DBID=1285986946)
RMAN> crosscheck archivelog all;
using target database controlfile instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=15 devtype=DISK
validation failed for archived log
archive log filename=E:ORACLEORADATAYTK92ARCHIVE1_9.DBF recid=1 stamp=630202142
validation failed for archived log
archive log filename=E:ORACLEORADATAYTK92ARCHIVE1_10.DBF recid=2 stamp=631117292
validation failed for archived log
archive log filename=E:ORACLEORADATAYTK92ARCHIVE1_11.DBF recid=3 stamp=631459376
validation failed for archived log
archive log filename=E:ORACLEORADATAYTK92ARCHIVE1_12.DBF recid=4 stamp=634003780
validation failed for archived log
archive log filename=E:ORACLEORADATAYTK92ARCHIVE1_13.DBF recid=5 stamp=635334356
validation succeeded for archived log
archive log filename=E:ORACLEORADATAYTK92ARCHIVE1_14.DBF recid=6 stamp=636374339
validation succeeded for archived log
archive log filename=E:ORACLEORADATAYTK92ARCHIVE1_15.DBF recid=7 stamp=636636080
validation succeeded for archived log
archive log filename=E:ORACLEORADATAYTK92ARCHIVE1_16.DBF recid=8 stamp=637149058
validation succeeded for archived log
archive log filename=E:ORACLEORADATAYTK92ARCHIVE1_17.DBF recid=9 stamp=638414429
validation succeeded for archived log
archive log filename=E:ORACLEORADATAYTK92ARCHIVE1_18.DBF recid=10 stamp=640227158
Crosschecked 10 objects
很明显中文翻译和英文的原文是反着的。英文的failed被翻译为成功,英文的succeeded被翻译为失败。
检查实际情况:
E:>DIR E:ORACLEORADATAYTK92ARCHIVE
驱动器 E 中的卷没有标签。
卷的序列号是 9037-19E7
E:ORACLEORADATAYTK92ARCHIVE 的目录
2007-12-02 00:52
在10g中问题仍然存在,Oracle在11g中改正了这个问题。
看来英文原文并没有错误,是翻译为中文的时候出的问题。这个问题说小就小,几乎可以忽略;说大也大,如果被这个提示误导,手工把存在的归档日志当作丢失的删除掉,那么问题就比较严重了。总之,这个问题是个很低级的错误。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/670493/viewspace-1025261/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/670493/viewspace-1025261/