我们都知道在controlfile中记录着每一个archivelog文件的相关信息,当然们在OS下把这些物理文件delete掉后,在我们的controlfile中仍然记录着这些archivelog文件的相关信息,在oracle的OEM管理器中有可视化的日志展现出,当我们手工清除

archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,也就是oracle并不知道这些文件已经不存在了,这时候我们要做手工的清除的话,下面我经过实验,可以尝试这种方法:

1.

进入rman

[oracle@dthxdb2

~]$ /u01/app/oracle/product/10.2.0/db/bin/rman

2.

connect target

/

RMAN> connect

target /

3.

crosscheck

archivelog all;

crosscheck archivelog

all:验证的是DB的归档日志即log_archive_dest参数指定位置的文件,当手工删除了归档日志以后,Rman备份会检测到日志缺失,从而无法进一步继续执行Rman备份,所以此时需要手工执行crosscheck过程,查看所有的归档日志文件是否都是正常的然后再来执行Rman备份。

4.

delete expired

archivelog all;

这时候我们再去OEM中就看不到这些日志文件了,如果你的从来没有做过这个动作的话,我们可以比较这个动作前的controlfile和动作后的controlfile的文件大小

ORACLE正确删除归档并回收空间的方法:

一个ORACLE归档日志经常满,表现为/archivelog这个文件空间占用100%大家总是抱怨ORACLE为何没有归档维护工具,很多人直接删除了事,错了,ORACLE有,而且很智能,可以正确的删除归档和

FLASHBACK,不过切记,ORACLE归档日志对于ORACLE的数据恢复和备份非常重要,不到万不得已不要删除归档日志。

删除归档日志的过程

以ORACLE用户身份登录到数据库服务器主机或通过网络连接

进入ORACLE数据备份工具

/u01/app/oracle/product/10.2.0/db/bin/rman

target/

或/u01/app/oracle/product/10.2.0/db/bin/rman

target/@DTHXRAC1

在命令窗口里面执行

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 /archivelog -xdev -mtime

+7 -name "*.dbf" -exec rm -f {} \;

这样做仍然会在RMAN里留下未管理的归档文件,它的作用还是相当于直接用操作系统命令将归档日志文件直接删除,而ORACLE控制文件并不知道,因此仍需要在RMAN里执行下面2条命令:

crosscheck archivelog

all;

delete expired archivelog

all;

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

简要介绍一下report 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

Type

Key

Completion Time

Filename/Handle

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

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

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

Backup

Set

125

01-NOV-04

Backup

Piece125

01-NOV-04

/data1/oracle/orabak/full_1_541045804

Backup

Set

131

04-NOV-04

Backup

Piece131

04-NOV-04

/data1/oracle/orabak/full_AVATAR2_20041104_131

....

Backup

Set

173

06-DEC-04

Backup

Piece173

06-DEC-04

/data1/oracle/orabak/full_AVATAR2_20041206_173

Backup

Set

179

11-DEC-04

Backup

Piece179

11-DEC-04

/data1/oracle/orabak/arch544588206.arc

.....

Backup

Piece189

17-DEC-04

/data1/oracle/orabak/arch545106606.arc

Backup

Set

190

17-DEC-04

Backup

Piece190

17-DEC-04

/data1/oracle/orabak/arch545106665.arc

Backup

Set

191

20-DEC-04

Backup

Piece191

20-DEC-04

/data1/oracle/orabak/arch_AVATAR2_20041220_194

Archive

Log

2973

20-DEC-04

/opt/oracle/oradata/avatar2/archive/1_2985.dbf

Archive

Log

2971

20-DEC-04

/opt/oracle/oradata/avatar2/archive/1_2984.dbf

.....

Archive

Log

270517-DEC-04

/opt/oracle/oradata/avatar2/archive/1_2717.dbf

Archive

Log

2704

17-DEC-04

/opt/oracle/oradata/avatar2/archive/1_2716.dbf

Archive

Log

2703

17-DEC-04

/opt/oracle/oradata/avatar2/archive/1_2715.dbf

Archive

Log

2702

17-DEC-04

/opt/oracle/oradata/avatar2/archive/1_2714.dbf

使用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:

Type

Key

Completion Time

Filename/Handle

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

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

Backup

Set

125

01-NOV-04

Backup

Piece125

01-NOV-04

/data1/oracle/orabak/full_1_541045804

....

Archive

Log

2704

17-DEC-04

/opt/oracle/oradata/avatar2/archive/1_2716.dbf

Archive

Log

2703

17-DEC-04

/opt/oracle/oradata/avatar2/archive/1_2715.dbf

Archive

Log

2702

17-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

.....

deleted

archive log

archive log

filename=/opt/oracle/oradata/avatar2/archive/1_2715.dbf recid=2703

stamp=545108268

deleted

archive log

archive log

filename=/opt/oracle/oradata/avatar2/archive/1_2714.dbf recid=2702

stamp=545107659

Deleted

286 objects

RMAN>

crosscheck archivelog all;

released

channel: ORA_DISK_1

allocated

channel: ORA_DISK_1

channel

ORA_DISK_1: sid=19 devtype=DISK

specification

does not match any archive log in the recovery catalog

在rman中用crosscheck检查归档日志,2个归档日志都是失败的:

RMAN>

crosscheck archivelog all;

释放的通道:

ORA_DISK_1

分配的通道:

ORA_DISK_1

通道 ORA_DISK_1: sid=14

devtype=DISK

对归档日志的验证失败(validation

failed for archived log)

archive log

filename=/archivelog1/1_615_737652750.dbf recid=928

stamp=750848535

对归档日志的验证失败

archive

log filename=/archivelog1/1_616_737652750.dbf recid=930

stamp=750851615

已交叉检验的 2

对象(Crosschecked

2 objects)

试着同步一下,看行不行,结果不行,crosscheck还是失败:

RMAN>

resync catalog;

正在启动全部恢复目录的 resync

完成全部 resync

RMAN>

crosscheck archivelog all;

释放的通道:

ORA_DISK_1

分配的通道:

ORA_DISK_1

通道 ORA_DISK_1:

sid=14 devtype=DISK

对归档日志的验证失败(validation

failed for archived log)

archive log

filename=/archivelog1/1_615_737652750.dbf recid=928

stamp=750848535

对归档日志的验证失败

archive

log filename=/archivelog1/1_616_737652750.dbf recid=930

stamp=750851615

已交叉检验的 2

对象(Crosschecked

2 objects)

用list

expired看看是否有失效的archive

log,证明没有失效的archive

log:

RMAN>

list expired archivelog all;

说明与恢复目录中的任何存档日志均不匹配

更改语言环境试试,结果再次crosscheck,2个archive

log 都成功了:

RMAN>

exit

恢复管理器完成。

C:>set

nls_lang=american_america.zhs16gbk

C:>rman

catalogrman/rman@safetarget /

Recovery

Manager: Release 9.2.0.1.0 - Production

Copyright

(c) 1995, 2002, Oracle Corporation. All rights reserved.

connected

to target database: TEST (DBID=1870953724)

connected

to recovery catalog database

RMAN>

crosscheck archivelog all;

allocated

channel: ORA_DISK_1

channel

ORA_DISK_1: sid=9 devtype=DISK

validation

succeeded for archived log

archive log

filename=/archivelog1/1_615_737652750.dbf recid=928

stamp=750848535

validation

succeeded for archived log

archive log

filename=/archivelog1/1_616_737652750.dbf recid=930

stamp=750851615

Crosschecked

2 objects

oracle正确维护归档,转载:ORACLE正确删除归档日志的方法相关推荐

  1. oracle的hints类型,[转载]oracle hints用法大全

    在向大家详细介绍Oracle Hints之前,首先让大家了解下Oracle Hints是什么,然后全面介绍Oracle Hints,希望对大家有用.基于代价的优化器是很聪明的,在绝大多数情况下它会选择 ...

  2. oracle的iw算法,[转载]Oracle日期周详解IW

    1 ORACLE中周相关知识描述 1.1           日期格式化函数 TO_CHAR(X [,FORMAT]):将X按FORMAT格式转换成字符串.X是一个日期,FORMAT是一个规定了X采用 ...

  3. oracle alter user identified,[转载]oracle通过alter user 用户名 identified by

    oracle 查看用户操作而不最终修改用户密码 ---------------------------------------------------------------------------- ...

  4. oracle 11g删除归档日志,oracle 11g生产环境清理归档日志脚本

    最近几个客户生产环境都遇到一些故障,原因就是开归档,没有部署删除归档定时任务,以下大家可以参考,经过本人测试,在生产环境上正常运行. **roidba删除归档日志脚本** 一.基于RHEL6服务器端的 ...

  5. oracle数据库报错1033,Oracle联机日志出现错误ORA-16038 ORA-19809 ORA-00312 解决

    出现ORA-16038 ORA-19809 ORA-00312 Oracle 10g默认的归档日志存放在flash_recovery_area,而默认安装的时候该区间选择了2G大小当归档日志超过2G的 ...

  6. oracle如何删除可回收归档,Oracle正确删除归档并回收空间的方法

    一个Oracle归档日志经常满,表现为/oraarchive 这个文件空间占用100%大家一定抱怨Oracle为何没有归档维护工具,很多人直接删除了事,错了,Oracle有,而且很智能,可以正确的删除 ...

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

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

  8. Oracle 删除归档日志脚本

    归档日志记录着数据库的操作记录,是做数据恢复的依据,如果数据库开启了归档模式,那么就会产生大量的归档日志,当然如果有RMAN备份的话,可以在备份之后删除已经备份过的日志,如果是没有采用rman备份的话 ...

  9. 【RMAN】正确删除归档日志的方式

    归档日志的信息是记录在控制文件中,所以不能从OS层面进行简单的删除,因为这些归档日志还是会在动态视图中出现, Oracle 并不认为这些日志删除了. 方法一 :  先从 OS 层面删除,再使用 RMA ...

最新文章

  1. Netty 系列一(核心组件和实例).
  2. 阿里不让 MySQL 多表 Join ?我偏要!
  3. DL之Xception:Xception算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
  4. Image and video pencil sketch with OpenCV 3.X and CUDA
  5. BugkuCTF-MISC题低位的色彩
  6. c语言程序设计的几种循环,C语言程序设计教案 第六章 循环程序设计.doc
  7. wp8安装SSL证书
  8. python的进程和线程_Python进程与线程知识
  9. python2与python3在windows下共存
  10. python matplot模块
  11. 浏览器对象模型(Browser Object Model)
  12. 关于C#中Thread.Join()的一点理解
  13. ESP32 LVGL8.1 ——Label 标签 (Style 14)
  14. 什么是老毛子固件 padavan中文叫什么
  15. 微信公众号开发详细笔记
  16. 【转帖】 嵌入式路线狂人计划--------个人认为。
  17. GitHub 用户专属福利,实际到账 3K+,Namebase Airdrop
  18. 荷兰版《口袋妖怪GO》:不找小精灵,找免费啤酒!
  19. 《大掌门》欧阳刘彬--基于Cocos2d-x引擎开发经验分享
  20. hillin:浮木漂流

热门文章

  1. C#实现Windows后台服务实例浅析
  2. reactjs组件生命周期:componentWillReceiveProps及新旧版本生命周期钩子函数对比
  3. wsl设置c盘自动挂载到wsl中的/c/目录下
  4. k8s:Service的四种类型和三种代理模式
  5. 请说明一下Spring中BeanFactory和ApplicationContext的区别是什么?
  6. Java工具类--雪花算法生成全局唯一ID
  7. 【软考-软件设计师】解释程序实现高级语言的三种方式
  8. MongoRepository findById方法使用示例
  9. 支付宝开发中return_url和notify_url的区别分析
  10. centos7安装tomcat8.5.46版本碰到的问题