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

连接数据库进去提示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_used)*2/100 from v$flash_recovery_area_usage;--显示使用2.9个G(闪回恢复区的大小是2G)

使用RMAN
list copy;--显示这2条归档日志记录
使用delete archivelog all;--删除控制文件中的归档日志记录

删除之后,
select * from V$FLASH_RECOVERY_AREA_USAGE;--显示使用率为0
select sum(percent_space_used)*2/100 from v$flash_recovery_area_usage;--显示使用为0

select * from v$log;--发现每个日志的大小是1个G,汗...
怪不得,两个日志一归档就把闪回恢复区给塞满了
由于是测试库,且有每日逻辑备份,在mount模式下,把归档关闭:alter database noarchivelog;

修改每个日志文件的大小是100M
alter database add logfile group 4 'D:\DB_ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO04.LOG' size 100M;
alter database add logfile group 5 'D:\DB_ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO05.LOG' size 100M;
alter database add logfile group 6 'D:\DB_ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO06.LOG' size 100M;
切换日志使得1、2、3组不成为当前组
alter database drop logfile group 1;
alter database drop logfile group 2;
alter database drop logfile group 3;

总结:物理删除归档日志,由于控制文件上还记录着相关信息,空间没有释放,需要在RMAN中删除归档日志,才算真正地删除

时间: 2024-09-14 05:22:37

归档日志物理删除后闪回恢复区空间未释放的相关文章

浅谈ORACLE 10G 闪回恢复区

oracle|恢复   何为闪回恢复区 Oracle 10g 有一项新功能称为:自动的基于磁盘的备份与恢复( Automatic Disk-Based Backup and Recovery ).实现该功能的基础为本文要讲述的闪回恢复区( Flash Recovery Area ).闪回恢复区是 Oracle 10g 中的新事物.简单的说,闪回恢复区是一块用以存储恢复相关的文件的存储空间.允许用户集中存储所有恢复相关的文件.   闪回恢复区可以放在如下几种存储形式上: l         目录

oracle10g新特性:闪回恢复区(Flash recovery area)

1.设置闪回恢复区 闪回恢复区主要通过3个初始化参数来设置和管理: · db_recovery_file_dest:指定闪回恢复区的位置. · db_recovery_file_dest_size:指定闪回恢复区的可用空间大小. · db_flashback_retention_target:指定数据库可以回退的时间,单位为分钟,默认1440分钟,也就是一天.当然,实际上可回退的时间还决定于闪回恢复区的大小,因为里面保存了回退所需要的flash log.所以这个参数要和db_recovery_f

10g关闭归档/启用闪回恢复区归档

一.关闭归档 1.启动SQL*PLUS以管理身份登录Oracle数据库: SQL> connect / as sysdba 2.关闭数据库实例 SQL> shutdown immediate 3.备份数据库:在对数据库做出任何重要的改变之前,建议备份数据库以免出现任何问题. 4.启动一个新的实例并装载数据库,但不打开数据库: SQL> startup mount 5.禁止自动存档 SQL> alter system archive log stop; 6.禁止存档联机重做日志:转换

Oracle的闪回恢复区详解

1.什么是闪回恢复区? Oracle 10g 有一项新功能称为:自动的基于磁盘的备份与恢复( Automatic Disk-Based Backup and Recovery ).实现该功能的基础为本文要讲述的闪回恢复区( Flash Recovery Area ).闪回恢复区是 Oracle 10g 中的新事物.简单的说,闪回恢复区是一块用以存储恢复相关的文件的存储空间.允许用户集中存储所有恢复相关的文件. 闪回恢复区可以放在如下几种存储形式上: (1)目录 (2)一个文件系统 (3)自动存储

如何彻底的删除Oracle表 及 闪回恢复在回收站里的数据

当一个表被删除时,它并不是真正的被删除了,而只是放在回收站里(recyclebin)了,当然只要表还在回收站里,它就可以被重新恢复,这也就是"闪回"技术的基本原理.需要说明的是,oracle并不提供100%的闪回,因为当用户在某个表空间里创建一个新表时或需要磁盘空间时,oracle首先使用空闲的磁盘空间,当没有足够的磁盘空间时,oracle会使用回收站的磁盘空间. 2 删除表 test 3 查看 回收站 SQL> show recyclebinORIGINAL NAME    R

闪回的用途与实战(闪回表,闪回删除,闪回重名删除,闪回版本查询)

闪回可以做的操作有如下几种类型:1.当数据错误删除,并且提交时(flashback table)2.当错误删除了一张表drop table(flashback drop)3.通过闪回获取表的历史记录(flashback version query)4.当错误地执行了一个事务,并且提交了(flashback transaction query)5.将整个数据库进行恢复. 使用闪回条件:1.切换到管理员上. 假设开始登录的用户名和密码是MISPS 如果是连接远程的,连接sqlplus的方式是: sq

Data Guard高级玩法:通过闪回恢复failover备库

    今天看到有一个网友提了一个问题,描述很简短     测试DG时,主库不能宕机,如何测试failover?     其实这个需求从业务层面来说是合理的,一个数据量很大的核心数据库,如果需要做灾难演练,就希望在备库上做一下演练工作,而这个演练其实又不想影响到目前的主库,而且又希望能够尽可能模拟真实的情况,我想这样对于运维部门来说是最具有考核力度,而对于开发业务部门来说是最受欢迎的,因为他们什么都不需要改动. 而从技术角度来看,似乎有一些地方需要考量,如果备库Failover为主库,那么这个主

FoxMail邮件删除后2种恢复方法

FoxMail是国人用得比较多的一种电子邮件软件,其方便快捷的操作深得用户的喜爱.其中删除邮件的操作有两种方法,一种是按"DELETE"键将邮件移至废件箱,另一种是按"SHIFT+DELETE"键直接将邮件清除,用起来十分方便.但凡事有利又有弊,如果因为不小心删除了邮件该怎么办呢? 原因分析:删除邮件的操作有两种方法,一种是按"DELETE"键将邮件移至废件箱,另一种是按"SHIFT+DELETE"键直接将邮件清除.这两种删除

如何在多租户环境下使用数据库的闪回功能

编辑手记:对于数据库的闪回功能,可能大家都不陌生,那么如何在多租户环境下使用该功能,如果关闭了表空间的闪回功能,会给数据库带来哪些影响?我们一起来学习. 本文来自周四大讲堂内容整理. 我们先说一下Flashback这个单词,我们大家常称它为闪回,可能有的人称它为回闪.Flashback 是oracle 9i 版本开始提供的一项特性,利用oracle查询多版本一致的特点,实现从回滚段中读取一定的时间内在表中操作过的数据. Flashback Database是Oracle10g的新增功能,在启动F