数据都已经解压完毕。 在/orabak/Oracle_bak 下
但恢复时读取备份片总是报错
channel dev1: reading from backup piece/orabak/oracle_bak/fullrac_EPTDB_820_1_20130802
ORA-19870: error reading backup piece/orabak/oracle_bak/fullrac_EPTDB_821_1_20130802
ORA-19587: error occurred reading 0 bytesat block number 1
ORA-27091: unable to queue I/O
ORA-27067: size of I/O buffer is invalid
Additional information: 2
ORA-19870: error reading backup piece/orabak/oracle_bak/fullrac_EPTDB_820_1_20130802
ORA-19587: error occurred reading 0 bytesat block number 1
ORA-27091: unable to queue I/O
ORA-27067: size of I/O buffer is invalid
Additional information: 2
系统日志中也可以看到
Fri Aug 9 00:30:04 2013
Corrupt block 1 found during reading backuppiece, file=/orabak/oracle_bak/fullrac_EPTDB_820_1_20130802, corr_type=1
Fri Aug 9 00:30:41 2013
Corrupt block 1 found during reading backuppiece, file=/orabak/oracle_bak/fullrac_EPTDB_819_1_20130802, corr_type=1
Fri Aug 9 00:30:41 2013
确认传输过程中没有问题。
似乎在这台机器上,RMAN没有办法正确读取备份片。。。
晕了。
我第一反应是备份集的问题,于是去备份目录下看了下。
1 oracle oinstall 20611072 Aug 08 16:41 ctl_EPTDB_824_1_20130802
1 oracle oinstall 21474836480 Aug 08 16:42 fullrac_EPTDB_818_1_20130802
1 oracle oinstall 21474836480 Aug 08 16:45 fullrac_EPTDB_818_2_20130802
--都是只读权限,我觉得有问题,可想了下,rman备份是读取备份集,不用写应该不造成什么影响吧,但想是这么想,总觉得怪怪的。
APPLIES TO:
Oracle Database - Enterprise Edition - Version 10.2.0.1 to 10.2.0.4 [Release 10.2]
Oracle Database - Enterprise Edition - Version 10.1.0.2 to 10.2.0.1 [Release 10.1 to 10.2]
Information in this document applies to any platform.
***Checked for relevance on 06-May-2013***
RMAN restore of read only backuppieces fails as follows:
.
/bugmnt/am/ceaixcb5/tar5619852.992/app/oracle/oradata/TARCS/bkup_03hp58dk_1_1
ORA-19587: error occurred reading 0 bytes at block number 1
ORA-27091: unable to queue I/O
ORA-27067: size of I/O buffer is invalid
Additional information: 2
failover to previous backup
.
RMAN-571: ===========================================================
RMAN-569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-571: ===========================================================
RMAN-3002: failure of restore command at 07/26/2006 13:13:17
RMAN-6026: some targets not found - aborting restore
RMAN-6023: no backup or copy of datafile 4 found to restore
The backuppiece is in read only status at the operating system level.
SOLUTIONSee Bug 5412531 for other details.
--确实需要写的权限!
REFERENCESBUG:5412531 - RMAN FAILS RESTORING READONLY BACKUPS: ORA-19870 ORA-19587 ORA-27091 ORA-27067
经过修改权限后,进行验证就不会报错了。
cd/orabak/oracle_bak
chmod775 *20130802
RMAN>restore controlfile validate;
Startingrestore at 09-AUG-13
usingchannel ORA_DISK_1
channelORA_DISK_1: starting validation of datafile backupset
channelORA_DISK_1: reading from backup piece/orabak/oracle_bak/ctl_EPTDB_824_1_20130802
channelORA_DISK_1: restored backup piece 1
piecehandle=/orabak/oracle_bak/ctl_EPTDB_824_1_20130802 tag=TAG20130802T210600
channelORA_DISK_1: validation complete, elapsed time: 00:00:02
Finishedrestore at 09-AUG-13
之后的恢复也没有问题。
推荐阅读:
Oracle基础教程之通过RMAN复制数据库
RMAN备份策略制定参考内容
RMAN备份学习笔记
Oracle数据库备份加密 RMAN加密