墨墨导读:本文来自墨天轮用户罗海鸥的投稿,墨天轮主页:https://www.modb.pro/u/366206,分享 Oracle 11.2.0.4 版本的单机数据库无法启动处理的整个过程。

首先启动数据库

sqlplus  / as sysdba
startup

数据库mount时出现报错,当时报错内容记不清了,应该是无法锁定控制文件。

随即我打开了告警日志,在告警日志中我发现了一些蛛丝马迹:

告警日志告诉我们控制文件序列号满了

这时猜测,问题可能是控制文件。然后便登录rman准备恢复控制文件,但是rman没有任何备份。

没有备份那就重建控制文件吧。

在nomount阶段,我尝试备份控制文件到trace

可惜nomount阶段无法备份控制文件,那就只能手工编辑然后重建控制文件了。

慎重起见,将现在的控制文件改名了(此步骤省略)

如下是根据日志文件,数据文件等信息编辑的。

CREATE CONTROLFILE REUSE DATABASE “ORCL” RESETLOGS  ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 ‘/data/orcl/redo01.log’  SIZE 50M BLOCKSIZE 512,
GROUP 2 ‘/data/orcl/redo02.log’  SIZE 50M BLOCKSIZE 512,
GROUP 3 ‘/data/orcl/redo03.log’  SIZE 50M BLOCKSIZE 512
– STANDBY LOGFILE
DATAFILE
‘/data/orcl/system01.dbf’,
‘/data/orcl/sysaux01.dbf’,
‘/data/orcl/undotbs01.dbf’,
‘/data/orcl/users01.dbf’,
‘/data/orcl/assp.dbf’,
‘/data/orcl/gap.dbf’,
‘/data/orcl/estamp.dbf’
CHARACTER SET ZHS16GBK
;

控制文件创建好了,执行如下步骤打开了数据库。

RECOVER DATABASE;
ALTER DATABASE OPEN RESETLOGS;
ALTER TABLESPACE TEMP ADD TEMPFILE ‘/data/orcl/temp01.dbf’ SIZE 52428800  REUSE AUTOEXTEND ON NEXT 8192  MAXSIZE 32767M;

因为重建了控制文件,所以现在的序列号很小。

至此,问题已解决,数据库继续运行。

但为什么控制文件序列号会异常增长呢?

带着这个问题继续翻阅告警日志,发现控制文件序列号满是一个多月前开始报错的,这个报错前是快速恢复区满的报错,这个报错也持续了很长时间大概一个月。

快速恢复区满和控制文件序列号有关系吗?我做了一个实验。

查询控制文件当前序列号:序列号为12233

select CONTROLFILE_CREATED, CONTROLFILE_SEQUENCE#,CONTROLFILE_CHANGE#,
CURRENT_SCN from v$database

修改快速恢复区大小,目的是让db_recovery_file_dest_size   is 100.00% used。

alter system set db_recovery_file_dest_size=200M;  (对于这个数据已经足够小了)

告警日志立马打印如下信息

ORA-19815: WARNING: db_recovery_file_dest_size of 209715200 bytes is 100.00% used, and has 0 remaining bytes available.

手工切换一下日志,往快速恢复区存归档,触发一下;

alter system switch logfile;

继续查询控制文件序列号,发现序列号以大约200/s的速度异常增长,这样持续下去控制文件序列号很快会被用完。

select CONTROLFILE_CREATED, CONTROLFILE_SEQUENCE#,CONTROLFILE_CHANGE#,
CURRENT_SCN from v$database

修改快速恢复区大小后,控制文件序列号不再异常增长。


总结

快速恢复区满会导致控制文件序列号异常增长,快速恢复区满应当及时处理。

作者

罗海鸥:中国DBA联盟(ACDU)成员,北京银信DBA工程师,Oracle 11g OCM,长期研究Oracle技术,擅长备份恢复和性能调优。

墨天轮原文链接:https://www.modb.pro/db/45303(复制到浏览器中打开或者点击“阅读原文”立即查看)

推荐阅读:267页!2020年度数据库技术年刊

推荐下载:2020数据技术嘉年华PPT下载

2020数据技术嘉年华近50个PPT下载、视频回放已上传墨天轮平台,可在“数据和云”公众号回复关键词“2020DTC”获得!

视频号,新的分享时代,关注我们,看看有什么新发现?

数据和云

ID:OraNews

如有收获,请划至底部,点击“在看”,谢谢!

点击下图查看更多 ↓

云和恩墨大讲堂 | 一个分享交流的地方

长按,识别二维码,加入万人交流社群

请备注:云和恩墨大讲堂

  点个“在看”

你的喜欢会被看到❤

案例:控制文件序列号满故障处理和分析相关推荐

  1. Oracle数据文件scn不一致,控制文件与数据文件头SCN不一致导致数据库无法启动故障处理...

    环境说明 OS操作系统:WINDOWS 2012 64位 数据库版 本:ORACLE 11.2.0.1 故障问题描述 客户反映数据库无法启动,报ORA-01589:要打开数据库必须使用RESETLOG ...

  2. 一次控制文件control file sequential read 等待性能案例分析

    记录关于control file的一个事件, 此事件只是通知类event,和db file sequential read类似为数据库的I/O类操作,但wait class不是USER I/O,而是S ...

  3. oracle log block size,案例:Oracle无法启动报错ORA-00218: block size 0 重建控制文件

    天萃荷净 oracle数据库无法启动报错ORA-00218故障,通过重建控制文件解决文件损坏问题 遇到一个案例在数据库启动的时候报ORA-00218错误,而这个故障的引起原因是因为重建控制文件的时候, ...

  4. 查询oracle数据库错误修改了,【案例】Oracle报错ora-00600[2662] 修改控制文件scn推进数据库scn...

    天萃荷净 运维DBA反映数据库重启后无法启动,报错ora-00600[2662],分析原因为SCN异常导致,通过修改控制文件scn推进数据库scn 在数据库遇到ora-600[2662],scn不一致 ...

  5. Oracle新建出问题,【案例】Oracle报错ORA-01565 ORA-27041 OSD-04002 创建控制文件失败

    天萃荷净 运维DBA反映在创建Oracle数据库控制文件时报错ORA-01565 ORA-27041 OSD-04002,分析原因为创建语句中含中文导致 oracle 在win平台上创建控制文件可能会 ...

  6. 重建控制文件的案例(RESETLOGS模式和NORESETLOGS模式)

    本案例分两种情况:归档模式和非归档模式.在每种模式下采用两种重建方式,即resetlogs和noresetlogs. 一.archived模式下: SQL> archive log list 数 ...

  7. oracle 00600 kccpb,【案例】Oracle报错ORA-00600 kccpb_sanity_check_2 恢复控制文件过程

    天萃荷净 运维DBA反映Oracle数据库报错ORA-00600 kccpb_sanity_check_2,分析原因为数据库无法启动用户重建控制文件导致部分数据文件异常 有客户数据库由于某种原因无法o ...

  8. oracle恢复主键丢失,案例:Oracle重建控制文件丢失undo异常恢复 ORA-01173模拟与恢复...

    天萃荷净 重建控制文件丢失undo异常恢复 ORA-01173模拟与恢复 数据库异常关闭,使用resetlogs方式重建控制文件,不包含undo表空间相关数据库,然后尝试resetlogs打开数据库, ...

  9. oracle控制文件全备失败,Oracle数据库案例整理-恢复数据库失败-主备机控制文件所在目录不同...

    1.1       现象描述 使用主机节点的控制文件在备机节点上进行恢复时失败. ·         主节点控制文件目录为:"/opt/HUAWEI/cgp/workshop/omu/dat ...

最新文章

  1. 面试:HashMap 夺命二十一问!
  2. Scala中的四种访问权限
  3. 日期时间格式之间的相互转换
  4. linux/unix 段错误捕获【续】
  5. 超硬核的 OCR 开发利器推荐:从场景案例到实操演示,快速掌握OCR模型训练
  6. SAP License:SAP顾问是如何炼成的——我所理解的SAP顾问
  7. linux 打印当前系统环境_Linux系统下搭建python环境
  8. 百度霸屏技术的源码发布
  9. CABAC基于上下文的自适应二进制熵编码
  10. java获取汉字首字母
  11. Session Fixation
  12. ALS算法原理和在音乐推荐上的应用
  13. Android 11 Bata 正式发布!闲鱼最新升级版 Flutter 技术电子书开放下载
  14. 经济金融经典书籍推荐(中文版)——转自豆瓣
  15. 公司注册步骤包含的内容,公司注册步骤
  16. 开篇:数据驱动UI的设计理念
  17. 只需要努力,其他的都交给时光----三级网络学习总结
  18. 如何恢复未保存的Excel文件
  19. ebay html 如何编辑,ebay:批量编辑Brand和MPN的步骤
  20. win7开启uasp协议_摆脱低速困扰,ORICO NVME M.2 SSD硬盘盒轻松搞定

热门文章

  1. 从零开始学习编程_如何开始学习编程
  2. ros开源课程_如何将开源纳入计算机科学课程
  3. opensource项目_Opensource.com的写作主题从A到Z
  4. 微信小程序自定义组件(二)
  5. Bootstrap 滚动监听Scrollspy 调用方式
  6. Bootstrap 滚动监听
  7. linux下sqlite3的应用
  8. 视觉SLAM笔记(17) 李代数求导与扰动模型
  9. android js gps定位,Android中的定位Demo
  10. break 和 continue 语句, 以及循环中的 else 子句