rman: delete [all] input

数据库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删除的问题。

rman归档删除的更多相关文章

  1. RMAN正确地删除Archivelog以及设置有备库的归档删除策略

    原文链接:http://blog.sina.com.cn/s/blog_64e166580100xks5.html 如何正确地删除Archivelog: Archivelog并不能直接得从OS层直接物 ...

  2. RMAN 命令-删除过期

    手动删除日志文件后的处理,不然rman备份会出错 rman target / crosscheck archivelog all; delete expried archivelog all; 删除所 ...

  3. rman删除归档日志无法释放

    背景 当Oracle 归档日志满了后,将无法正常登入oracle,需要删除一部分归档日志才能正常登入ORACLE.最近遇到一个问题,一套Oracle 11g数据库使用RMAN删除了归档日志,但是仍然无 ...

  4. 当ORACLE归档日志满后如何正确删除归档日志

    当ORACLE 归档日志满了后,将无法正常登入ORACLE,需要删除一部分归档日志才能正常登入ORACLE. 一.首先删除归档日志物理文件,归档日志一般都是位于archive目录下,AIX系统下文件格 ...

  5. db_recovery_file_dest_size 修改大一点及删除归档日志 |转|

    今天给客户测 试问题,让客户把数据发过来了.解压缩后一看,他们还是用的oracle 815版本的(他们exp导出时,带了导出日志,从导出日志中看出来是oracle 815版本的),不过没有关系,低版本 ...

  6. Oracle 归档开启切换和归档日志删除(单实例和RAC)

    Oracle默认安装后,是没有开启归档模式的,需要手动开启. 开启归档--单实例如果archive log模式下不能正常startup,则先恢复成noarchive log,startup成功后,再s ...

  7. ORACLE归档日志满了之后,如何删除归档日志

    当ORACLE归档日志满后如何正确删除归档日志 版权声明:本文为博主原创文章,未经博主允许不得转载. 当ORACLE 归档日志满了后,将无法正常登入ORACLE,需要删除一部分归档日志才能正常登入OR ...

  8. Linux下设置定时任务删除归档日志

    1.编辑删除归档日志的脚本----/home/oracle/clearlog.sh #! /bin/bash source ~/profile_orcl#记录归档删除的日志exec >> ...

  9. Oracle12c中数据删除(delete)新特性之数据库内归档功能

    有些应用有“标记删除”的概念,即不是删除数据,而是数据依然保留在表中,只是对应用不可见而已.这种需求通常通过如下方法实现: 1)  给相关表增加一个另外的列,该列存储标志数据被删除的标记. 2)  给 ...

随机推荐

  1. 【python】词法语法解析模块ply

    官方手册:http://www.dabeaz.com/ply/ply.html 以下例子都来自官方手册: 以四则运算为例: x = 3 + 42 * (s - t) 词法分析: 需要将其分解为: 'x ...

  2. addsubview跟insertsubview的区别

    子视图是以栈的方式存放的. 每次addsubview时都是在最后面添加. 每次在addsubview前和addsubview后可以看看[self.view.subViews count]: 你看看你的 ...

  3. springMVC创建基础变量

    在springMVC中有一些变量是基础变量,可以在全局多个地方使用,在修改规则的时候,这样只用修改一个地方就好了,而且可以避免很多不必要的bug出现下面就来总结一下在我的项目中如何去创建一个全局基础变 ...

  4. kmp

    #include <bits/stdc++.h> #define MAXN 100000 using namespace std; string a, b; int next[MAXN]; ...

  5. Codeforces Round #344 (Div. 2)(按位或运算)

    Blake is a CEO of a large company called "Blake Technologies". He loves his company very m ...

  6. JDBC之SqlHelper

    SqlHelper工具类如下: import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.Resul ...

  7. React Native实例之房产搜索APP

    React Native 开发越来越火了,web app也是未来的潮流, 现在react native已经可以完成一些最基本的功能. 通过开发一些简单的应用, 可以更加熟练的掌握 RN 的知识. 在学 ...

  8. hdu 1860统计字符

    本来是想用map写的,但是map里面会自动按字典序升序排序导致wa了一把,供 #include<time.h> #include <cstdio> #include <i ...

  9. UISegmentedControl

    1. NSArray *segmentedArray = [[NSArray alloc]initWithObjects:@"1",@"2",@"3& ...

  10. 关于v$datafile中system表空间的status值始终为system

    http://docs.oracle.com/cd/B19306_01/server.102/b14237/dynviews_1076.htm#REFRN30050 http://blog.itpub ...