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

发表于:2007-06-20来源:作者:点击数: 标签:
下一页 1 2 用户管理的不完全恢复必须满足下面三个条件才可以使用: a) 归档模式 b) 要有所有datafile在误操作之前的备份 c) 要有自要使用的备份以来的所有归档 不完全恢复的类型 a) 基于时间点 :比如从alter警告文件中查到drop table操作是什么时候发生的

下一页 1 2 

   

  用户管理的不完全恢复必须满足下面三个条件才可以使用:
  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 <scn_number>
-- 另同时使用备份的控制文件的不完全恢复 using backup control file


  实例说明几种场景的不完全恢复
  1. truncate table dept;
   alter system switch logfile;
   delete from emp where empno=<N>;
   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
  别忘了重新备份

原文转自:http://www.ltesting.net