频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

crosscheck长时间运行后未见结果的案例

来源:赛迪网 作者:Lucien 出处:巧巧读书 2008-06-11 进入讨论组

这篇论坛(赛迪网技术社区)根据一个实际案例讲解了crosscheck长时间运行后未见结果的解决方法,详细内容请参考下文:

客户数据库的备份坏了,同事采取的策略是每天定期的用脚本删除归档。于是,当备份恢复的时候,需要做一次crosscheck,以便验证那些归档是validate的,于是可怕的事情发生了:crosscheck运行了1小时,还是没动静——需要crosscheck的日志太多了!!

查了一下文档,原来crosscheck archivelog all,除了all参数,还是有很多选项可以添加的:

like参数:

RMAN> crosscheck archivelog like '%22%';

释放的通道: ORA_DISK_1

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=16 devtype=DISK

对归档日志的验证失败

存档日志文件名 =D:\ORACLE\ARCH\ARC00022.001 记录 ID=8 时间戳 =654901749

已交叉检验的 1 对象

范围参数-until time:

RMAN> crosscheck archivelog until time="to_date('2008-5-20','yyyy-mm-dd')";

释放的通道: ORA_DISK_1

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=16 devtype=DISK

对归档日志的验证失败

存档日志文件名 =D:\ORACLE\ARCH\ARC00020.001 记录 ID=6 时间戳 =654686206

对归档日志的验证失败

存档日志文件名 =D:\ORACLE\ARCH\ARC00021.001 记录 ID=7 时间戳 =654827494

对归档日志的验证失败

存档日志文件名 =D:\ORACLE\ARCH\ARC00022.001 记录 ID=8 时间戳 =654901749

对归档日志的验证失败

存档日志文件名 =D:\ORACLE\ARCH\ARC00023.001 记录 ID=9 时间戳 =654916924

对归档日志的验证失败

存档日志文件名 =D:\ORACLE\ARCH\ARC00024.001 记录 ID=10 时间戳 =654980270

对归档日志的验证失败

存档日志文件名 =D:\ORACLE\ARCH\ARC00025.001 记录 ID=11 时间戳 =654985482

对归档日志的验证失败

存档日志文件名 =D:\ORACLE\ARCH\ARC00026.001 记录 ID=12 时间戳 =654986264

对归档日志的验证失败

存档日志文件名 =D:\ORACLE\ARCH\ARC00027.001 记录 ID=13 时间戳 =655157701

对归档日志的验证失败

存档日志文件名 =D:\ORACLE\ARCH\ARC00028.001 记录 ID=14 时间戳 =655406579

已交叉检验的 9 对象

范围参数-from time:

RMAN> crosscheck archivelog from time="to_date('2008-5-20','yyyy-mm-dd')";

释放的通道: ORA_DISK_1

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=16 devtype=DISK

对归档日志的验证失败

存档日志文件名 =D:\ORACLE\ARCH\ARC00028.001 记录 ID=14 时间戳 =655406579

对归档日志的验证失败

存档日志文件名 =D:\ORACLE\ARCH\ARC00029.001 记录 ID=15 时间戳 =655472860

对归档日志的验证失败

存档日志文件名 =D:\ORACLE\ARCH\ARC00030.001 记录 ID=16 时间戳 =655478738

对归档日志的验证失败

存档日志文件名 =D:\ORACLE\ARCH\ARC00031.001 记录 ID=17 时间戳 =655479620

对归档日志的验证失败

存档日志文件名 =D:\ORACLE\ARCH\ARC00032.001 记录 ID=18 时间戳 =655479984

已交叉检验的 5 对象

范围参数-from time until time:

RMAN> crosscheck archivelog from time="to_date('2008-5-20','yyyy-mm-dd')" until time="to_date('2008-5-23','yyyy-mm-dd')";

释放的通道: ORA_DISK_1

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=16 devtype=DISK

对归档日志的验证失败

存档日志文件名 =D:\ORACLE\ARCH\ARC00028.001 记录 ID=14 时间戳 =655406579

对归档日志的验证失败

存档日志文件名 =D:\ORACLE\ARCH\ARC00029.001 记录 ID=15 时间戳 =655472860

已交叉检验的 2 对象

范围参数-time between and:

RMAN> crosscheck archivelog time between "to_date('2008-5-20','yyyy-mm-dd')" and "to_date('2008-5-23','yyyy-mm-dd')";

释放的通道: ORA_DISK_1

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=16 devtype=DISK

对归档日志的验证失败

存档日志文件名 =D:\ORACLE\ARCH\ARC00028.001 记录 ID=14 时间戳 =655406579

对归档日志的验证失败

存档日志文件名 =D:\ORACLE\ARCH\ARC00029.001 记录 ID=15 时间戳 =655472860

已交叉检验的 2 对象

范围参数-time between and:

RMAN> crosscheck archivelog time between "to_date('2008-5-20','yyyy-mm-dd')" and "to_date('2008-5-23','yyyy-mm-dd')";

释放的通道: ORA_DISK_1

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=16 devtype=DISK

对归档日志的验证失败

存档日志文件名 =D:\ORACLE\ARCH\ARC00028.001 记录 ID=14 时间戳 =655406579

对归档日志的验证失败

存档日志文件名 =D:\ORACLE\ARCH\ARC00029.001 记录 ID=15 时间戳 =655472860

已交叉检验的 2 对象

以上的例子把time换成scn或者sequence也行。

最后,用time between and 的方法慢慢删除,终于把8万多个归档日志删除了……看来手册还是要多看,不然一下子就忘记了语法。

更多文章 更多内容请看综合布线工程案例专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章