笔者在一台生产用测试库上SELECT一个表时出现ORA-01578,一个块损坏,以前学习过块损坏怎么处理,到还真没遇到过,今天总算让我遇到了,还是一台生产用测试库,就不用很紧张了。
数据库版本是9.2.0.4,Oracle9i的RMAN有一个blockrecover命令,可以在线修复坏块,以下就是使用RMAN修复坏块的过程。
SQL> conn owi/owi Connected. SQL> select * from dpa_history; select * from dpa_history * ERROR at line 1: ORA-01578: ORACLE data block corrupted (file # 15, block # 18) ORA-01110: data file 15: '/d01/app/oracle/oradata/dpa/dpa01.dbf'
|
报ORA-01578数据块损坏,以下使用RMAN命令查询是否可以使用blockrecover命令恢复以及怎样恢复
使用rman登录catalog数据库
[ora9@rmanserver ~]$ rman target sys/oracle@dpa catalog rman/rman
Recovery Manager: Release 9.2.0.8.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
connected to target database: DPA (DBID=843495022) connected to recovery catalog database
|
查找最近datafile 15的全备份,今天下午刚做了一次RMAN的全备份