rman: delete [all] input

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

转自:http://aixchina.net/home/space.php?uid=2825&do=blog&id=24017

数据库oracle 11g 全备脚本如下:
rman target /  <<EOF
run {
allocate channel t1 type disk; 
allocate channel t2 type disk; 
allocate channel t3 type disk; 
set limit channel t1 kbytes 4194304;
set limit channel t2 kbytes 4194304;
set limit channel t3 kbytes 4194304;
backup 
format '/u01/rman/full_MPdb_%U' 
(database include current controlfile);
backup 
format '/u01/rman/redolog_MPdb_%U'  archivelog all delete  input;
sql ' alter system archive log current';
release channel t1;
release channel t2;
release channel t3;

exit
EOF

以下是11g下的全备
rman target /  <<EOF
run {
allocate channel t1 type disk; 
allocate channel t2 type disk; 
set limit channel t1 kbytes 4194304;
set limit channel t2 kbytes 4194304;
backup full tag 'order' as compressed backupset database
include current controlfile
format '/u01/rman/full_MP_%d_%T_%s' 
plus archivelog
format '/u01/rman/redolog_MP_%d_%T_%s' delete all input;
delete noprompt obsolete;
release channel t1;
release channel t2;

exit
EOF

RMAN> show retention policy;

使用目标数据库控制文件替代恢复目录
db_unique_name 为 ORAMP 的数据库的 RMAN 配置参数为:
CONFIGURE RETENTION POLICY TO REDUNDANCY 3;

-----------------------------------------------------------------------------
问题是每次备份完后只删除/u01/app/oracle/flash_recovery_area/ORACLE11/archivelog下的旧的归档日志文件
但是/u01/app/oracle/product/11.1.0/db_1/dbs下的归档日志并没有删除

原因如下:
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删除的问题。

















本文转自pimg200551CTO博客,原文链接:http://blog.51cto.com/pimg2005/1092516 ,如需转载请自行联系原作者



相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
Oracle 关系型数据库 数据库
change backup ... for db_unique_name不同步到control file
change backup … for db_unique_name 可以改变备份集所属的db_unique_name,但oracle官方文档里面没有说会不会同步到db_unique_name对应的数据库的control file。我自己测试发现不会同步到control file。
|
存储
rman备份失败:ORA-00245: control file backup failed; target is likely on a local file system
rman备份失败:ORA-00245: control file backup failed; target is likely on a local file system
150 0
|
Oracle 关系型数据库 数据库
RMAN命令LIST操作总结
在使用RMAN备份、还原的过程中,我们经常需要查看备份的一些详细信息,例如,RMAN提供了LIST命令。关于LIST命令的详细信息 可以参考Oracle Database Backup and Recovery Reference文档。
1311 0
backup archivelog delete input 与delete all input 区别
backup archivelog all delete input 备份默认目录下所有归档日志,并且删除这个目录下所有归档日志 backup archivelog all delete all input 备份默认目录下所有归档日志,并且删除几个备份目录下...
1141 0