怎样清除v$archived_log视图中的过期信息

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:       在使用RMAN命令删除归档后,查询v$archived_log视图会发现name列为空了,但其他列的信息还保留,时间长了会留下很多过期的信息,影响维护工作,需要将过期的信息删除。
      在使用RMAN命令删除归档后,查询v$archived_log视图会发现name列为空了,但其他列的信息还保留,时间长了会留下很多过期的信息,影响维护工作,需要将过期的信息删除。首先模拟下问题的出现过程:

  1. --删除归档日志之前查看v$archived_log视图,情况正常
  2. SQL> select dest_id,sequence#,name,blocks from v$archived_log;

  3.    DEST_ID SEQUENCE#                    NAME                         BLOCKS
  4. ---------- ---------- --------------------------------------------- ----------
  5.      1     101          /oradata/archive/orcl_1_101_851966182.arc      2730
  6.      1     102          /oradata/archive/orcl_1_102_851966182.arc      95711
  7.      1     103          /oradata/archive/orcl_1_103_851966182.arc      94813
  8.      1     104          /oradata/archive/orcl_1_104_851966182.arc      95048
  9.      1     105          /oradata/archive/orcl_1_105_851966182.arc      94677
  10.      1     106          /oradata/archive/orcl_1_106_851966182.arc      97494
  11.      1     107          /oradata/archive/orcl_1_107_851966182.arc      94300
  12.      1     108          /oradata/archive/orcl_1_108_851966182.arc      97494
  13.     
  14. --使用RAMN命令删除归档
  15. RMAN> delete archivelog all;

  16. --再次查询v$archived_log视图,name列为空
  17. SQL> select dest_id,sequence#,name,blocks from v$archived_log;

  18.    DEST_ID SEQUENCE#                    NAME                         BLOCKS
  19. ---------- ---------- --------------------------------------------- ----------
  20.      1     101                                                        2730
  21.      1     102                                                        95711
  22.      1     103                                                        94813
  23.      1     104                                                        95048
  24.      1     105                                                        94677
  25.      1     106                                                        97494
  26.      1     107                                                        94300
  27.      1     108                                                        97494
      出现这样的现象是因为使用RMAN命令在删除归档日志的时候不能够清楚控制文件中的内容,导致v$archived_log留下的过期的不完整信息。下面将归档信息进行清除:

  1. --清除控制文件中关于v$archived_log的信息
  2. SQL> execute sys.dbms_backup_restore.resetCfileSection(11);

  3. PL/SQL procedure successfully completed.

  4. --再次查询v$archived_log,信息已经被清除
  5. SQL> select dest_id,sequence#,name,blocks from v$archived_log;

  6. no rows selected
      但是这样是把所有的v$archive_log信息都清除了,包括未过期的也会不清除。下面再将未过期的归档文件信息注册进来。

  1. --我测试环境上归档日志都在/oradata/archive/中
  2. RMAN> catalog start with '/oradata/archive/';

  3. --再次查询v$archived_log,未被删除的归档信息可以查询到了
  4. SQL> select dest_id,sequence#,name,blocks from v$archived_log;

  5.    DEST_ID SEQUENCE#                     NAME                        BLOCKS
  6. ---------- ---------- --------------------------------------------- ----------
  7.      1     110           /oradata/archive/orcl_1_110_851966182.arc      1
  8.      1     111           /oradata/archive/orcl_1_111_851966182.arc      2
  9.      1     109           /oradata/archive/orcl_1_109_851966182.arc      31079






相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
2月前
|
SQL 监控 Java
在IDEA 、springboot中使用切面aop实现日志信息的记录到数据库
这篇文章介绍了如何在IDEA和Spring Boot中使用AOP技术实现日志信息的记录到数据库的详细步骤和代码示例。
在IDEA 、springboot中使用切面aop实现日志信息的记录到数据库
|
23天前
|
Java
日志框架log4j打印异常堆栈信息携带traceId,方便接口异常排查
日常项目运行日志,异常栈打印是不带traceId,导致排查问题查找异常栈很麻烦。
|
2月前
|
Kubernetes 数据安全/隐私保护 容器
【Azure APIM】APIM Self-Hosted网关中,添加网关日志以记录请求头信息(Request Header / Response Header)
【Azure APIM】APIM Self-Hosted网关中,添加网关日志以记录请求头信息(Request Header / Response Header)
|
2月前
|
Go 开发者
【应用服务 App Service】App Service发生错误请求时,如何查看IIS Freb日志,从中得知错误所发生的模块,请求中所携带的Header信息
【应用服务 App Service】App Service发生错误请求时,如何查看IIS Freb日志,从中得知错误所发生的模块,请求中所携带的Header信息
|
2月前
|
监控 安全 Linux
在Linux中,某个账号登陆linux后,系统会在哪些日志文件中记录相关信息?
在Linux中,某个账号登陆linux后,系统会在哪些日志文件中记录相关信息?
|
2月前
|
数据挖掘 语音技术
3D-Speaker说话人任务的开源项目问题之语义说话人信息模块在说话人日志系统中的问题如何解决
3D-Speaker说话人任务的开源项目问题之语义说话人信息模块在说话人日志系统中的问题如何解决
|
2月前
|
存储 Kubernetes 监控
在Docker中,很多应用容器都是默认后台运行的,怎么查看它们的输出和日志信息?
在Docker中,很多应用容器都是默认后台运行的,怎么查看它们的输出和日志信息?
|
2月前
|
XML Java Maven
logback在springBoot项目中的使用 springboot中使用日志进行持久化保存日志信息
这篇文章详细介绍了如何在Spring Boot项目中使用logback进行日志记录,包括Maven依赖配置、logback配置文件的编写,以及实现的日志持久化和控制台输出效果。
logback在springBoot项目中的使用 springboot中使用日志进行持久化保存日志信息
|
2月前
|
API
【Azure 服务总线】查看Service Bus中消息多次发送的日志信息,消息是否被重复消费
【Azure 服务总线】查看Service Bus中消息多次发送的日志信息,消息是否被重复消费
|
2月前
|
存储 API C#
【Azure API 管理】在APIM 中添加 log-to-eventhub 策略,把 Request Body 信息全部记录在Event Hub中
【Azure API 管理】在APIM 中添加 log-to-eventhub 策略,把 Request Body 信息全部记录在Event Hub中
下一篇
无影云桌面