技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> 查看专题: 数据恢复
    恢复恢复是Oracle中永恒的话题, 只要有数据 就有备份恢复的需求。 而在国内对于备份以及备份的可用性往往被企业所忽视。这造成了再数据库恢复上存在着东西方的差异。 更多的老外DBA把经历花在对Oracle内部原理和性能优化的研究上。 而我们国内 DBA似乎必须要精通一门额外的技术==》 在没有任何备份的情况下 恢复Oracle数据库中数据的技术!  虽然这在大多数情况下是屠龙之技, 但很多时候却又变成了衡量一个DBA技术水准的标准了,(这样不好..  不好)。  
    Oracle有一个闪回(flashback)功能,能够用户恢复误操作的数据。本文讨论MySQL中支持闪回的方案。 1、 闪回的目标 即使为了数据安全,我们搭建了主从。但实时主从备份只能防止硬件问题,比如主库的硬盘损坏。但对于误操作,则无能为力。比如在主库误删一张表,或者一个update语句没有指定where条件,导致全表被更新。当操作被同步到从库上后,则主从都“回天无力”。
    本文从实际使用经验出发,介绍一款开源的MySQL数据库InnoDB数据恢复工具:innodb-tools,它通过从原始数据文件中提取表的行记录,实现从丢失的或者被毁坏的MySQL表中恢复数据。例如,当你不小心执行DROP TABLE、TRUNCATE TABLE或者DROP DATABASE之后,可以通过以下方式恢复数据。 以下内容大部分参考自:Percona Data Recovery Tool for InnoDB,文档是英文的,而且写的比较晦涩,这里是个人的实战经验总结,供大家参考学习。
    今天有客户的数据库意外被删除了整个目录中的数据文件,操作系统级别的删除,然而幸运的是这个数据库没有崩溃,仍然处于open状态的时候,客户就发现了问题,求助到我们,最终完整地恢复了所有数据文件。
    某客户为了重新部署系统,将数据导出备份到移动硬盘,然后将Raid重新格式化,重新安装系统,当进行Oracle数据库重建,导入数据时发现,移动硬盘上的数据无法正确读取,文件缺失一半。数据灾难形成。
    以前总是在网上看到很多人问怎么恢复 Linux 分区下误删的文件。当时并没有仔细关注过,真没想到昨天这事摊我身上了。大致说说这场悲剧的整个过程吧(为了避免一些不必要的麻烦,本文中的文件夹名和设备名都作了修改)
    经常有用户误操作格式化硬盘,导致数据丢失,以Oracle数据库为例,格式化会损失多少数据呢?
      环境:CentOS 5.3 x86_64下,/dev/sdb1为数据分区/data0,EXT3文件系统。  前因:误删了/data0/tcsql/cankao/phpcws-1.5.0/httpcws.cpp文件。由于忘了备份httpcws.cpp文件,重新开发工作量较大,因此只有恢复该文件一条路可走。  debugfs命令针对EXT2分区还行,但对EXT3分区就帮不上忙了。偶然...
    如果你不小心用rm -rf xxx删除了文件或者整个目录,在ext2文件系统上是可以恢复的。因为文件数据没有被实际删除,只是索引被删除了,文件被误删除之后,应该马上停止创建、修改等文件操作,因为他们有可能会覆盖以前被删除文件所占用的磁盘空间,这样就没办法恢复了。
    在您进行恢复操作时,我们常常面临执行删除表/库操作丢失数据的问题。在这种情况下,就是我们的InnoDB 数据恢复工具也爱莫能助,因为存放表文件的目录被删除了(如果你设置了innodb-file-per-table)。同样的事情也发生在Myisam表中,所有的.MYD,.MYI,.frm文件也被删了。所以当drop操作发生后,第一第一要干的事情就是:恢复文件。在ext3文件系统下,有两工具能帮上你的忙,前提是如果您足够地快(或者说足够幸运)。第一个是ext3gre...
    开发库和线上表结构有很多不一样,分表个数也不同,我需要重新整理保持开发库和线上一致,之前已经告知开发数据是否允许丢失,开发说数据可以不要了,直接丢掉,等我搞好之后开发告诉我部分数据(ring)是不能删除的,我晕,只好想办法来恢复数据了,没有备份,不过还好有全部的binlog。1.根据binlog解析出所有ring数据库的所有sql[mysql@DEV_SNS1 log]$mysqlbinlog --no-defaults --database=ring --start-datetime="20...
    .frm文件用来保持表和列的定义,表的索引和数据可能被存储在一个或多个文件里,这取决于表的类型。因为.frm里面只是保留表的定义,万一损坏的话恢复起来很简单的,只要在另外的库中重建个一模一样的表,然后copy .frm文件过来就可以了。 这篇文章不错:http://www.mysqlperformanceblog.com/2008/12/17/recovering-create-table-statement-from-frm-file/
    需求:说是9点的时候开发delete tbl_custtrade 表中的某些行,现在反悔了,想找回delete之前的数据 select *from tbl_custtrade as of timestamp to_date(\'2007-5-16 9:00:00\', \'yyyy-mm-dd hh24:mi:ss\')。这个语句可以查到9时这个表的状态,9点之后所做的更改都不会体现到这个查询中,注意,只是能查到,并不代表这个表的现有值变了create table w_1asselect * from tbl_custtrade as of timestamp to_date(\'2007-5-16 9:00...
[ 共13篇文章 ][ 第1页/共1页 ][ 1 ]
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1