如何正确删除ORACLE归档日志文件

Oracle系列》Oracle归档日志管理(开启归档日志、删除归档日志) 开启归档日志、正确删除归档日志、定时删除归档日志 阅读详情

我们都都知道在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'; 删除从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 commandRMAN retention policy is set to redundancy 1Report of obsolete backups and copiesType                 Key    Completion Time    Filename/Handle-------------------- ------ ------------------ --------------------Backup Set           125    01-NOV-04Backup Piece       125    01-NOV-04          /data1/oracle/orabak/full_1_541045804Backup Set           131    04-NOV-04Backup Piece       131    04-NOV-04          /data1/oracle/orabak/full_AVATAR2_20041104_131....Backup Set           173    06-DEC-04Backup Piece       173    06-DEC-04          /data1/oracle/orabak/full_AVATAR2_20041206_173Backup Set           179    11-DEC-04Backup Piece       179    11-DEC-04          /data1/oracle/orabak/arch544588206.arc.....Backup Piece       189    17-DEC-04          /data1/oracle/orabak/arch545106606.arcBackup Set           190    17-DEC-04Backup Piece       190    17-DEC-04          /data1/oracle/orabak/arch545106665.arcBackup Set           191    20-DEC-04Backup Piece       191    20-DEC-04          /data1/oracle/orabak/arch_AVATAR2_20041220_194Archive Log          2973   20-DEC-04          /opt/oracle/oradata/avatar2/archive/1_2985.dbfArchive 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.dbfArchive Log          2704   17-DEC-04          /opt/oracle/oradata/avatar2/archive/1_2716.dbfArchive Log          2703   17-DEC-04          /opt/oracle/oradata/avatar2/archive/1_2715.dbfArchive 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 commandRMAN retention policy is set to redundancy 1using channel ORA_DISK_1Deleting the following obsolete backups and copies:Type                 Key    Completion Time    Filename/Handle-------------------- ------ ------------------ --------------------Backup Set           125    01-NOV-04Backup Piece       125    01-NOV-04          /data1/oracle/orabak/full_1_541045804....Archive Log          2704   17-DEC-04          /opt/oracle/oradata/avatar2/archive/1_2716.dbfArchive Log          2703   17-DEC-04          /opt/oracle/oradata/avatar2/archive/1_2715.dbfArchive Log          2702   17-DEC-04          /opt/oracle/oradata/avatar2/archive/1_2714.dbfDo you really want to delete the above objects (enter YES or NO)? yesdeleted backup piecebackup piece handle=/data1/oracle/orabak/full_AVATAR2_20041206_173 recid=173 stamp=544156241.....deleted archive logarchive log filename=/opt/oracle/oradata/avatar2/archive/1_2715.dbf recid=2703 stamp=545108268deleted archive logarchive log filename=/opt/oracle/oradata/avatar2/archive/1_2714.dbf recid=2702 stamp=545107659Deleted 286 objectsRMAN> crosscheck archivelog all;released channel: ORA_DISK_1allocated channel: ORA_DISK_1channel ORA_DISK_1: sid=19 devtype=DISKspecification 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

海思Hi3559A/CV100 DDR4参数配置经验分享 海思Hi3559A/CV100 DDR4参数配置方法 Hi3559AV100 DDR4 驱动配置说明 1.1 Hi3559AV100 DDR4 CLK/AC 驱动配置方法 寄存器地址 DDR PHY0:0x1206d0bc DDR PHY1:0x1206f0bc 寄存器描述 − Bit[5:3]:CLK 驱动 − Bit[14:12]:2T 驱动 − Bit[20:18]:1T 驱动 驱动大小定义 − 000:Disable − 001:240ohm − 010: 120ohm − 011:80ohm − 阅读详情

相关推荐

Python 爬虫实战:爬取知乎问答与评论数据并分析

摘要:本文以Python为核心工具,系统讲解知乎问答与评论数据爬取的技术方案。通过分析知乎API接口结构,详细阐述Requests库结合正则表达式的数据获取方法,涵盖请求头构造、鉴权参数处理等关键技术。文章对比了HTML解析、API调用和Selenium模拟三种爬取方案的优劣,提供完整的代码实现,包括问题信息获取、回答列表爬取和评论数据提取。同时介绍了数据存储(JSON/Excel)和基础文本分析(词云生成)方法,并给出合规使用建议和技术优化方向,为开发者提供了一套可落地的知乎数据爬取与分析解决方案。

2503_91057718的博客 1792

oracle ORA-00257异常处理及定时清理归档日志

解决oracle归档日志问题 增加定时清理归档日志任务

m0_37557495的博客 2684

微信dat图片查看器,可查看、删除PC版的微信目录的dat文件内容

微信dat图片查看器,可查看、删除PC版的微信目录的dat文件内容

oracle rman删除日志,用rman 正确删除归档日志

oracle rman正确删除归档日志

大叶梧桐的博客 3960

oracle清除过期备份,oracle rman 不能发现及删除过期备份问题

问题是这样的。我们有一套数据库,大概4t的数据库量。rman备份到本地文件系统,因为挂载的存储空间有限,每周六晚做一次全备后,上一次的全备就应该删除。配置了rman的脚本为:CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default之前一直运行正常,但这周一(即8月10日)早上检查,发现8.8及8.1的备份都在,文件系统使用率95%。rman tar...

weixin_36173545的博客 666

oracle清理归档日志

通过设置RETENTION POLICY,可以让Oracle自动管理归档日志的生命周期。确保在实施任何清理策略之前,已经理解了这些操作对于数据库的影响,并且已经有了适当的备份。你可以创建一个定期执行的脚本(例如,使用cron job),以自动清理旧的归档日志。你可以直接登录到Oracle数据库服务器,然后删除不再需要的归档日志文件。RMAN是Oracle提供的一个备份和恢复工具,它也可以用来删除归档日志。

xiaoyang1982的专栏 4117

如何清除oracle归档日志,如何正确删除Oracle 归档日志文件

Oracle中的归档日志空间满时,则需要把它清空,否则将会影响数据库正常运行,将无法正常登入ORACLE,需要删除一部分归档日志才能正常登入Oracle。一、首先删除归档日志物理文件,归档日志一般都是位于archive目录下,在Oracle 10g中AIX系统下文件格式为“1_17884_XXX.dbf”,建议操作前先对数据库进行备份,删除时至少保留最近几天的日志用于数据库恢复。二、把归档日志的...

weixin_33046983的博客 8309

mysql怎么删除归档日志_如何正确删除Oracle归档日志文件

我们都知道在controlfile中记录着每一个archivelog的相关信息,当然们在OS下把这些物理文件delete掉后,在我们的controlfile中仍我们都知道在controlfile中记录着每一个archivelog的相关信息,当然们在OS下把这些物理文件delete掉后,在我们的controlfile中仍然记录着这些archivelog的信息,在Oracle的OEM管理器中有可视化的...

weixin_36090220的博客 201

如何删除oracle日志文件,如何正确删除Oracle归档日志文件

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

weixin_28704565的博客 486

php删除oracle数据记录日志文件,正确删除ORACLE归档日志文件

在controlfile中记录着每一个archivelog的相关信息,当然们在OS下把这些物理文件delete掉后,在我们的controlfile中仍然记录着这些archivelog的信息,在oracle的OEM管理器中有可视化的日志展现出,当我们手工清除archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,也就是oracle并不知道这些文件已经不存在了!这时候我们要...

weixin_28941265的博客 142

删除oracle归档日志

删除一天之前的archivelog。检查一些无用的archivelog。

m0_56247598的博客 1969

Oracle删除归档日志

如上错误是因为,直接在Windows的文件管理器中进行删除了,但oracle却不知道这个文件删除了,导致报错。其实在日常维护中,我们也可以直接删除归档文件,只要不是最新的日期就行。注:先用exit命令退出sqlplus程序,然后使用cd命令进入文件夹,最后输入exe程序名打开程序。一般都在这个路径下:D:\ORACLE\product\11.2.0\dbhome_1\BIN。如图所示删除成功,此时归档日志文件已经完整,可以进行下一步的删除。用CMD打开Oracle目录下的rman程序。

qq_44284055的博客 2947

Oracle——清理归档日志

Oracle,数据库,归档模式,运维

qtishero的博客 9196

Oracle数据库清理日志的方法

Oracle数据库中的归档日志清理方法有2种,一是手动清理,二是设置自动清理。

Small_Casee的博客 1万+

ORACLE数据库归档删除

查看Oracle 安装目录 cat /etc/oraInst.loc ------------------------归档删除------------------- 切换oracle用户: su - oracle 进入rman:前提要配置好ORACLE_SID实例名 rman target / 查看当前归档日志文件信息: crosscheck archivelog all;删除归档日志(前7天): delete noprompt archivelog until time 'sysdate-7' 该命令

lcgskycby的博客 2521

Oracle归档日志清理

1、检查Oracle进程是哪个用户运行。3、确认是Oracle归档目录满了。4、rman清理归档日志。

の正在缓存99% 1919
上一篇: MySQL数据库备份和还原的常用命令小结【备忘】
下一篇: ftp 无须对话机制下载文件示例
nerissa
博客等级 码龄21年 9粉丝 47原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值