实验环境:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod

实验背景:向tough.t中插入40万条记录,然后rollback,接着执行了shutdown abort命令。当重新启动数据库的时候遇到以下问题。

SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-16038: 日志 1 序列号 14 无法归档
ORA-19809: 超出了恢复文件数的限制
ORA-00312: 联机日志 1 线程 1:
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA11G\REDO01.LOG'

解决步骤:

从提示信息大概可以看出问题出在归档上,我们首先看一下trace文件。
C:\oracle\product\10.2.0\admin\ora11g\udump\ora11g_ora_4480.trc是最新trace文件,下面是部份文件内容:

************************************************************************
************************************************************************
*** 2014-04-06 15:17:54.943
*** SERVICE NAME:() 2014-04-06 15:17:54.943
*** SESSION ID:(155.481) 2014-04-06 15:17:54.943
ORA-19815: 警告: db_recovery_file_dest_size 字节 (共 1073741824 字节) 已使用 100.00%, 尚有 0 字节可用。
*** 2014-04-06 15:17:54.943
************************************************************************
You have following choices to free up space from flash recovery area:
1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,
   then consider changing RMAN ARCHIVELOG DELETION POLICY.
2. Back up files to tertiary device such as tape using RMAN
   BACKUP RECOVERY AREA command.
3. Add disk space and increase db_recovery_file_dest_size parameter to
   reflect the new space.
4. Delete unnecessary files using RMAN DELETE command. If an operating
   system command was used to delete files, then use RMAN CROSSCHECK and
   DELETE EXPIRED commands.
************************************************************************
ORA-19809: 超出了恢复文件数的限制
ORA-19804: 无法回收 47715840 字节磁盘空间 (从 1073741824 限制中)
*** 2014-04-06 15:17:54.959 60680 kcrr.c
ARCH: Error 19809 Creating archive log file to 'C:\ORA\FLASH_RECOVERY_AREA\ORA11G\ARCHIVELOG\2014_04_06\O1_MF_1_14_%U_.ARC'
*** 2014-04-06 15:17:54.959 58942 kcrr.c
kcrrfail: dest:10 err:19809 force:0 blast:1
*** 2014-04-06 15:22:06.428
ORA-19815: 警告: db_recovery_file_dest_size 字节 (共 1073741824 字节) 已使用 99.34%, 尚有 7127040 字节可用。
*** 2014-04-06 15:22:06.428
************************************************************************
************************************************************************

从trace文件我们很容易发现问题出在db_recovery_file_dest_size上(db_recovery_file_dest_size 字节 (共 1073741824 字节) 已使用 100.00%, 尚有 0 字节可用。),并且trace文件中提供了相关的解决思路。我们也可以查看v$recovery_file_dest发现这个问题。

SQL> select * from v$recovery_file_dest;

NAME                           SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES
------------------------------ ----------- ---------- ----------------- ---------------
C:\ora\flash_recovery_area      1073741824 1071208960           7127040              40

SQL> show parameter db_recovery_file_dest

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string      C:\ora\flash_recovery_area
db_recovery_file_dest_size           big integer 1G

现目前db_recovery_file_dest_size是1G,我们把它设置大一点,设置成2G。

SQL> alter system set db_recovery_file_dest_size=2G;

系统已更改。

重试后发现一切OK!
SQL> alter database open;

数据库已更改。


ORA-19809: 超出了恢复文件数的限制的更多相关文章

  1. linux文件数相关命令

    查看系统目前打开的文件数命令#cat /proc/slabinfo | grep ip_conn | grep -v ip_conntrack_expect | awk '{print $2}' 查看 ...

  2. 【日常小记】统计后缀名为.cc、.c、.h的文件数【转】

    转自:http://www.cnblogs.com/skynet/archive/2011/03/29/1998970.html 在项目开发时,有时候想知道源码文件中有多少后缀名为.cc..c..h的 ...

  3. 查看ubuntu文件目录的大小和文件夹包含的文件数 zT

    查看ubuntu文件目录的大小和文件夹包含的文件数 查看linux文件目录的大小和文件夹包含的文件数 统计总数大小 du -sh xmldb/ du -sm * | sort -n //统计当前目录大 ...

  4. linux下最大文件数

    系统级:系统级设置对所有用户有效.可通过两种方式查看系统最大文件限制1 cat /proc/sys/fs/file-max 2 sysctl -a 查看结果中fs.file-max这项的配置数量如果需 ...

  5. linux查看端口是否已开启和查看文件数

    查看端口是否开启 lsof -i:80 查看文件数 ls | wc -w

  6. Linux下查看某个进程打开的文件数-losf工具常用参数介绍

    Linux下查看某个进程打开的文件数-losf工具常用参数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在linux操作系统中,一切皆文件.通过文件不仅仅可以访问常规数据,还 ...

  7. Hive:解决Hive创建文件数过多的问题

    今天将临时表里面的数据按照天分区插入到线上的表中去,出现了Hive创建的文件数大于100000个的情况,我的SQL如下: hive> insert overwrite table test pa ...

  8. Atitit.Guibutton与面板---项目规模的评估----文件数统计,结构,代码行数,每类型文件行数.

    Atitit.Guibutton与面板---项目规模的评估----文件数统计,结构,代码行数,每类型文件行数. 1. Kpi:::  代码行数(凝视行数,空白的行数), 方法数,class数 1 2. ...

  9. inux下进程的最大线程数、进程最大数、进程打开的文件数

    inux下进程的最大线程数.进程最大数.进程打开的文件数 2008-12-07 23:48 =========================    如下转载自这里. linux 系统中单个进程的最大 ...

随机推荐

  1. 基于BaseHTTPServer的简单存储服务器

    服务器代码: from BaseHTTPServer import BaseHTTPRequestHandler from BaseHTTPServer import HTTPServer impor ...

  2. FTP服务详解

    FTP服务 本章机构 简介 File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文件传输协议".用于Internet上的控制文件的双向传输.同时, ...

  3. [未完成]WebService学习第一天学习笔记

    [未完成]WebService学习第一天学习笔记[未完成]WebService学习第一天学习笔记

  4. 【数学,方差运用,暴力求解】hdu-5037 Galaxy (2014鞍山现场)

    话说这题读起来真费劲啊,估计很多人做不出来就是因为题读不懂...... 从题目中提取的几点关键点: 题目背景就是银河系(Rho Galaxy)中的星球都是绕着他们的质心(center of mass) ...

  5. MySqlDataReader在Using中使用

    结论:当DataReader放在Using方法中时,会自动释放资源,如果中途出现了异常处理,也同样会释放掉占用的资源.测试过程:这里由于没有将全部分过程记录下来,只是对结果大体的说明一下,有兴趣的童鞋 ...

  6. Slickflow.NET 开源工作流引擎基础介绍(一) -- 引擎基本服务接口API介绍

    1. 工作流术语图示                                              图1 流程图形的BPMN图形元素表示 1) 流程模型定义说明流程(Process):是企 ...

  7. Messenger实现Android IPC

    当Service不需要支持并发操作时Messenger会非常有用.Messenger类使用Handler执行每个传入的消息,所有客户端的调用都按顺序运行在同一个线程上,这和AIDL是有区别的,AIDL ...

  8. Android代码内存优化建议-OnTrimMemory优化

    原文  http://androidperformance.com/2015/07/20/Android代码内存优化建议-OnTrimMemory优化/ OnTrimMemory 回调是 Androi ...

  9. Android获取屏幕宽度的4种方法

    方法一: WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE); int width = w ...

  10. kettle 表输入+流查询 与 数据库查询

    他们的主要区别: •流查询步骤只能进行等值查询,数据库查询步骤可以进行非等值查询 •流查询在查询之前把数据都加载到内存里,数据库查询可以选择是否把数据加载到内存. •进行等值查询时,数据库查询步骤如果 ...