一朋友今天早上通过MSN告诉我,他在备份数据库的时候出现错误:
ORA-19815: WARNING: db_recovery_file_dest_size of 4346257823 bytes is 100.00% used, and has 0 remaining bytes available.
他的数据库是oracle 10gR2。flash_recovery_area空间他已经手工释放了(删除一些文件)。但问题还是没有解决。我要他登上数据库查询v$recovery_file_dest这个视图,并把space_limit ,space_used,number_of_files三个字段的值告诉我。结果是前两个字段的值几乎相等,后一个字段的值显示327。这说明仍然有327个文件被oracle记录,且used空间没有释放。其实这个问题我遇到过,手工删除了文件,oracle并不知道。有时你删除一个正在被其他进程使用的文件,文件虽然删除了,但空间并未释放。知道了原因解决方法就简单了。
使用rman登录数据库进行crosscheck:crosscheck archivelog all --》
rman标记被手工删除的归档的日志为expired,然后就可以删除了:RMAN> delete expired archivelog all;
我们也可以将闪回区的内容备份到第三方介质,同样可以释放空间:RMAN> backup recovery area;
阅读(2252) | 评论(0) | 转发(0) |