Oracle数据恢复、数据库恢复、灾难恢复专题

值此数据安全的多难之冬,转录之前整理的一个系列专题。

原文链接:http://www.eygle.com/blog/special/oracle_recovery.html

题记:随着数据库在企业中的重要性不断增加,数据库承载的业务越来越复杂,管理难度也不断增加,用户在数据库的使用过程中,不可避免的会遇到种种数据库故障、灾难,此时,数据备份与恢复就显得尤为重要。 本站在多年的维护过程中,积累了大量备份恢复相关的案例与知识内容,在此以专题的形式,整理归类出来,供大家参考,案例以为警醒,知识以为参考。 于一个DBA来说,最为重要的就是备份,DBA四大守则,备份重于一切

备份的重要性 DBA警示录:备份重于一切 对于DBA来说,有一句话需要谨记:隐患险于明火,防范胜于救灾,责任重于泰山DBA生存之四大守则备份重于一切,我们必需知道,系统总是要崩溃的,没有有效的备份只是等哪一天死!唯一会使DBA在梦中惊醒的就是没有备份.

生活的启示 DBA一定要严谨专注 严谨专注是DBA的基本素质要求之一,当然我也非常喜欢另外一句话:坚韧卓绝之人,必能成就万事. 警惕墨菲定律 这个世界上没有永远的侥幸,如果你掉以轻心,生活就会给你教训。读读这些DBA职业生涯的误操作篇,看看哪些可以避免.

Ora-600错误ORA-00600 kcratr_nab_less_than_odr案例猜测是一种很重要的能力,[kcratr_nab_less_than_odr],根据less than字样,可以判断是在进行某个比较时,出现问题ORA-00600 kcratr1_lostwrt之解决与原理分析 当实例崩溃之后启动,Oracle会去检查崩溃前最后一个写出的数据块,通过控制文件校验其是否一致ORA-600 kcbzpbuf_1 坏块的恢复案例一则 这里的错误代码kcbzpbuf,猜测是Kenerl Cache Buffer上的验证错误。应当是在应用Redo前滚时在Buffer中校验数据时出了问题。How to deal with Ora-600 4193 error 在解决2662错误之后,经常会出现Ora-00600 4193错误,4193错误通常是因为恢复时redo与undo不一致所导致。Oracle Kernel Layer & ORA-600 Code Info ORA-600 errors are internal exceptions handled by the RDBMS Kernel. The first arguments is an identifier.

DBA警示录-有多少错误可以不犯 DBA警示录:Move数据表与索引重建 对表做了move后,没有rebuild index,然后就关闭数据库了,导致数据库不能重新启动 DBA警示录:props$应当成为禁忌 应当将PROPS$视为禁忌,也就是说,决不要直接对这个表进行任何操作。 DBA警世录:年关临近 谨防数据库事故 历史总数惊人的相似,以前我曾经写过一篇文章:年终难终 进入数据库事故多发期,现在又到了这样一个时期。DBA警世录:root操作需谨慎 有人遭遇了这样一个惨痛教训,当使用root登陆系统时(HP Unix系统),错误的发出了hostname -a命令。DBA警示录:补丁升级需谨慎 在这样曲折的过程中,我们可以注意到,对于一个关键的操作,无论采取怎样认真、细致、繁琐的测试、验证与规划都是值得的。

备份恢复基础知识Cache-low rba 与 on-disk rba - 恢复笔记 Oracle的恢复从上一次成功的写出开始,也就是以Cache-Low RBA为起点,恢复至日志的最后成功记录,也就是以On-Disk RBA为终点。如何快速找到备份过最近、最大序号的归档日志 由于备份时是不删除归档的,所以会导致积累了大量的归档日志存储,删除时需要找到那个备份过的最近的归档日志使用RMAN验证备份的有效性 RMAN提供VALIDATE的命令,可以用于校验备份集的有效性,验证命令会建议备份的存在性、完好性和可恢复性,帮助我们确认备份的有效与否.SMON: recover undo segment 与 事务恢复 和UNDO相关的操作极度危险,任何一个丢失的事务都可能成为灾难,所以了解任何一个动作及其可能带来的影响是对我们的重大考验。DBID的获取 与 控制文件中有什么? 不管控制文件的名称里是否包含了DBID,但是,只要有了控制文件,就可以从其中获得DBID使用errorstack跟踪ORA-01438错误 有时候需要跟踪文件中缺省的不会记录具体的SQL、绑定变量等信息,可以通过ErrorStack进行后台跟踪,获得更详细的信息kcbgtcr 错误小记 kcbgtcr 是Oracle数据库最重要的函数之一,其含义为:Kernal Cache Buffer GeT Cosistents Read,也就是数据库的一致性读操作使用Catalog命令注册RMAN备份集 我们知道Oracle10g丰富了catalog命令,使用这个命令,可以将RMAN的备份集注册到控制文件(或者目录数据库中)使用RMAN进行排除表空间备份 在RMAN的备份中,可以通过Exclude命令排除某些不需要备份的表空间。这样可以缩减备份的容量,对备份进行适当优化和调整。

数据库恢复技术与案例 使用Oracle9i的 Flashback Query恢复误删除数据 从Oracle9iR2开始,可以使用flashback query闪回误删除的数据,在undo_retention的限制下,可以快速的执行数据恢复。Oracle数据恢复:格式化、ASM及字典损坏案例三则 最近一周以来,恩墨科技帮助多家用户进行了数据恢复,挽救了多个危难之中的数据库。Oracle Diag:如何处理ORA-600 2662错误 使用隐含参数_ALLOW_RESETLOGS_CORRUPTION后resetlogs打开数据库,会由于SCN不一致而遭遇到ORA-00600 2662号错误为济南某大学数据存储上丢失的数据文件 电力不稳定,导致HP IA64位的服务器断电,后来维护厂商在不明缘由下,多次反复启停主机。接下来发现数据库丢失了2个重要的数据文件。如何使用BBED工具修复坏块 在数据库遭受损坏时,可以通过BBED工具对数据块进行修复,BBED的copy命令等对恢复非常有效。ORA-00600 4000 及 4194 错误小记 在初期恢复时出现了ORA-600 4000号错误,这个错误以前写过几个案例,一般没有好的办法,只能通过bbed修复。Oracle数据库恢复:解决ORA-600 2831错误 在回滚段8上存在一个需要恢复的事务,导致了异常,我不再管这个错误的具体含义,只是确认这个表空间可以清理掉,就开始向下进行成功恢复案例:解决字典表误Truncate故障 故障的原因是技术人员将数据库中的几个数据字典表Truncate掉,这直接导致了数据库不可用。数据库环境为Oracle 9.2.0.7 RAC环境。圣诞超级复杂困难之Oracle数据库大恢复 以前我说:年终难终 进入数据库事故多发期,一年一度今又是,记得另外一个圣诞节,我还和Biti一起在北京的时候,遇到上海的朋友数据库崩溃

对于DBA来说,有一句话需要谨记:隐患险于明火,防范胜于救灾,责任重于泰山

备份重于一切,我们必需知道,系统总是要崩溃的,没有有效的备份只是等哪一天死!唯一会使DBA在梦中惊醒的就是没有备份. 生活的启示

严谨专注是DBA的基本素质要求之一,当然我也非常喜欢另外一句话:坚韧卓绝之人,必能成就万事.

这个世界上没有永远的侥幸,如果你掉以轻心,生活就会给你教训。读读这些DBA职业生涯的误操作篇,看看哪些可以避免.                 Ora-600错误

  • ORA-00600 kcratr_nab_less_than_odr案例

猜测是一种很重要的能力,[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一起在北京的时候,遇到上海的朋友数据库崩溃

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏点滴积累

微信小程序项目踩过的几个坑

一、前言 近期,开始了一段辛酸的还未开始就已经结束的“创业”(参见我的第二次创业,以梦为马,莫负韶华)。大体上是开发了一款微信小程序,关于创业这件事情就不细说了...

62650
来自专栏北京马哥教育

推荐!国外程序员整理的系统管理员资源大全(一)

备份软件 Amanda -客户端-服务器模型备份工具 Bacula - 另一个客户端-服务器模型备份工具 Backupninja -轻量级,可扩展的元数据备份系...

621100
来自专栏美团技术团队

【沙龙干货】美团点评的Atlas实践

美团点评技术沙龙由美团点评技术团队主办,每月一期,每期沙龙邀请美团点评及其它互联网公司的技术专家分享来自一线的实践经验,覆盖各主要技术领域。 本次沙龙主要围绕数...

39250
来自专栏晨星先生的自留地

物理入侵之你真的敢用的我的U盘么?

45330
来自专栏FreeBuf

你说安全就安全?对红芯浏览器的一次安全测试

近日,红芯浏览器“套壳”一事被网络舆论炒的沸沸扬扬。红芯浏览器被官方标榜为“安全、稳定、可控的企业浏览器”,其中“自主可控”一项已经被舆论所质疑,但是被官方放在...

10020
来自专栏FreeBuf

记一次Linux服务器被入侵后的检测过程

0x00 前言 故事是这样的,大年初一,客户反应他们服务器无法访问,查看路由,发现某oracle+tomcat服务器UDP流量超大,把带宽占完了,过年嘛,客户那...

48060
来自专栏数据和云

DBA生存警示:系统存储级误删除案例及防范建议

编辑手记:对于资深的老DBA们,他们在漫长的职业生涯中养成了很多稀奇古怪的守则,以在复杂多变的环境中“幸存”,这源于无数血泪的教训,我曾经在《数据安全警示录》一...

342100
来自专栏FreeBuf

伽利略远程监控系统完全安装指南

7月初,外媒用臭名昭著形容意大利的网络军火商公司hacking team及其被黑事件,黑吃黑的黑客将该公司rcs系统的安装程序、源代码和邮件打包供所有人下载,更...

444100
来自专栏FreeBuf

一大波iCloud钓鱼网站来袭 果粉们会分辨吗?

国外的FireEye实验室有一套自动化系统,这套系统能够主动侦测最新注册的恶意域名。所谓的恶意域名,绝大部分都是伪装成很多人知道的常用域名,以此来达到“恶意”的...

43150
来自专栏Python中文社区

QQ空间爬虫最新分享,一天 400 万条数据

前言 本文为作者对其开源项目QQSpider的说明文档。主要替换了程序里一些不可用的链接,对登录时的验证码作了处理,对去重队列作了优化。并且可以非常简单地实现爬...

56970

扫码关注云+社区

领取腾讯云代金券