【故障处理】ORA-19809错误处理

【故障处理】ORA-19809错误处理

 BLOG文档结构图

 

wpsF22A.tmp 

 

 前言部分

2.1  导读和注意事项

各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~

① ORA-19809: limit exceeded for recovery files错误的处理方法

RMAN-03009: failure of backup command on ORA_DISK_1 channel at 07/26/2016 17:35:35

ORA-19809: limit exceeded for recovery files

ORA-19804: cannot reclaim 68157440 bytes disk space from 4385144832 limit

② 闪回恢复区占用大小的查询

  Tips:

① 本文在ITpubhttp://blog.itpub.net/26736162)、博客园(http://www.cnblogs.com/lhrbest)和微信公众号(xiaomaimiaolhr)有同步更新

② 文章中用到的所有代码,相关软件,相关资料请前往小麦苗的云盘下载(http://blog.itpub.net/26736162/viewspace-1624453/

③ 若文章代码格式有错乱,推荐使用搜狗360QQ浏览器,也可以下载pdf格式的文档来查看,pdf文档下载地址:http://blog.itpub.net/26736162/viewspace-1624453/

④ 本篇BLOG中命令的输出部分需要特别关注的地方我都用灰色背景和粉红色字体来表示,比如下边的例子中,thread 1的最大归档日志号为33thread 2的最大归档日志号为43是需要特别关注的地方;而命令一般使用黄色背景和红色字体注;对代码或代码输出部分的注释一般采用蓝色字体表示

wpsF22B.tmp 

本文如有错误或不完善的地方请大家多多指正,ITPUB留言或QQ皆可,您的批评指正是我写作的最大动力。

 

 

 故障分析及解决过程

 

3.1  故障环境介绍

 

项目

source db

db 类型

RAC

db version

11.2.0.4

db 存储

ASM

OS版本及kernel版本

AIX 64位 6.1.0.0

 

3.2  故障发生现象及报错信息

rman执行0级全备的时候报错:

wpsF24C.tmp 

3.3  故障分析及解决过程

看着这个错误听陌生的,之前没有遇到过,oerr看一下解释:

wpsF25C.tmp 

oerr的解释可以看出该错误是由于闪回恢复区大小参数DB_RECOVERY_FILE_DEST设置过小导致的,下边我们来修复该错误:

wpsF27D.tmp 

 故障处理总结

ORA-19809: limit exceeded for recovery files

ORA-19804: cannot reclaim 68157440 bytes disk space from 4385144832 limit

ORA-19809错误是由于闪回恢复区设置过小导致,只需要修改参数db_recovery_file_dest_size设置为更大的值即可解决问题,要想更深入分析该问题就得分析闪回恢复区里存放了哪些内容。

 如何查看闪回恢复区大小的占用情况

wpsF27E.tmp

我们从健康检查的脚本可以看出:

wpsF27F.tmp 

点击连接可以跳转到相应的部分:

数据库闪回空间使用情况

 


● 数据库闪回空间总体使用情况

 

 


NAME

LIMIT

USED_GB

USED%

RECLAIM

NUMBER_OF_FILES

+DATA

10G

5.953G

59.531%

4.154G

144

[回到目录]


● 数据库闪回空间详细使用情况

 

 

FILE_TYPE

USED_GB

PERCENT_SPACE_USED

PERCENT_SPACE_RECLAIMABLE

RECLAIM_GB

NUMBER_OF_FILES

ARCHIVED LOG

4.185

41.85

41.46

4.146

138

BACKUP PIECE

1.619

16.19

.08

.008

3

CONTROL FILE

0

0

0

0

0

FLASHBACK LOG

0

0

0

0

0

FOREIGN ARCHIVED LOG

0

0

0

0

0

IMAGE COPY

0

0

0

0

0

REDO LOG

.149

1.49

0

0

3

Total:

5.953

59.53

41.54

4.154

144

[回到目录]

可以看出,闪回空间目前是10G,使用了将近60%,共144个文件,每种文件的占用情况参考如上的表格,可以看出主要是归档文件和备份集占用空间比较大。

有关健康检查报告中的用到的脚本如下:

闪回恢复区总大小:

SELECT NAME,                   

       round(space_limit / 1024 / 1024 / 1024, 3) "LIMIT_GB",                  

       round(space_used / 1024 / 1024 / 1024, 3) "USED_GB",                  

       round(space_used / space_limit * 100, 3) "USED%",                   

       round(space_reclaimable / 1024 / 1024 / 1024, 3) "RECLAIM_GB",                  

       number_of_files                

FROM   v$recovery_file_dest v

WHERE v.SPACE_LIMIT<>0;

闪回恢复区详细使用大小:

SELECT nvl(frau.file_type,'<font color="#990000"><b>Total:</font>') file_type,

       sum(round(frau.percent_space_used / 100 * rfd.space_limit / 1024 / 1024 / 1024,3)) USED_GB,

       sum(frau.percent_space_used) percent_space_used,

       sum(frau.percent_space_reclaimable) percent_space_reclaimable,

       sum(round(frau.percent_space_reclaimable / 100 * rfd.space_limit / 1024 / 1024 / 1024,3)) RECLAIM_GB,

       sum(frau.number_of_files) number_of_files

FROM   v$flash_recovery_area_usage frau,

       v$recovery_file_dest        rfd

GROUP  BY ROLLUP(file_type)

;

 用到的SQL集合

0级全备:backup incremental level 0 database;

oerr查看错误:oerr rman 3009  oerr ora 19809

设置闪回恢复区的大小:alter system set db_recovery_file_dest_size=10G sid='*';

------闪回恢复区总大小:

SELECT NAME,                   

       round(space_limit / 1024 / 1024 / 1024, 3) "LIMIT_GB",                  

       round(space_used / 1024 / 1024 / 1024, 3) "USED_GB",                  

       round(space_used / space_limit * 100, 3) "USED%",                   

       round(space_reclaimable / 1024 / 1024 / 1024, 3) "RECLAIM_GB",                  

       number_of_files                

FROM   v$recovery_file_dest v

WHERE v.SPACE_LIMIT<>0;

-----闪回恢复区详细使用大小:

SELECT nvl(frau.file_type,'<font color="#990000"><b>Total:</font>') file_type,

       sum(round(frau.percent_space_used / 100 * rfd.space_limit / 1024 / 1024 / 1024,3)) USED_GB,

       sum(frau.percent_space_used) percent_space_used,

       sum(frau.percent_space_reclaimable) percent_space_reclaimable,

       sum(round(frau.percent_space_reclaimable / 100 * rfd.space_limit / 1024 / 1024 / 1024,3)) RECLAIM_GB,

       sum(frau.number_of_files) number_of_files

FROM   v$flash_recovery_area_usage frau,

       v$recovery_file_dest        rfd

GROUP  BY ROLLUP(file_type)

;

  About Me

..........................................................................................................................................................................................................                        

本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用

v 本文在ITpub(http://blog.itpub.net/26736162)、博客园(http://www.cnblogs.com/lhrbest)和个人微信公众号(xiaomaimiaolhr)上有同步更新

v QQ群:230161599 微信群:私聊

v 本文地址:http://blog.itpub.net/26736162/viewspace-2122820/

v 本文pdf版:http://yunpan.cn/cdEQedhCs2kFz (提取码:ed9b)

v 小麦苗分享的其它资料:http://blog.itpub.net/26736162/viewspace-1624453/

v 联系我请加QQ好友(642808185),注明添加缘由

v 于 2016-08-01 15:00~ 2016-08-01 19:00 在中行完成

v 【版权所有,文章允许转载,但须以链接方式注明源地址,否则追究法律责任】

..........................................................................................................................................................................................................

长按识别二维码或微信客户端扫描下边的二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。

wpsF29F.tmp

 

本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。

手工搭建Data Guard - 2016-08-03 17:08:05

Data Guard的搭建可以使用GC图形化安装,优缺点很明显,优点就是图形化操作,符合国人的习惯(据secooler介绍外国程序员能用图形化做的事就一定用图形做,因为boss看得懂,和国人正相反。。。),缺点就是如同Windows一样,宛如黑盒,换句话说,要时刻祈祷不要出问题,否则有时很难知道他为什么挂了。。。 Data Guard还可以使用命令行操作,正如各位所知,图形化的任何操作背后,其实都是使用的命令。OCM第七场景考试中,我也是纠结了许久,临开始前才决定使用手工方式创建DG,怕的就是图形安装的不

mysql分区技术测试 - 2016-07-25 19:07:38

mysql是否支持partition呢,在mysql下执行show plugins;(显示插件) 其中包含了partition字段就说明你的数据库支持分区技术 1,创建带有分区的表 表明创建了带有hash分区技术的表,t2表有5个分区 mysql支持的几种分区技术,最常用的是range和list二种,Hash主要用来测试 看到test中有12张t2表,每个分区表都有表索引,检索数据更快。 把t2表创建索引 create index in_id on t2(id); 2、现在我们插入一个一千万行的数据来测试

Oracle 学习笔记 - 2016-07-25 18:07:03

1,oracle安装包下载: 官网地址:http://www.oracle.com/technetwork/indexes/downloads/index.html#database 2,安装: 在oracle官网下载安装包,以oracle 11g为例,下载下来有两个压缩包,分别是win32_11gR2_database_1of2和win32_11gR2_database_2of2,把它俩解压到同一个文件夹下,注意路径中不能出现中文符号。 3.然后双击可执行文件【setup.exe】,如图所示: 4.双击
1. Oracle11g安装 http://pan.baidu.com/s/1gfa3e63 ; 这里是我在Oracle官网下载好了Windows系统64位的安装包,有2个zip文件。不想去官网找下载地址的童鞋可以直接用这个百度云盘的下载链接。 1.去 www.oracle.com 下载最新的oracle11g安装包的压缩文件,有2个压缩文件,都需要下载,下载完成以后需要解压缩在同一个目录下。 在开始oracle数据安装之前建议 : 1.关闭本机的病毒防火墙。 2.断开互联网。 这样可以避免解压缩丢失文件

HBASE RPC 详细解析 - 2016-07-25 18:07:33

HBASE RPC 详细解析  注:下面的图是作者随便画的,不怎么严格,大家能看懂就好。 由于篇幅所限,本文只是大略的讲解了一下RPC所涉及到的大概模块,较为模糊,有兴趣者可以继续深挖 RPC (远程过程调用协议) 是不同主机进程间通讯的一种方式,协议采用客户机 - 服务器模式的架构,请求程序为客户机,服务提供程序为服务器, hbase 在 client 与 server 通信上采用的也是 RPC 协议,并在 client 端与 server 端实现了具体的 RPC 协议内容 ,现在我们就从客户机,服务器

mysql入门的十条语句 - 2016-07-25 17:07:06

默认已经装好了mysql服务器,下来介绍一些入门的基本语句。 一、连接数据库所需要的工具   mysql是一种服务器,帮助我们对数据进行管理,是一个服务器端。我们要与mysql服务器进行交互,必须通过客户端。常见的客户端mysql_front,navcat,mysql自带的命令行客户端。现在我们使用windows自带的命令行与mysql服务器进行交互。当然首先要与mysql服务器进行连接。 打开命令行,进入到mysql里面。 系统会报错 ,这是因为没有与mysql服务器进行连接。 1、那么如何连接服务器呢

mysql的分区技术 - 2016-07-25 14:07:48

mysql是否支持partition呢,在mysql下执行show plugins;(显示插件) 其中包含了partition字段就说明你的数据库支持分区技术 1,创建带有分区的表 表明创建了带有hash分区技术的表,t2表有5个分区 mysql支持的几种分区技术,最常用的是range和list二种,Hash主要用来测试 看到test中有12张t2表,每个分区表都有表索引,检索数据更快。 把t2表创建索引 create index in_id on t2(id); 2、现在我们插入一个一千万行的数据来测试

0722 sql 语句那些事 - 2016-07-25 14:07:43

     刚接触这个项目的时候,还记得同事拿着一堆sql拼接和嵌套的代码,来问我们。当时感觉真的好麻烦,好复杂。以前用的sql都是简单的增删该查,后来ITOO中也是封装好的,所以就懒了。但是现在又遇到这个问题啦,这几天我负责的是手机端的考勤统计部分,所以用到了大量的纯sql查询语句。又将以前的知识好好学习了一下,总结一下。      这是用slqsever建立的两张表,下面几个例子都将以A、B两表为基础,介绍几种常用的连接。     一、左连接 span select * from A left join

主流NoSQL技术详解与比较 - 2016-07-24 19:07:00

主流NoSQL分类 1键值(Key-Value)存储数据库 键值对NoSQL是比较流行的一种NoSQL的解决方案,特点就是采用键值对来存储数据,它的优势在于容易部署和简单性,但是如果查询的部分只是整个数据库的小部分,那性能并不是特别突出。 2列存储数据库 列存储NoSQL比较适合的场景是处理海量的分布式存储的数据,它的主键可能是指向多个列的,数据量增加的时候几乎不影响性能。 3文档型数据库 文档数据库是采用类似键值对的方式进行存储,更准确的说是采用的JSON的格式进行存储,可以嵌套键值对,文档数据库比键值

Spark简要学习 - 2016-07-24 19:07:20

什么是Spark? 在Apache的网站上,有非常简单的一句话,'Spark is a fast and general engine',就是说Spark是一个统一的计算引擎,而且突出fast。那么具体是做什么的?是做large-scale的processing,即大数据处理。 Spark is a fast and general engine for large-scale processing. 这句话非常简单,但是它突出了Spark的一些特点:第一个特点就是Spark是一个并行式的、内存的、计算密