主机:rhel 6.8

       数据库版本:oracle 11.2.0.4 rac

近期Oracle数据库巡检中,发现一地市的rman备份出现问题,在备份节点rac2用oracle登录数据库服务器,执行备份检查命令时报错:

ORACLE rman备份报错之RMAN-03009&ORA-19587&ORA-27072_ORACLE


RMAN> crosscheck backup;

using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=179 instance=orcl2 device type=DISK
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of crosscheck command on ORA_DISK_1 channel at 08/21/2017 16:21:45
ORA-19587: error occurred reading 512 bytes at block number 1
ORA-27072: File I/O error

Linux-x86_64 Error: 5: Input/output error
Additional information: 4
Additional information: 1
Additional information: -1
ORA-27047: unable to read the header block of file
Linux-x86_64 Error: 5: Input/output error
Additional information: 3

检查节点rac2备份目录的存储空间使用率如下,可见不是存储空间满导致的:


ORACLE rman备份报错之RMAN-03009&ORA-19587&ORA-27072_rman_02

然后,使用oracle登录节点1执行备份检查,命令却可以顺利执行,如下所示,发现有50个过期的备份

ORACLE rman备份报错之RMAN-03009&ORA-19587&ORA-27072_ORACLE _03

然后,在节点rac1执行过期备份删除操作,顺利执行

ORACLE rman备份报错之RMAN-03009&ORA-19587&ORA-27072_rman_04

过期备份删除后,节点rac2的备份检查命令可以正常执行,如图所示:

ORACLE rman备份报错之RMAN-03009&ORA-19587&ORA-27072_ORACLE _05

在备份节点rac2也可以正常发起备份了:

ORACLE rman备份报错之RMAN-03009&ORA-19587&ORA-27072_ORACLE _06ORACLE rman备份报错之RMAN-03009&ORA-19587&ORA-27072_ORACLE _07