虽然我们也可以通过dbv(db file verify)工具做到对单个数据文件的坏块检测,但是直接使用RMAN的"backup validate check logical database;"结合V$DATABASE_BLOCK_CORRUPTION视图要方便地多。 Script:

1) $ rman target / nocatalog2) RMAN> run {
allocate channel d1 type disk;
allocate channel d2 type disk;
allocate channel d3 type disk;
allocate channel d4 type disk;
backup validate check logical database;
}3) select * from V$DATABASE_BLOCK_CORRUPTION ;REM www.oracledatabase12g.com & www.askmaclean.com4) If V$DATABASE_BLOCK_CORRUPTION contains rows please run this query to
find the objects that contains the corrupted blocks:SELECT e.owner,e.segment_type,e.segment_name,e.partition_name,c.file#,greatest(e.block_id, c.block#) corr_start_block#,least(e.block_id + e.blocks - 1, c.block# + c.blocks - 1) corr_end_block#,least(e.block_id + e.blocks - 1, c.block# + c.blocks - 1) -greatest(e.block_id, c.block#) + 1 blocks_corrupted,null descriptionFROM dba_extents e, v$database_block_corruption cWHERE e.file_id = c.file#AND e.block_id <= c.block# + c.blocks - 1AND e.block_id + e.blocks - 1 >= c.block#
UNION
SELECT s.owner,s.segment_type,s.segment_name,s.partition_name,c.file#,header_block corr_start_block#,header_block corr_end_block#,1 blocks_corrupted,'Segment Header' descriptionFROM dba_segments s, v$database_block_corruption cWHERE s.header_file = c.file#AND s.header_block between c.block# and c.block# + c.blocks - 1
UNION
SELECT null owner,null segment_type,null segment_name,null partition_name,c.file#,greatest(f.block_id, c.block#) corr_start_block#,least(f.block_id + f.blocks - 1, c.block# + c.blocks - 1) corr_end_block#,least(f.block_id + f.blocks - 1, c.block# + c.blocks - 1) -greatest(f.block_id, c.block#) + 1 blocks_corrupted,'Free Block' descriptionFROM dba_free_space f, v$database_block_corruption cWHERE f.file_id = c.file#AND f.block_id <= c.block# + c.blocks - 1AND f.block_id + f.blocks - 1 >= c.block#order by file#, corr_start_block#;SELECT tablespace_name, segment_type, owner, segment_name
FROM dba_extents
WHERE file_id = &fileid
and &blockid between block_id AND block_id + blocks - 1;

利用RMAN检测数据库坏块的脚本相关推荐

  1. oracle schema_Oracle数据库坏块检查与修复

    摘要:简述数据库坏块,发现并处理Oracle的物理坏块.逻辑坏块 以下摘自网络并规整: 一.数据库坏块介绍 数据库的数据块有固定的格式和结构,分三层:cache layer,transaction l ...

  2. 磁盘损坏造成RMAN备份文件有坏块的恢复案例

    朋友客户的数据库由于磁盘损坏,从存储级别抽取出了RMAN的备份文件,但没有抽取出数据文件,联机重做日志,控制文件,参数文件等数据库文件.但抽取出来的备份文件中有数据文件,控制文件,参数文件的备份,归档 ...

  3. oracle protocol=beq 不可用,学习笔记:Oracle数据库坏块 深入研究obj$坏块导致exp/expdp不能执行原因...

    天萃荷净 深入研究Oracle坏块obj$导致exp/expdp不能执行导出的原因 上篇(案例:Oracle出现obj$坏块exp/expdp导出不能导出的解决办法ORA-01578 ORA-0111 ...

  4. oracle检查表是否有坏块,Oracle数据库坏块检查与修复

    摘要:简述数据库坏块,发现并处理Oracle的物理坏块.逻辑坏块 以下摘自网络并规整: 一.数据库坏块介绍 数据库的数据块有固定的格式和结构,分三层:cache layer,transaction l ...

  5. oracle rman 检查坏块,Oracle中使用RMAN来检验坏块

    RMAN即recovery manager可以通过在执行的备份任务中,仅仅验证数据文件中的数据块而不生成实际的备份,这样做的目的是纯粹为了了解数据文件中是否有坏块. RMAN在这个环境中: 验证数据文 ...

  6. oracle数据错误循环冗余检查,oracle数据库坏块修复 oracle数据库数据错误(循环冗余检查)...

    前一段在某客户的系统中,就遇到了硬盘故障导致的数据库问题,仅仅是一个扇区损坏,碰巧位于数据文件上,就导致了如下错误: Mon Jun 13 09:14:10 2011 Errors in file f ...

  7. ORA-19566 exceeded limit of 0 corrupt blocks数据坏块处理

    问题描述 RMAN备份失败,报错如下: channel ch1: starting piece 1 at 02-NOV-12 released channel: ch1 RMAN-00571: RMA ...

  8. oracle强制拉库跳过recovery,学习笔记:Oracle坏块 数据库recover恢复时遇到坏块的解决思路案例...

    天萃荷净 recover遇到坏块处理本质探讨,记录一次在Oracle数据库recover恢复过程中,遇到数据库坏块无法恢复的解决思路案例 如果在还原出来的数据文件中有坏块,而归档日志和联机日志是正常的 ...

  9. oracle 数据块 修复,案例:Oracle坏块 使用RMAN工具的命令clear标记数据块为corrupt 修复坏块...

    天萃荷净 运维DBA巡检发现数据文件中存在坏块,使用RMAN工具的命令clear标记数据坏块,使用bbed修复坏块 在rman中有隐藏的命令clear,可以标记数据块为corrupt,从而实现数据库坏 ...

最新文章

  1. 使用Identity Server 4建立Authorization Server (3)
  2. 做网页需要学哪些计算机知识,网页美工设计需要掌握的电脑常识
  3. 基于大数据开发套件定时调度带资源文件的MapReduce作业
  4. Spring MVC 概述
  5. 限制输入字符串的长度
  6. Java数据结构—基本数据类型
  7. php 弹窗代码大全,PHP_asp.net弹出窗口代码大全,//关闭,父窗口弹出对话框,子窗 - phpStudy...
  8. 根据XML更新Userprofile
  9. 智能硬件开发神器免费送!距离产品智能化,只差一个“三明治”的距离
  10. java时间加减_java时间加减
  11. 计算机专业是安大好还是合工大好,合肥工业大学和安徽大学哪个比较好?2019年志愿填报参考!...
  12. angular—— Dynamic Templates
  13. Keras实现text classification文本二分类
  14. 如何快速搭建自己的阿里云服务器(宝塔、Xshell、Xftp配置)
  15. 小马哥讲Spring核心编程思想 - 第二章 重新认识IoC
  16. EyouCMS瀑布流分页详细教程
  17. 杭州五大湖风景名胜区
  18. Flutter 内外边距
  19. python 爬漫画 小白学习过程
  20. Caché 时间函数

热门文章

  1. 在PHP中创建和编辑Excel电子表格
  2. 车联网空间巨大 解决网络安全问题乃当务之急
  3. 优秀程序员写代码的七个优秀习惯
  4. jsoncpp 不能处理long类型数据
  5. Linux系统备份策略探讨
  6. VC中DDX/DDV自定义
  7. 遇到困难挫折也不要悲观:每个人生来就是冠军(转)
  8. Android开发之Activity转场动画
  9. C#汉字转拼音(npinyin)将中文转换成拼音全文或首字母
  10. 制作CentOS fence-agents 镜像