解决delete archivelog all无法彻底删除归档日志的问题

最近在因归档日志暴增,使用delete archivelog all貌似无法清除所有的归档日志,到底是什么原因呢?

1、演示环境

SQL> select * from v$version where rownum<2;

BANNER

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

Oracle Database 10g Release 10.2.0.3.0 - 64bit Production

SQL> select inst_id,instance_name from gv$instance; -->两节点RAC

INST_ID INSTANCE_NAME

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

1 GOBO4A

2 GOBO4B

SQL> show parameter db_recovery   -->+REV,使用了ASM 存储方式

NAME                                 TYPE        VALUE

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

db_recovery_file_dest                string      +REV

db_recovery_file_dest_size           big integer 1G  

SQL> select flashback_on from v$database;  -->数据库未开启闪回特性,也就是说尽管指定了闪回区,未启用闪回特性

                                  -->相应的,归档日志充满整个闪回区时,闪回区空间并不会被重用

FLASHBACK_ON

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

NO

2、查看及清除现有的归档日志文件  

oracle@bo2dbp:~> export ORACLE_SID=+ASM1

oracle@bo2dbp:~> asmcmd

ASMCMD> cd +REV/GOBO4/ARCHIVELOG

ASMCMD> ls

2012_10_08/

....

arch_795194241_1_10.arc

arch_795194241_1_100.arc

....

oracle@bo2dbp:~> export ORACLE_SID=GOBO4A

oracle@bo2dbp:~> rman target /

Recovery Manager: Release 10.2.0.3.0 - Production on Thu Nov 29 16:23:15 2012

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

connected to target database: GOBO4 (DBID=921286879)

#下面通过使用rman backup archivelog方式来删除所有的归档日志文件

RMAN> backup format '/install_source/rman_bak/arch_%d_%U'

2> archivelog all delete input;

Starting backup at 29-NOV-12

current log archived

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=1058 instance=GOBO4A devtype=DISK

channel ORA_DISK_1: starting archive log backupset

channel ORA_DISK_1: specifying archive log(s) in backup set

input archive log thread=1 sequence=139 recid=214 stamp=797450261

input archive log thread=1 sequence=140 recid=215 stamp=797450292

input archive log thread=1 sequence=141 recid=216 stamp=797450308

input archive log thread=1 sequence=142 recid=218 stamp=797450347

input archive log thread=1 sequence=143 recid=219 stamp=797450372

input archive log thread=1 sequence=144 recid=220 stamp=797450409

channel ORA_DISK_1: starting piece 1 at 29-NOV-12

channel ORA_DISK_1: finished piece 1 at 29-NOV-12

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/Oracle/

时间: 2024-08-01 14:06:08

解决delete archivelog all无法彻底删除归档日志的问题的相关文章

delete archivelog all 无法彻底删除归档日志?

    最近在因归档日志暴增,使用delete archivelog all貌似无法清除所有的归档日志,到底是什么原因呢? 1.演示环境 SQL> select * from v$version where rownum<2; BANNER ---------------------------------------------------------------- Oracle Database 10g Release 10.2.0.3.0 - 64bit Production SQL&g

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

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

【Oracle】 rman 删除归档日志的命令

   因为数据仓库上asm的磁盘空间不足,需要删除早期的归档日志,查看资料有以下两种方式: delete archivelog until time 'sysdate-N'; delete archivelog all completed before 'sysdate-N'; 这两个命令的差别在哪里呢? 使用list 命令来查看一下究竟... RMAN>  list archivelog until time 'sysdate-1'; using target database control

Linux怎么自动删除归档日志文件?Linux自动删除归档日志文件的教程

1.日志删除策略 自动删除7天前的归档日志与备份文件. 2.调度计划 0 0 * * * nohup sh /db2backup/script/auto_rm_logs.sh & 3.日志删除脚本 auto_rm_logs.sh #!/bin/sh #------------------------------------- # rm db2 archive log file and *.tgz files @hury # create @2016-12-13 # script name:aut

Oracle RMAN 清除归档日志

      在开发环境及UAT环境经常碰到需要清除归档日志的情形,对于这个问题方法有很多.可以直接使用rm方式清除归档日志,也可以使用find命令来查找符合条件的记录来清除归档日志,或者直接写个shell脚本来搞定.这样在DEV或者UAT还可以,但是在Prod环境还是建议使用RMAN提供的命令来搞定比较妥当.因为rm,find方式删除了实际的归档日志也释放了空间,但对应的存储在控制文件中的归档信息并没有彻底清除.依旧占用着一些空间未能及时清除而需要控制文件通过age out方式来释放空间.本文描

delete archivelog all无法清除归档日志解决方法_oracle

最近在因归档日志暴增,使用delete archivelog all貌似无法清除所有的归档日志,到底是什么原因呢? 1.演示环境 复制代码 代码如下: SQL> select * from v$version where rownum<2; BANNER ---------------------------------------------------------------- Oracle Database 10g Release 10.2.0.3.0 - 64bit Productio

ORA-00257错误:归档日志所在磁盘空间使用100%出错解决

现象: 正在进行DML操作时,操作一直无法完成.退出SQLPLUS时一直无响应--卡着不动无法正常退出. 登陆数据库所在主机,使用SQLPLUS登陆DBA用户时,提示归档出错. [oracle@oel-01 ~]$ sqlplus bys/bys SQL*Plus: Release 11.2.0.1.0 Production on Sun Jul 21 17:55:09 2013 Copyright (c) 1982, 2009, Oracle.  All rights reserved. ER

rman 还原归档日志(restore archivelog)

     听说过还原(restore)数据库,表空间及数据库文件,使用归档日志恢复(recover)数据库,表空间,数据库文件.咦,还有还原归档日志这一说法呢?没错,可能我们忽略了还原归档日志这一个过程,原因是还原归档日志通常情况下是oracle在recover时自动完成的.大多数情况下我们是先还原数据库,恢复数据库,打开数据库.实际上在恢复数据库之前有一个动作,那就是还原归档日志,也就是将日志文件还原到缺省的归档位置,如果我们在备份归档日志时使用了delete [all] input子句的话.

归档日志物理删除后闪回恢复区空间未释放

连接数据库进去提示ora-00257:archiver error.Connect internal only,until freed. 登录服务器,操作系统验证,登录好久登录不进去 无奈,把oracle服务重启了下,终于登录进去了 查询v$archived_log 里面有2条归档日志记录,但是在磁盘上怎么找都找不到 select * from V$FLASH_RECOVERY_AREA_USAGE;--显示归档日志占用闪回恢复区有98% select sum(percent_space_use