设为首页 收藏本站
查看: 523|回复: 0

[经验分享] Oracle归档日志删除

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-9-28 10:12:09 | 显示全部楼层 |阅读模式
我们都都知道在controlfile中记录着每一个archivelog的相关信息,当然们在OS下把这些物理文件delete掉后,在我们的

controlfile中仍然记录着这些archivelog的信息,在oracle的OEM管理器中有可视化的日志展现出,当我们手工清除archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,也就是oracle并不知道这些文件已经不存在了!这时候我们要做手工的清除的话,下面我经过实验,可以尝试这种方法:

1. 进入rman  

2. connect target /

3. crosscheck archivelog all;

4. delete expired archivelog all;

这时候我们再去OEM中看就一定看不到,如果你的从来没有做过这个动作的话,我们可以比较从这个动作前的controlfile后动作后的controlfile的大小!

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

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

一个ORACLE归档日志经常满,表现为/oraarchive 这个文件空间占用100%大家一定抱怨ORACLE为何没有归档维护工具,很多人直接删除了事,错了,ORACLE有,而且很智能,可以正确的删除归档和FLASHBACK,不过切记,ORACLE归档日志对于ORACLE的数据恢复和备份非常重要,不到万不得已不要删除归档日志。

删除归档日志的过程

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

进入ORACLE数据备份工具

rman target/

或rman target/@orcl

在命令窗口里面执行

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子项上做很多操作,实现更复杂的功能

3.简要介绍一下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 Piece       125    01-NOV-04          /data1/oracle/orabak/full_1_541045804

Backup Set           131    04-NOV-04

Backup Piece       131    04-NOV-04          /data1/oracle/orabak/full_AVATAR2_20041104_131

....

Backup Set           173    06-DEC-04

Backup Piece       173    06-DEC-04          /data1/oracle/orabak/full_AVATAR2_20041206_173

Backup Set           179    11-DEC-04

Backup Piece       179    11-DEC-04          /data1/oracle/orabak/arch544588206.arc

.....

Backup Piece       189    17-DEC-04          /data1/oracle/orabak/arch545106606.arc

Backup Set           190    17-DEC-04

Backup Piece       190    17-DEC-04          /data1/oracle/orabak/arch545106665.arc

Backup Set           191    20-DEC-04

Backup Piece       191    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          2705   17-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



4.使用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 Piece       125    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





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

RMAN> crosscheck archivelog all;



释放的通道: ORA_DISK_1

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=14 devtype=DISK

对归档日志的验证失败

存档日志文件名 =D:ORACLEORADATATESTARCHIVE1_47.DBF 记录 ID=1 时间戳 =572866

683

对归档日志的验证失败

存档日志文件名 =D:ORACLEORADATATESTARCHIVE11_48.DBF 记录 ID=2 时间戳 =57286

6931

已交叉检验的 2 对象



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

RMAN> resync catalog;



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

完成全部 resync



RMAN> crosscheck archivelog all;



释放的通道: ORA_DISK_1

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=14 devtype=DISK

对归档日志的验证失败

存档日志文件名 =D:ORACLEORADATATESTARCHIVE1_47.DBF 记录 ID=1 时间戳 =572866

683

对归档日志的验证失败

存档日志文件名 =D:ORACLEORADATATESTARCHIVE11_48.DBF 记录 ID=2 时间戳 =57286

6931

已交叉检验的 2 对象



7 用list expired看看是否有失效的archive log,证明没有失效的archive log:

RMAN> list expired archivelog all;



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



8 更改语言环境试试,结果再次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=D:ORACLEORADATATESTARCHIVE1_47.DBF recid=1 stamp=57286

6683

validation succeeded for archived log

archive log filename=D:ORACLEORADATATESTARCHIVE11_48.DBF recid=2 stamp=5728

66931

Crosschecked 2 objects

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-119866-1-1.html 上篇帖子: Oracle 11G 表空间 下篇帖子: ecs使用脚本安装oracle Oracle
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表