请选择 进入手机版 | 继续访问电脑版

湖南新梦想

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 276|回复: 0

Oracle数据库数据丢失?这几种方法教你来恢复~(一)

[复制链接]

2493

主题

2892

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
10294
发表于 2021-9-23 16:09:46 | 显示全部楼层 |阅读模式
本帖最后由 chaomeili 于 2021-9-23 16:10 编辑

  无论是开发、测试还是运维过程中,大家都可能会因为误操作、连错数据库、用错用户、语句条件有误等原因,导致错误删除、错误更新等问题。当你恨不得剁掉按回车的那个指头、捶胸顿足、或者吓得腿软时,肯定希望有办法来恢复这些数据。刚好,oracle提供了一些强大的方法或机制,可以让你找到“后悔药”。
  根据oracle数据库的特点和提供的工具,主要方法有以下几种方法:
  利用逻辑备份使用import工具丢失数据的表
  利用物理备份来通过还原数据文件并进行不完全恢复
  利用dbms_logmnr包从redolog文件中恢复
  利用flashback特性恢复数据
  为了方便使用方法的介绍,上述恢复方法都将基于以下场景进行:系统管理员在前一天晚上11点用export对数据库做了全库逻辑备份,然后对所有数据文件进行了热备份。第二天上午10点,系统管理员在修改表TFUNDASSET的数据时,由于修改语句的条件写错了,导致一批记录(几千条)的ztm字段被修改成了错误的值,而且已经提交。这个表是资产表,相对而言数据变化不频繁。
  一、利用逻辑备份使用import工具恢复丢失的数据
  export/import是oracle提供的用于对数据库进行逻辑备份的工具。该工具适用于备份那些数据量不大、业务量不多的数据库系统。因为如果在前一天晚上11点用export做了逻辑备份,那么当今天上午10点数据库意外崩溃时,从备份起到数据库崩溃的这段时间里的数据修改操作(包括DDL和DML)都会丢失。如果丢失数据内的表上的数据是相对比较稳定,也就是说该表上基本没有DML操作,例如标准代码表、分区表里的历史数据,那么采用import来导入该表可以比较完整的恢复数据。如果该表是经常变化的业务表,那么这些丢失的数据只能根据业务情况从纸质记录恢复,或者其他途径恢复。
  ▲示例如下:这个表是一个资产表。相对来说,今天系统运行中修改的数据较少,丢失的数据量可以承受或者可以从别的途径恢复。那就可以用import来恢复。
  方法一:
  1、把这个表的数据备份到另一个表:
  2、删除该表的记录:
  3、执行下面的命令:
  这个命令中在关键字tables中指定需要导入的表名字,ignore=y表示忽略表已经存在的错误。
  4、导入结束后,检查表中的记录,并用适当的方法恢复当天的修改。
  方法二:
  1、把需要恢复的表导入到另一个用户下面:
  2、检查数据以后,把原表记录删除:
  3、然后从另一用户表中插入回去:
  4、数据量比较大时可以采用如下方法:
  二、利用物理备份来通过还原数据文件并进行不完全恢复
  如果数据库运行在归档模式下,那么可以通过使用以前的数据文件备份进行还原,然后利用归档日志进行前滚,直到回滚到错误操作的时间点前,然后重置日志文件打开数据库。
  可以通过下列方法确认是否是运行在归档模式:
  如果是如上所示,那么就是运行在归档模式了。
  ▲假定在前一天晚上11点做了全库物理备份,那么可以考虑如下恢复:
  1、关闭数据库:
  由于数据库的不完全恢复必须在一个关闭的数据库上实施,利用一个旧的数据库的备份还原,然后用日志根据需要逐步前滚,而不能还原一个新的备份,再回退到某个时间点。
  通知各客户端数据库将关闭,然后发出:
  数据库已经关闭。
  已经卸载数据库。
  ORACLE例程已经关闭。
  2、确定错误操作的时间:
  可以根据操作员的估计来确定不完全恢复需要前滚停止的时间,也可以利用LogMiner来分析日志文件(这个工具将在后面介绍),找出错误操作的准确时间。
  3、还原数据文件:
  先对当前的数据库文件进行备份,然后再用以前的最近一次备份覆盖现有数据文件。注意:不覆盖现有的控制文件。
  4、基于时间点恢复,启动数据库到装配状态:
  这样数据库就恢复到了2015年10月20日的9点58分零秒。
  然后再利用业务资料补充这段时间内的数据。
                                                                                     (未完待续)

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|湖南新梦想 ( 湘ICP备18019834号-2 )

GMT+8, 2022-5-18 10:26 , Processed in 0.043078 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表