logo 广告
Loading...
 导航 所在位置:论坛首页 -> ┈┋电脑网络┋┈ -> 数据库技术 -> crosscheck长时间运行后未见结果的案例
回复
标题:crosscheck长时间运行后未见结果的案例收藏 编辑 删除 楼主 | 上一篇 下一篇
依恬
头像
等级:大侠
权限:普通用户
积分:103
金钱:3632
声望:151
经验:151
发帖数:929
注册:2007年10月27日
资料 短消息2008-6-11 11:25:09
根据一个实际案例讲解了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万多个归档日志删除了……看来手册还是要多看,不然一下子就忘记了语法。

签名

2008-6-11 11:25:09 顶部
第1页 共页 共0个回复     <<    >>    
 快速回复
  • 支持UBB,HTML标签

  • 高级回复

  • 操作选项:评分 加精 解精 奖惩 设专题 设公告 解公告 固顶 总固顶 解固顶 结帖 解结帖 锁帖 解锁 移帖 删帖
      首页 | 购买指南 | 虚拟主机 | 特色介绍 | 下载中心 | 支付方式
    Copyright 2004-2008 BBSGood.com Powered By: BBSGood.Speed Version 5.0
      咨询电话:0575-85513832、0575-85513825(传真)、7*24小时咨询服务:13606552007 不良信息举报中心 浙ICP备05029817号
      业务QQ:38958768、客服QQ1:415896239、客服QQ2:343896043、MSN:jccsxx@hotmail.com