网站首页 > 技术文章 正文
概述
最近在用rman还原数据库的时候提示有坏块,所以分析了一下源数据库并修复坏块。在Oracle的恢复中都要考虑是在归档模式的恢复,还是非归档模式的恢复。使用RMAN的BMR修复数据坏块的前提条件是要求数据库在归档模式下。
1、在操作系统层面验证数据是否有损坏:
dbv file='XXX.dbf'
可以看到数据文件都是正常的,继续往下分析。。
2、在数据库层面验证数据是否有损坏
从rman中进行验证数据库块是否有损坏
$ rman target / nocatalog RMAN> backup validate database;
3、查询坏块视图
在以下视图中查看是否有记录:
select * from v$database_block_corruption;
好吧,源数据库这边没有坏块,最后确认是因为文件在传输过程中中断导致部分文件损坏了,后来压缩后重新传就可以了,最终结果如下:
4、用rman恢复对应的数据块(这个步骤省略)
如果不用rman备份数据文件的话,那么在恢复数据的时候,就需要将这个数据文件全部拷贝过去,然后进行恢复。如果碰到上百个G的大数据文件,为了几个损坏的块进行恢复需要耗费很久的时间。但是如果使用rman工具,就可以对单个的数据文件块进行恢复,很方便。
$ rman target / nocatalog RMAN> blockrecover datafile xx block xx;
以上就是在碰到坏块时分析的大致过程,大概分为这4步了,大家也可以用bbed模拟坏块然后做一下相关实验。
觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~
猜你喜欢
- 2024-10-28 Oracle数据库基于rman在不同损坏级别的恢复
- 2024-10-28 oracle数据库备份恢复部分数据表 oracle数据库备份恢复命令
- 2024-10-28 一起来学习Oracle的备份恢复基础吧-2
- 2024-10-28 rman坏块修复案例--记一次数据库还原时块编号损坏恢复过程
你 发表评论:
欢迎- 636℃几个Oracle空值处理函数 oracle处理null值的函数
- 629℃Oracle分析函数之Lag和Lead()使用
- 617℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 613℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 611℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 603℃【数据统计分析】详解Oracle分组函数之CUBE
- 590℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 576℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)