【Oracle】Oracle修复数据坏块
前言
- Oracle 数据库的运行不可避免的会遇到各种各样的错误,就比如数据表出现坏块,此时,你这张表的数据就无法访问了,有什么好的办法可以恢复呢?
一、介绍
- 对于 Oracle 数据块物理损坏 的情形,通常可以分为两种情况:
- 有备份,通过 RMAN 恢复
- 无备份,通过 DBMS_REPAIR 修复
1.1、RMAN
- 有备份的情况下,这是很理想的情形,我们可以直接通过 RMAN 块介质恢复(BLOCK MEDIA RECOVERY)功能来完成受损块的恢复。
- 这里我是不建议恢复整个数据库或者数据库文件来修复这些少量受损的数据块,有点浪费时间。
可参考官方文档:Block Media Recovery with RMAN
1.2、DBMS_REPAIR
那如果没有任何备份怎么办? (PS:备份大于一切!)
我们可以使用 Oracle 自带的 DBMS_REPAIR 包来实现修复。
📢 注意: 使用 DBMS_REPAIR 包来修复,并