Flash Recovery Area空间不足导致DB不能打开或hang住处理方法

当归档目录设置在闪回恢复区,并且闪回恢复区又满了的情况下, DB 就会无法归档而hang住或者无法打开。

这种情况下打开数据库会遇到如下错误信息:

SQL> select status from v$instance;

STATUS

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

MOUNTED

SQL> alter database open;

alter database open

*

第 1 行出现错误:

ORA-16014: 日志 2 的序列号 27 未归档, 没有可用的目的地

ORA-00312: 联机日志 2 线程 1:

‘D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/REDO02.LOG‘

SQL> show parameter db_recovery_file

NAME                                 TYPE        VALUE

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

db_recovery_file_dest    string      D:/oracle/product/10.2.0/flash_recovery_area

db_recovery_file_dest_size        big integer 2G

SQL> alter system archive log current;

alter system archive log current

*

第 1 行出现错误:

ORA-01109: 数据库未打开

SQL> alter system switch logfile;

alter system switch logfile

*

第 1 行出现错误:

ORA-01109: 数据库未打开

SQL> shutdown immediate;

ORA-01109: 数据库未打开

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startup

ORACLE 例程已经启动。

Total System Global Area  201326592 bytes

Fixed Size                  1248092 bytes

Variable Size              88081572 bytes

Database Buffers          109051904 bytes

Redo Buffers                2945024 bytes

数据库装载完毕。

ORA-16038: 日志 2 序列号 27 无法归档

ORA-19809: 超出了恢复文件数的限制

ORA-00312: 联机日志 2 线程 1:

‘D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/REDO02.LOG‘

SQL> alter database open;

alter database open

*

第 1 行出现错误:

ORA-16014: 日志 2 的序列号 27 未归档, 没有可用的目的地

ORA-00312: 联机日志 2 线程 1:

‘D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/REDO02.LOG‘

通过增加闪回恢复区大小,我们可以正常打开数据库

SQL> show parameter db_recovery

NAME                                 TYPE        VALUE

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

db_recovery_file_dest                string      D:/oracle/product/10.2.0/flash_recovery_area

db_recovery_file_dest_size           big integer 2G

SQL> alter system set db_recovery_file_dest_size=3G scope=both;

系统已更改。

SQL> alter database open;

数据库已更改。

检查一下flash recovery area的使用情况:

SQL> select * from v$flash_recovery_area_usage;

FILE_TYPE    PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES

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

CONTROLFILE          0                         0               0

ONLINELOG           0                         0               0

ARCHIVELOG        6.36                         0               4

BACKUPPIECE       .22                         0               1

IMAGECOPY        63.68                         0               5

FLASHBACKLOG     .51                       .25               2

已选择6行。

SQL>

计算flash recovery area已经占用的空间:

SQL> select sum(percent_space_used)*3/100 from v$flash_recovery_area_usage;

SUM(PERCENT_SPACE_USED)*3/100

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

2.1231

可以看到,这里已经有2.1231G使用了,这说明我们刚开始设置的db_recovery_file_dest_size=2G不足,导致online redo log无法归档,在这里,我们通过设置db_recovery_file_dest_size参数,增大了flash recovery area来解决这个问题。

增加Flash recovery area 是一种解决方法,也可以将归档指定到其他的目录来解决这个问题。 或者备份数据库,在删除一些归档文件,来释放Flash recovery area。 都可以解决问题。

《FROM:http://blog.csdn.net/tianlesoftware/article/details/4677378》

时间: 2024-11-09 02:37:17

Flash Recovery Area空间不足导致DB不能打开或hang住处理方法的相关文章

Flash Recovery Area

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

oracle之Flash Recovery Area全面介绍 (转载)

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

Oracle的FRA(Flash Recovery Area)的好处

如果FRA的空间耗尽,只会影响到这个Oracle实例自身.所以不会耗尽所有磁盘空间从而影响到其它的数据库实例或其它应用. Oracle的FRA(Flash Recovery Area)的好处,布布扣,bubuko.com

Flash Recovery Area 的备份

Flash Recovery Area 的备份 备份命令是Flash recovery Area,该命令是Oracle 10g以后才有的.10g引进了flash recovery area,同时在rman备份中支持对该区域的备份. 在9i中oracle引入flashback查询,依赖于undo表空间存储的信息来闪回查询以前的版本,当然这个受限于undo表空间的大小,以及保留策略. 在10g中oracle又引入了新的flashback功能,使用了flash recovery area来存储flas

改变 Flash Recovery Area (FRA)到一个新路径的方法

改变 Flash Recovery Area (FRA)到一个新路径的方法. 来源于: How to change Flash Recovery Area to a new location ? (文档 ID 305651.1) 目标: 本文描述了改变FRA目的地的方法和从老的FRA中move file到新FRA的方法 解决方案: 如果你需要改变你的FRA到新的路径,需要从sqlplus里边改变DB_RECOVERY_FILE_DEST初始化参数: SQL> ALTER SYSTEM SET D

Flashback Recovery Area的设置与取消

在Oracle 10g中, Flash back家族分为以下成员: Flashback Database, Flashback Drop,Flashback Query(分Flashback Query,Flashback Version Query, Flashback Transaction Query 三种) 和Flashback Table. Flash recovery area 包含内容:控制文件,归档文件,flashback logs, 控制文件,自动备份的控制文件,数据文件,数据

硬盘空间满导致mysql ibd文件被删后提示Tablespace is missing for table 'db_rsk/XXX"

昨天一早,开发人员反馈说一个测试环境报Tablespace is missing for table 'db_rsk/XXX",周末刚升级过,特地让开发回去查了下,说脚本中肯定没有drop table的操作.datadir下检查了下,发现frm文件在的ibd文件没有了,bing了下,没发现类似异常.于是先回到mysql.err往回搜索,半天后发现上周五下午mysql出现了一次异常宕机,说是磁盘空间不足了,看日志该文件被损坏了,如下: 2016-11-12 11:31:00 28443 [ERRO

oracle 11g 手动删除表空间文件导致数据库报错处理方法

简单说下原因:当时图方便没进数据库,直接在datafile目录下删除了表空间对应的数据文件 导致后来数据库报错,并且不能删除表空间 错误如下:ORA-01116:error in opening database ****ORA-01110:data file 54:'/home3/datafile/arrange/NewArrange.dbf'ORA-27041:unable to open fileLinux Error:2: No Such file or directoryAdditio

橙色预警:索引空间泄露导致业务中断

写在案例分享前 承蒙大家的喜爱,我们会一直做下去! 也希望喜欢技术人生系列的朋友们,顺手帮转发一下,您的转发是我们持续分享的动力. 记得端午节和兄弟们喝酒时,有朋友说,"要不,你们成立一个用户组吧,这样更多的朋友可以以一个公益的形式加入到分享的队伍中,也可以从线上分享发展到线下分享,并且可以到各个城市中去做实战分享,让大家可以面对面的交流"; 说的有道理,于是乎,有了CESOUG,即China Experience Sharing Oracle User Group,中文名为中国经验分