商讯信箱
用户名: @
密  码:   注册|忘记密码
登录
个人用户经销商
您的位置:首页 > 技术频道 > 正文

Oracle中用户管理的不完全恢复简介

  【IT168 技术文档】用户管理的不完全恢复必须满足下面三个条件才可以使用:

  a) 归档模式

  b) 要有所有datafile在误操作之前的备份

  c) 要有自要使用的备份以来的所有归档

  不完全恢复的类型

  a) 基于时间点 :比如从alter警告文件中查到drop table操作是什么时候发生的  

recover database until time '2000-10-01 10:10:10'

  b) 基于Cancel : 可能中间某个归档损坏或丢失

recover database untill cancel

  c) 基于SCN(系统改编号)  

recover database until scn

  -- 另同时使用备份的控制文件的不完全恢复

using backup control file

  实例说明几种场景的不完全恢复

  1.

truncate table dept; alter system switch logfile; delete from emp where empno=; alter system switch logfile; alter system switch logfile;

  --发现是误操作

  --启动EM,用logminer(日志查看器)查时间点或SCN

oemapp consol

  登陆到management server(参看:如何使用management server,后面会发布)

  -->工具-->数据库应用程序-->日志查看器-->创建查询条件

  --比如:表=DEPT (必须大写) 开始时间 结束时间

  查询出误操作时间或SCN,比如时间:2006-07-14 13:52:18 SCN 12345

  --好现在开始做基于时间点的不完全恢复

  a.shutdown immediate

  b.restore(复制) full backup到数据文件目录下

  c.startup mount

  d.alter session set NLS_date_format = 'YYYY-MM-DD HH24:MI:SS'

  e.recover database until time '2004-07-14 13:52:17';

  //recover database until scn 12345

  f.alter database open resetlogs --必须带resetlogs

  g.删除所有归档、冷备 热备(已经都没用了,必须重新备份)

  h.备份(不要忘了)

  2.基于cancel的模拟

delete dept where depno=42;//假如users表空间下的表 commit; alter database switch logfile;--多次 alter database switch logfile; alter database switch logfile; --发现失误,实行恢复 shutdown immediate

  删除users表空间(对应的文件号假如是9)和一个归档日志

  试着做完全恢复,失败,

  --参看http://www.david-studio.org/new/resource/showdetail.jsp?ID=12

  --做基于cancel的恢复

shutdown immediate

  还原所有文件

startup mount alter tablespace users online--将offline的所有文件online recover database until cancel alter database open resetlogs

  别忘了重新备份

1 2
©版权所有。未经许可,不得转载。
[责任编辑:张志国]