原因如下:

backup archivelog all delete input 和 backup archivelog all delete all input的区别是什么?

有资料上说的是:

delete input 表示备份结束后删除归档日志

delete all input 表示备份结束后删除所有归档日志目录文件

做了试验,没有删除目录啊…

结论:

当有多个归档目录时 例如:log_archive_dest_2 、log_archive_dest_1

–delete input后 log_archive_dest_2 中的archivelog并没有被删除(只删除log_archive_dest_1中的)

如果delete all input,所有log_archive_dest_n中的备份的archivelog都会被删除~


还有注意的就是如果flash_recovery_area设置太小会出问题

ORA-00257: 归档程序错误。在释放之前仅限于内部连接

检查alert_log日志原来是归档日志占满了FLASH_RECOVERY_AREA 的2G空间。

解决方法1:先手工删除D:\oracle\product\10.2.0\flash_recovery_area里面的

日志,

然后用户用rman进入把归档日志删除

1)命令>rman target/

2)命令>crosscheck archivelog all;

3)命令>delete expired archivelog all;

4)命令>exit

上面第3个命令

delete noprompt expired archivelog all; 其中noprompt 是不用手工确认.

解决方法2:改变了FLASH_RECOVERY_AREA的大小

修改命令>alter system set db_recovery_file_dest_size=8G scope=both;

查看命令>show parameter db_recovery_file_dest_size

另外一个rman要注意地方,比如手工删除rman的备份文件,但rman认为没有删除,解决方法:

crosscheck backup ;

delete noprompt expired backup ;

这种方法可以解决 删除无效的或手工通过rm删除的问题。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐