DELETE OBSOLETE不删除归档日志以及归档的备份集

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 今天遇到一个奇怪的事情,使用OBSOLETE不删除归档日志,而且也不删除过期的归档的BACKUP SET 从delete obsolete的概念来看如下: The REPORT OBSOLETE and DELETE OBSOLETE com...

今天遇到一个奇怪的事情,使用OBSOLETE不删除归档日志,而且也不删除过期的归档的BACKUP SET
从delete obsolete的概念来看如下:

The REPORT OBSOLETE and DELETE OBSOLETE commands work in two steps:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
   For each datafile for which there are full backup, datafile copy, or level 0 incremental backups, RMAN identifies the oldest full or
level 0 backup or copy that is not obsolete under the retention policy being tested. Any full backup, level 0 incremental backup, or
datafile copy of a datafile older than the one identified in this step is considered obsolete.                                                                                                                                                                                                                                                                                                                                                                          Rman Not Deleting Obsolete Archive Logs And Archive Log Backups (文档 ID 282617.1)
   Any archived logs and level 1 incremental backups that are older than the oldest non-obsolete full backup are then obsolete because
there is no full or level 0 backup to which they can be applied.                                                                                                                                                                    
可以看到所谓的冗余策略不管是天数还是副本数量,保证的都是你冗余时间或者副本最早的那一个FULL BACKUP DATABASE(FULL BACK 或者LEVEL 0增量备份)
是能够恢复的,而早于这个FULL BACKUP以前的增量备份和归档日志或者其他备份都是失效的。简单的说delete obsolete会删除已经没有用的不用于恢复的
归档日志。但是今天遇到的问题是明显的已经处于无用状态的归档任然保留,delete obsolete不能删除。

查看MOS发现问题如下:


once the datafile is identified, the file must be brought up to date with the other files. To do this, execute the following steps:

# If file is Offline:


1. Recover datafile XX:

    alter database recover datafile XX

    -- recovery will apply archives.


2. Set the Datafile Online

     alter database datafile XX online;

 

or

# If tablespace is in begin backup mode:

1. sql> alter tablespace end backup;

 

Once file is brought upto date, RMAN will not have the need to retain older archivelog files.

简单的说就是如果有数据文件处于OFFLINE 状态或者HOT BACKUP 状态,一旦重新ONLINE这个数据文件或者END BACKUP这个文件
是需要归档来进行恢复,所以是不能删除的,所以马上查看数据文件状态如下:

查询过程和处理过程
SQL> select * from dba_data_files;
 
FILE_NAME                                                ONLINE_STATUS
-------------------------------------------------------- -------------
C:\ORACLE\PRODUCT\10.2.0\ORADATA\BENDI\USERS01.DBF       ONLINE
C:\ORACLE\PRODUCT\10.2.0\ORADATA\BENDI\SYSAUX01.DBF      ONLINE
C:\ORACLE\PRODUCT\10.2.0\ORADATA\BENDI\UNDOTBS01.DBF     ONLINE
C:\ORACLE\PRODUCT\10.2.0\ORADATA\BENDI\SYSTEM01.DBF      SYSTEM
C:\ORACLE\PRODUCT\10.2.0\ORADATA\BENDI\TEST01.DBF        ONLINE
C:\ORACLE\PRODUCT\10.2.0\ORADATA\BENDI\UNTDOTBS01.DBF    ONLINE
C:\ORACLE\PRODUCT\10.2.0\ORADATA\BENDI\TESTCK.DBF        RECOVER
 
7 rows selected
 
SQL> drop tablespace testck;
 
drop tablespace testck
 
ORA-01549: tablespace not empty, use INCLUDING CONTENTS option
 
SQL> drop tablespace testck including contents and datafiles;
 
Tablespace dropped
 
SQL> select * from dba_data_files;
 
FILE_NAME                                                ONLINE_STATUS
-------------------------------------------------------- -------------
C:\ORACLE\PRODUCT\10.2.0\ORADATA\BENDI\USERS01.DBF       ONLINE
C:\ORACLE\PRODUCT\10.2.0\ORADATA\BENDI\SYSAUX01.DBF      ONLINE
C:\ORACLE\PRODUCT\10.2.0\ORADATA\BENDI\UNDOTBS01.DBF     ONLINE
C:\ORACLE\PRODUCT\10.2.0\ORADATA\BENDI\SYSTEM01.DBF      SYSTEM
C:\ORACLE\PRODUCT\10.2.0\ORADATA\BENDI\TEST01.DBF        ONLINE
C:\ORACLE\PRODUCT\10.2.0\ORADATA\BENDI\UNTDOTBS01.DBF    ONLINE
 
6 rows selected

我删除了表空间后,REPORT OBSOLETE可以正常删除过期的归档和归档备份集。


当然也有MOS文章说还有一种可能的情况就是BUG。
Bug 12412131 - Archivelog backups are not being deleted by 'DELETE OBSOLETE' (文档 ID 12412131.8)

 

 

 

 

 

 


 

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1月前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的控制文件与归档日志文件
本文介绍了Oracle数据库中的控制文件和归档日志文件。控制文件记录了数据库的物理结构信息,如数据库名、数据文件和联机日志文件的位置等。为了保护数据库,通常会进行控制文件的多路复用。归档日志文件是联机重做日志文件的副本,用于记录数据库的变更历史。文章还提供了相关SQL语句,帮助查看和设置数据库的日志模式。
【赵渝强老师】Oracle的控制文件与归档日志文件
|
6月前
|
存储 SQL 关系型数据库
|
4月前
|
SQL Oracle NoSQL
实时计算 Flink版操作报错合集之报错“找不到对应的归档日志文件”,怎么处理
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
4月前
|
SQL Oracle 关系型数据库
"揭秘!一键解锁Oracle日志清理魔法,让海量归档日志无处遁形,守护数据库健康,告别磁盘空间告急噩梦!"
【8月更文挑战第9天】随着Oracle数据库在企业应用中的普及,归档日志管理对保持数据库健康至关重要。归档日志记录所有更改,对数据恢复极为重要,但也可能迅速占用大量磁盘空间影响性能。利用Oracle提供的RMAN工具,可通过编写Shell脚本来自动清理归档日志。脚本包括设置环境变量、连接数据库、检查和删除指定时间前的日志,并记录执行情况。通过Cron作业定时运行脚本,可有效管理日志文件,确保数据库稳定运行。
118 7
|
4月前
|
数据库 Java 监控
Struts 2 日志管理化身神秘魔法师,洞察应用运行乾坤,演绎奇幻篇章!
【8月更文挑战第31天】在软件开发中,了解应用运行状况至关重要。日志管理作为 Struts 2 应用的关键组件,记录着每个动作和决策,如同监控摄像头,帮助我们迅速定位问题、分析性能和使用情况,为优化提供依据。Struts 2 支持多种日志框架(如 Log4j、Logback),便于配置日志级别、格式和输出位置。通过在 Action 类中添加日志记录,我们能在开发过程中获取详细信息,及时发现并解决问题。合理配置日志不仅有助于调试,还能分析用户行为,提升应用性能和稳定性。
61 0
|
4月前
|
SQL 安全 测试技术
【数据守护者必备】SQL数据备份与恢复策略全解析:从全量到日志备份,手把手教你确保企业信息万无一失的实战技巧!
【8月更文挑战第31天】数据库是企业核心业务数据的基石,为防止硬件故障、软件错误或人为失误导致的数据丢失,制定可靠的备份与恢复策略至关重要。本文通过一个在线购物平台的案例,详细介绍了使用 SQL Server 进行全量备份、差异备份及事务日志备份的方法,并演示了如何利用 SQL Server Agent 实现自动化备份任务。此外,还提供了数据恢复的具体步骤和测试建议,确保数据安全与业务连续性。
205 0
|
5月前
|
存储 SQL Oracle
关系型数据库Oracle归档日志备份
【7月更文挑战第19天】
76 5
|
1月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
271 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
6天前
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
|
2月前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
301 3