Oracle数据恢复、数据库恢复、灾难恢复专题
Oracle数据恢复、数据库恢复、灾难恢复专题
题记:随着数据库在企业中的重要性不断增加,数据库承载的业务越来越复杂,管理难度也不断增加,用户在数据库的使用过程中,不可避免的会遇到种种数据库故障、灾难,此时,数据备份与恢复就显得尤为重要。
本站在多年的维护过程中,积累了大量备份恢复相关的案例与知识内容,在此以专题的形式,整理归类出来,供大家参考,案例以为警醒,知识以为参考。
对于一个DBA来说,最为重要的就是备份,DBA四大守则,备份重于一切。
备份的重要性
对于DBA来说,有一句话需要谨记:隐患险于明火,防范胜于救灾,责任重于泰山
备份重于一切,我们必需知道,系统总是要崩溃的,没有有效的备份只是等哪一天死!唯一会使DBA在梦中惊醒的就是没有备份. |
生活的启示
严谨专注是DBA的基本素质要求之一,当然我也非常喜欢另外一句话:坚韧卓绝之人,必能成就万事.
这个世界上没有永远的侥幸,如果你掉以轻心,生活就会给你教训。读读这些DBA职业生涯的误操作篇,看看哪些可以避免. |
Ora-600错误
猜测是一种很重要的能力,[kcratr_nab_less_than_odr],根据less than字样,可以判断是在进行某个比较时,出现问题
当实例崩溃之后启动,Oracle会去检查崩溃前最后一个写出的数据块,通过控制文件校验其是否一致
这里的错误代码kcbzpbuf,猜测是Kenerl Cache Buffer上的验证错误。应当是在应用Redo前滚时在Buffer中校验数据时出了问题。
在解决2662错误之后,经常会出现Ora-00600 4193错误,4193错误通常是因为恢复时redo与undo不一致所导致。
ORA-600 errors are internal exceptions handled by the RDBMS Kernel. The first arguments is an identifier. |
DBA警示录-有多少错误可以不犯
对表做了move后,没有rebuild index,然后就关闭数据库了,导致数据库不能重新启动
应当将PROPS$视为禁忌,也就是说,决不要直接对这个表进行任何操作。
历史总数惊人的相似,以前我曾经写过一篇文章:年终难终 进入数据库事故多发期,现在又到了这样一个时期。
有人遭遇了这样一个惨痛教训,当使用root登陆系统时(HP Unix系统),错误的发出了hostname -a命令。
在这样曲折的过程中,我们可以注意到,对于一个关键的操作,无论采取怎样认真、细致、繁琐的测试、验证与规划都是值得的。 |
备份恢复基础知识
Oracle的恢复从上一次成功的写出开始,也就是以Cache-Low RBA为起点,恢复至日志的最后成功记录,也就是以On-Disk RBA为终点。
由于备份时是不删除归档的,所以会导致积累了大量的归档日志存储,删除时需要找到那个备份过的最近的归档日志
RMAN提供VALIDATE的命令,可以用于校验备份集的有效性,验证命令会建议备份的存在性、完好性和可恢复性,帮助我们确认备份的有效与否.
和UNDO相关的操作极度危险,任何一个丢失的事务都可能成为灾难,所以了解任何一个动作及其可能带来的影响是对我们的重大考验。
不管控制文件的名称里是否包含了DBID,但是,只要有了控制文件,就可以从其中获得DBID
有时候需要跟踪文件中缺省的不会记录具体的SQL、绑定变量等信息,可以通过ErrorStack进行后台跟踪,获得更详细的信息
kcbgtcr 是Oracle数据库最重要的函数之一,其含义为:Kernal Cache Buffer GeT Cosistents Read,也就是数据库的一致性读操作
我们知道Oracle10g丰富了catalog命令,使用这个命令,可以将RMAN的备份集注册到控制文件(或者目录数据库中)
在RMAN的备份中,可以通过Exclude命令排除某些不需要备份的表空间。这样可以缩减备份的容量,对备份进行适当优化和调整。 |
数据库恢复技术与案例
从Oracle9iR2开始,可以使用flashback query闪回误删除的数据,在undo_retention的限制下,可以快速的执行数据恢复。
最近一周以来,恩墨科技帮助多家用户进行了数据恢复,挽救了多个危难之中的数据库。
使用隐含参数_ALLOW_RESETLOGS_CORRUPTION后resetlogs打开数据库,会由于SCN不一致而遭遇到ORA-00600 2662号错误
电力不稳定,导致HP IA64位的服务器断电,后来维护厂商在不明缘由下,多次反复启停主机。接下来发现数据库丢失了2个重要的数据文件。
在数据库遭受损坏时,可以通过BBED工具对数据块进行修复,BBED的copy命令等对恢复非常有效。
在初期恢复时出现了ORA-600 4000号错误,这个错误以前写过几个案例,一般没有好的办法,只能通过bbed修复。
在回滚段8上存在一个需要恢复的事务,导致了异常,我不再管这个错误的具体含义,只是确认这个表空间可以清理掉,就开始向下进行
故障的原因是技术人员将数据库中的几个数据字典表Truncate掉,这直接导致了数据库不可用。数据库环境为Oracle 9.2.0.7 RAC环境。
以前我说:年终难终 进入数据库事故多发期,一年一度今又是,记得另外一个圣诞节,我还和Biti一起在北京的时候,遇到上海的朋友数据库崩溃 |
Oracle数据恢复、数据库恢复、灾难恢复专题相关推荐
- aix6.1 oracle12c,AIX6.1系统 oracle 11g数据库恢复过程
[单位名称] 河北省某大型企业 [逻辑存储] IBM AIX6.1平台,数据库为64位的 Oracle 11g, 本地存储约900GB,其中"/opt"为一独立 lv,大小约200 ...
- oracle 11g 数据库恢复技术 --rman catalog
Oracle RMAN的catalog并不是指标备份恢复操作的一个必要组件,但oracle推荐使用该组件.启用之后,归档日志.备份集.镜像复制等备份信息的保存地点是RMAN资料库(catalog), ...
- Oracle——20数据库恢复与备份
2019独角兽企业重金招聘Python工程师标准>>> 备份是将数据库中的数据信息保存起来,而恢复则是将已经备份的数据库信息还原到数据库系统中. 一.数据库的备份类型 Ora ...
- oracle 11g 数据库恢复技术 ---03 补充日志
三 补充日志(supplemental logging) 补充日志是对重做记录中变更矢量的补充信息,增加了变更矢量记载的记录量.Oracle某些功能要求启用补充日志才能正常或更好的工作,比如logmi ...
- oracle update 数据库恢复,ORACLE update 操作内部原理
对于oracle的update操作,在数据块中具体是如何出来,是直接更新原来值,还是通过插入新值修改指针的方法实现.下面通过证明: 模拟表插入数据 SQL> create table t_xif ...
- oracle 完整恢复数据库,oracle完全恢复数据库
完全恢复数据文件 rman target/ list backup summary; 查看是否有备份,如果没有备份,先进行全备份(应该是backup database吧) 现在模拟删除oracle数据 ...
- oracle数据库恢复aul_AUL/MyDUL 非常规灾难恢复ORACLE数据
AUL(MyDUL)工具简介 从2005年开始,AUL (MyDUL)已经为全球不同国家及地区的众多客户恢复了数十TB计的Oracle数据,从损坏的Oracle 8, Oracle 8i, Oracl ...
- Oracle数据恢复专题
备份恢复是Oracle中永恒的话题, 只要有数据 就有备份恢复的需求. 而在国内对于备份以及备份的可用性往往被企业所忽视.这造成了再数据库恢复上存在着东西方的差异. 更多的老外DBA把经历花在对Ora ...
- 重装系统后ORACLE数据库恢复
2019独角兽企业重金招聘Python工程师标准>>> ORACLE数据库恢复的方法我们经常会用到,下面就为您介绍重装系统后ORACLE数据库恢复的方法,希望对您学习ORACLE数据 ...
最新文章
- 【翻译】使用新的Sencha Cmd 4命令app watch
- raid5 增加一块硬盘_Raid5热备盘上线同时另一块硬盘离线如何恢复数据
- 抗侧力构件弹性位移如何计算_穿心棒法盖梁施工计算书(工字钢)
- U9cloud RPA加持 智领未来
- Linux之Vmware编码
- 程序员每天少吃 能活120岁
- 简单的php代理 Simple PHP Proxy
- LeetCode题 - 1 两数之和
- iOS searchbar拼音和汉字搜索全国城市
- 对Javascript的原型,原型链和继承的个人理解
- java获取当前路径的几种方法
- 即时聊天软件开发体会
- React 移动端`1px`像素边框
- 王德明——全球旅行达人,走遍世界阅尽繁华,为何他独爱于此?
- python超声检测成像仿真_- 深度体验树莓派3:实操用Python驱动超声测距模块
- Typec接口颜色代表什么?
- Kotlin基础2(持续更新)
- 埃夫特机器人回零偏差太大_埃夫特指令
- mac鼠标不能双击打开文件夹的解决方法
- python有哪些模块安全方向_Python 常用模块
热门文章
- html5游戏制作入门系列教程(四)
- 视差滚动(Parallax Scrolling)效果的原理和实现
- 概念性jQuery内容编辑器
- Robust Regression_2016_鲁棒回归推导
- 关于栈的链式存储结构
- Linux(debian7)错误集锦(二)之安装Gnome报错Failed to start unit user@1000.service
- C/C++——new一个二维数组
- Nginx学习之七-模块ngx_epoll_module详解(epoll机制在nginx中的实现)
- 【GPU编程】体绘制传输函数-分类(Volume Rendering Transfer function:Pre- VS Post-Classification)
- log4j的使用 20210719091111861