测试库上用rman做恢复的时候遇到了ORA-19502和ORA-27072的错误。
RMAN> restore database;
......
channel ORA_DISK_2: ORA-19870: error while restoring backup piece
ORA-19502: write error on file "/app/ora10/oradata/orcl/TD_CRM01.dbf",
block number 757120 (block size=8192)
ORA-27072: File I/O error
Additional information: 4
Additional information: 757120
Additional information: 69632
从错误信看是在写文件的时候遇到了错误,可能是磁盘空间不够了。
检查了一下磁盘空间,发现空间不够用。
$df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 500G 480G 20G 96% /
/dev/sda2 3.9G 73M 3.7G 2% /tmp
/dev/sda1 99M 22M 73M 23% /boot
tmpfs 4.0G 1.1G 3.0G 26% /dev/shm
这时候有两种解决方案:
1.删除一些文件,释放磁盘空间
2.添加新的磁盘空间。
删除了一些文件,从新restore database,可以从出错的地方继续开始。
RMAN> restore database;
skipping datafile 28; already restored to file /app/ora10/oradata/orcl/TD_CRM_BAK.dbf
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00027 to /app/ora10/oradata/orcl/TD_CRM01.dbf
channel ORA_DISK_1: reading from backup piece /app/ora10/backup/ORCL779007699615j7n6tdmj
channel ORA_DISK_1: piece handle=/app/ora10/backup/ORCL779007699615j7n6tdmj tag=TAG20120327T070138
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:16:35
Finished restore at 27-MAR-12