1、删除多余的归档日志

在ORACLE10G中,默认的归档路径为$ORACLE_BASE/flash_recovery_area。对于这个路径,ORACLE有一个限制,就是默认只能有2G的空间给归档日志使用,可以使用下面两个SQL语句去查看它的限制:

1. select * from v$recovery_file_dest;

2. show parameter db_recovery_file_dest(这个更友好直观一些)

当归档日志数量大于2G时,那么就会由于没有更多的空间去容纳更多的归档日志会报无法继续归档的错误。

如:“RA-19809: limit exceeded for recovery files

ORA-19804: cannot reclaim 10017792 bytes disk space from 2147483648 limit

ARC0: Error 19809 Creating archive log file to '/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2007_04_30/o1_mf_1_220_0_.arc' ”这时我们可以修改它的默认限制,比如说将它增加到5G或更多,也可以将归档路径重新置到别的路径,就不会有这个限制了。

更改限制语句如下:

alter system set db_recovery_file_dest_size=5368709102  (这里为5G 5x1024x1024x1024=5G)

alter system set db_recovery_file_dest_size=10737418240

进入rman target username/password@database

执行下边的交叉校验

crosscheck archivelog all;

此时可能会提示校验失败,类似下边的提示:

RMAN> crosscheck archivelog all;

释放的通道: ORA_DISK_1

分配的通道: ORA_DISK_1

通道ORA_DISK_1: sid=14 devtype=DISK

对归档日志的验证失败

…………….

这时,需要执行exit退出rman。

在命令提示符窗口下执行下边的字符集设置

C:>set nls_lang=american_america.zhs16gbk

然后再进入rman,再执行crosscheck archivelog all;一般不会再出现这样的问题了。

在命令窗口里面执行

DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';

说明

SYSDATA-7,表明当前的系统时间7天前,before关键字表示在7天前的归档日志,如果使用了闪回功能,也会删除闪回的数据。

同样道理,也可以删除从7天前到现在的全部日志,不过这个命令要考虑清楚,做完这个删除,最好马上进行全备份数据库

DELETE ARCHIVELOG FROM TIME 'SYSDATE-7';

UNIX/LINUX下也可以通过FIND找到7天前的归档数据,使用EXEC子操作删除

find /oraarchive -xdev -mtime +7 -name "*.dbf" -exec rm -f {} ;

这样做仍然会在RMAN里留下未管理的归档文件

仍需要在RMAN里执行下面2条命令

crosscheck archivelog all;

delete expired archivelog all;

所以还不如上面的方法好用,不过用FIND的好处就是,可以在条件上,和EXEC子项上做很多操作,实现更复杂的功能

2、report obsolete及delete obsolete删除过期备份命令

使用report obsolete命令报告过期备份

RMAN> report obsolete;

RMAN retention policy will be applied to the command

RMAN retention policy is set to redundancy 1

Report of obsolete backups and copies

TypeKeyCompletion TimeFilename/Handle

-------------------- ------ ------------------ --------------------

Backup Set12501-NOV-04

Backup Piece12501-NOV-04/data1/oracle/orabak/full_1_541045804

Backup Set13104-NOV-04

Backup Piece13104-NOV-04/data1/oracle/orabak/full_AVATAR2_20041104_131

....

使用delete obsolete命令删除过期备份:

RMAN> delete obsolete;

RMAN retention policy will be applied to the command

RMAN retention policy is set to redundancy 1

using channel ORA_DISK_1

Deleting the following obsolete backups and copies:

TypeKeyCompletion TimeFilename/Handle

-------------------- ------ ------------------ --------------------

Backup Set12501-NOV-04

Backup Piece12501-NOV-04/data1/oracle/orabak/full_1_541045804

....

Archive Log270417-DEC-04/opt/oracle/oradata/avatar2/archive/1_2716.dbf

Archive Log270317-DEC-04/opt/oracle/oradata/avatar2/archive/1_2715.dbf

Archive Log270217-DEC-04/opt/oracle/oradata/avatar2/archive/1_2714.dbf

Do you really want to delete the above objects (enter YES or NO)? yes

deleted backup piece

backup piece handle=/data1/oracle/orabak/full_AVATAR2_20041206_173 recid=173 stamp=544156241

.....

注:在执行删除的时候,可能会提示下边的报错信息:

ORA-19554:配置设备时出错,设备类型: SBT_TAPE,设备名称:

ORA-27211:未能加载介质管理库

解决方法,运行下边的命令:

RMAN> allocate channel for maintenance type disk;

RMAN> crosscheck archivelog all;

RMAN> delete obsolete;

3、Oracle RMAN的show,list,crosscheck,delete

Oracle RMAN的show,list,crosscheck,delete命令整理

1、SHOW命令:

显示rman配置:RMAN> show all;

2、REPORT命令:

2.1、RMAN> report schema报告目标数据库的物理结构;

2.2、RMAN>report need backup days=3;报告最近3天没有被备份的数据文件;

2.3、RMAN> report need backup days 3 tablespace users;在USERS表空间上3天未备份的数据文件;

2.4、RMAN> report need backup incremental 3;报告恢复数据文件需要的增量备份个数超过3次的数据文件;

2.5、RMAN> report need backup redundancy 2 database;报告备份文件低于2份的所有数据文件;

RMAN>report need backup redundancy=2;

2.6、RMAN> report need backup recovery window of 6 days;报告文件报表的恢复需要超过6天的归档日志的数据文件;

2.7、RMAN> report unrecoverable;报告数据库所有不可恢复的数据文件;

2.8、RMAN> report obsolete redunndancy 2;报告备份次数超过2次的陈旧备份;

2.9、RMAN>report obsolete;报告多余的备份;

3、LIST命令:列出备份信息

3.1、列出数据文件备份集

RMAN>list backup列出详细备份;

RMAN>list expired backup列出过期备份;

RMAN> list backup of database;列出所有数据文件的备份集;

RMAN> list backup of tablespace user01;列出特定表空间的所有数据文件备份集;

3.2、RMAN> list backup of controlfile列出控制文件备份集;

3.3、RMAN> list backup of archivelog all列出归档日志备份集详细信息;

RMAN>list archivelog all;列出归档日志备份集简要信息

3.4、RMAN> list backup of spfile列出SPFILE备份集;

3.5、RMAN> list copy of datafile 5列出数据文件映像副本;

3.6、RMAN> list copy of controlfile列出控制文件映像副本;

3.7、RMAN> list copy of archivelog all列出归档日志映像副本;

3.8、RMAN> list incarnation of database列出对应物/列出数据库副本;

3.9、RMAN>list backup summary;概述可用的备份;

B表示backup

F表示FULL

A表示archive log

0 1表示incremental backup

S说明备份状态(AAVAILABLEX EXPIRED )

3.10、RMAN>list backup by file按备份类型列出备份;

按照数据文件备份,归档日志备份,控制文件备份,服务器参数文件备份 列出

4、CROSSCHECK命令:校验备份信息

4.1、RMAN> crosscheck backup核对所有备份集;

4.2、RMAN> crosscheck backup of database核对所有数据文件的备份集;

4.3、RMAN> crosscheck backup of tablespace users核对特定表空间的备份集;

4.4、RMAN> crosscheck backup of datafile 4核对特定数据文件的备份集;

4.5、RMAN> crosscheck backup of controlfile核对控制文件的备份集;

4.6、RMAN> crosscheck backup of spfile核对SPFILE的备份集;

4.7、RMAN> crosscheck backup of archivelog sequence 3核对归档日志的备份集;

4.8、RMAN> crosscheck copy核对所有映像副本;

4.9、RMAN> crosscheck copy of database核对所有数据文件的映像副本;

4.10、RMAN> crosscheck copy of tablespace users核对特定表空间的映像副本;

4.11、RMAN> crosscheck copy of datafile 6核对特定数据文件的映像副本;

4.12、RMAN> crosscheck copy of archivelog sequence 4核对归档日志的映像副本;

4.13、RMAN> crosscheck copy of controlfile核对控制文件的映像副本;

4.14、RMAN> crosscheck backup tag='SAT_BACKUP';

4.15、RMAN> crosscheck backup completed after 'sysdate - 2'

4.16、RMAN> crosscheck backup completed between 'sysdate - 5' and 'sysdate -2 '

4.17、RMAN> crosscheck backup device type sBT;

4.18、RMAN> crosscheck archivelog all;

4.19、RMAN> crosscheck archivelog like '%ARC00012.001'

4.20、RMAN> crosscheck archivelog from sequence 12;

4.21、RMAN> crosscheck archivelog until sequence 522;

5、DELETE:删除备份

5.1、RMAN> delete obsolete;删除陈旧备份;

5.2、RMAN> delete expired backup;删除EXPIRED备份

5.3、RMAN> delete expired copy;删除EXPIRED副本;

5.4、RMAN> delete backupset 19;删除特定备份集;

5.5、RMAN> delete backuppiece ''d:\backup\DEMO_19.bak''删除特定备份片;

5.6、RMAN> delete backup删除所有备份集;

5.7、RMAN> delete datafilecopy ''d:\backup\DEMO_19.bak''删除特定映像副本;

5.8、RMAN> delete copy删除所有映像副本;

5.9、RMAN> delete archivelog all delete input;

RMAN> delete backupset 22 format = ''d:\backup\%u.bak'' delete input

在备份后删除输入对象;

5.10、RMAN> delete backupset id;

4、em控制台对备份的操作

使用sys用户的sysdba权限进入em控制台

在“维护”模块下,点击进入到“管理当前备份”操作选项。

在“管理当前备份”选项中可以列出所有的备份集

如果要删除备份,可以在下边的列表中选中要删除的备份集,执行“删除”命令,这时会有一个确认提示的页面:

点击“是”按钮,进行删除操作。如果提示操作“删除”失败,可以将上一步要执行的命令在命令提示符下使用rman命令来执行。

5、小结

像归档日志之类的备份,备份的文件夹是在一个叫flash_recovery_area的目录下边。

1、归档日志备份在ARCHIVELOG这个文件夹下边,上边对归档日志的操作基本上是对这个文件夹下的文件进行操作。

2、obsolete删除操作基本上是对AUTOBACKUP这个文件夹下的文件进行操作。(不是十分的确定)

3、delete backup操作基本上是对BACKUPSET文件夹和DATAFILE文件夹的内容进行操作的。

4、在em管理后台,最下边有一个“相关链接”模块,下有“作业”选项链接,可以看到所有数据库备份操作历史作业记录,在此可以对相应的备份作业进行修改操作。

另外如果要添加备份操作作业时,需要在“维护”模块下找到“调试备份”链接,推荐使用“Oracle建议的备份”来添加备份操作作业。

Linux下查看文件夹大小的命令du -sh docname

posted on 2010-11-05 11:08 SIMONE 阅读(3784) 评论(0)  编辑  收藏 所属分类: oracle

oracle清理历史备份,oracle数据库备份删除操作相关推荐

  1. 压缩SQL数据库日志-收缩SQL数据库日志-备份SQL数据库日志-删除SQL数据库日志

    [标题]压缩SQL数据库日志-收缩SQL数据库日志-备份SQL数据库日志-删除SQL数据库日志  [内容]         清除SQL数据库日志文件        有两种方式: 一.是压缩日志,二.是 ...

  2. mysql 备份表和数据_Mysql数据库备份(一)------数据库备份和表备份

    一.Mysql中的数据备份: Mysql中数据备份使用的命令是:mysqldump命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中.mysqldump命令的 工作原 ...

  3. Mysql数据库备份(一)------数据库备份和表备份

    一.Mysql中的数据备份: Mysql中数据备份使用的命令是:mysqldump命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中.mysqldump命令的 工作原 ...

  4. redmine备份_Redmine数据库备份及搬家

    Bitnami Redmine的备份分2种方式: 1.导出数据库 2.整个目录搬家 不管是哪种都想停掉服务,redmine相关的服务有以下5个: redmineApache redmineMySQL ...

  5. java 删除数据库_【Java】执行数据库的删除操作

    import java.sql.*; //执行数据库的删除操作 public class DeleteData { //定义MySQL的数据库驱动程序 public static final Stri ...

  6. Oracle 【IT实验室】数据库备份与恢复之:如何对Oracle数据库文件进行恢复与备份...

    任何数据库在长期使用过程中,都会存在一定的安全隐患.对于数据库管理员来说不能仅寄希望于计算机操作系统的安全运行,而是要建立一整套的数据库备份与恢复机制.当数据库发生故障后,希望能重新建立一个完整的数据 ...

  7. 记录第一次Oracle+ArcSDE安装部署与数据库备份(一)

    目录 完全卸载Oracle Oracle安装配置 Oracle数据库管理软件安装 创建服务监听程序 Oracle Client安装 创建用户 管理地理空间数据 数据库迁移备份 刚到公司实习,第一次接触 ...

  8. linux定时备份mysql_linux定时备份MySQL数据库并删除七天前的备份文件

    #!/bin/bash # Name:bakmysql.sh # This is a ShellScript For Auto DB Backup and Delete old Backup #备份地 ...

  9. 护卫神备份mysql_MySQL数据库备份_护卫神

    点击好备份系统左侧[MySQL备份]菜单,进入MySQL数据库备份模块.该模块可以对整个或部分MySQL数据库进行备份,并可以设置多条备份任务. 一.MySQL备份规则列表 进入MySQL备份模块,默 ...

最新文章

  1. 007-迅雷定时重启AutoHotkey脚本-20190411
  2. 5、C语言面试笔试--数据组织--数组
  3. NTU课程笔记 MAS714(8) 分治与排序
  4. 清华大学车辆刚才专业大佬教你如何写SCI论文(转)
  5. gearman mysql编译_gearman初探(一、编译和安装)
  6. Node.js学习(篇章一)
  7. 4加密问题漏洞修复_Apache Shiro 反序列化漏洞实战
  8. VirtualBox复制虚拟机
  9. 用Aliyun E-MapReduce集群的sqoop工具和数据库同步数据如何配置网络
  10. vscode 分析c代码_vs code(C语言)配置教程
  11. 【Spring-tx】关于spring事务的思考
  12. 将 exe 文件反编译成 Python 脚本
  13. linux 内存清理/释放命令(也可用于openwrt和padavan等系统的路由器)
  14. [ P1 ] 雷达相机标定基本知识
  15. 10 网站可用性的度量与考核
  16. Maven创建一个Servlet项目(五)
  17. 语句摘抄——第28周
  18. 无线渗透-----aircrack-ng破解WEP加密
  19. 自定义mvc框架复习(crud)
  20. 你知道这一周有哪些程序员好书上了热搜吗?

热门文章

  1. python 会议室预约系统_基于django的会议室预订系统
  2. PostMessage的原理和实际应用
  3. 给日历加背景图片 - 京华志
  4. 基于CubeMX-STM32F302_uCOSII例程移植
  5. I-Penguins
  6. 简单的做一个图片上传预览(web前端)
  7. std::copy性能分析与memmove机器级实现
  8. Section 17 : Navigation View and List
  9. java起socket监听,java socket 监听示例,javasocket,java socket监
  10. Linux进程相关命令-kill、killall、ps、netstat