Oracle中的用户管理的不完全恢复
2012-12-26 18:54
513 查看
用户管理的不完全恢复必须满足下面三个条件才可以使用: 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)和一个归档日志 试着做完全恢复,失败, --做基于cancel的恢复 shutdown immediate 还原所有文件 startup mount alter tablespace users online--将offline的所有文件online recover database until cancel alter database open resetlogs 别忘了重新备份 3. 使用备份的控制文件的不完全恢复 --已经有所有数据文件的备份 --备份控制文件 alter system switch logfile; alter system switch logfile; alter system switch logfile; alter database backup controlfile to 'd:ackupcon1.ctl'; alter system switch logfile; conn scott/tiger delete dept where deptno=42; commit; alter system switch logfile; alter system switch logfile; alter system switch logfile; shutdown abort/immediate/normal/transactional 删除所有数据文件,备份和删除当前的控制文件,但是归档必须存在 startup [nomount] --报错 查看状态nomount, select status from v$instance; 从备份中恢复控制文件 复制所有备份的数据文件(在删除前要已经有备份) recover database until cancel using backup controlfile; alter database open resetlogs; 别忘了做全备 4.联机日志全部丢失 shutdown immediate 删除所有的联机日志 startup --报联机日志错误 recover database until cancel --这步实际上什么也不做,但必须做这个操作 alter database open resetlogs; 别忘了做全备,以前的都没用了(包括归档) 5.误删除了表空间怎么恢复,必须归档模式 archive log list select * from v$tablespace select * from scott.emp; --删除表空间 drop tablespace indx including contents and datafiles; alter system switch logfile; --开始恢复 shutdown immediate 恢复所有的数据文件和控制文件,必须用老的控制文件 查询alter,查看drop indx表空间的时间,比如:2006-07-10 10:10:10 startup mount alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'; recover database until time ;2006-07-10 10:10:09' using backup controlfile; alter database open resetlogs 别忘了做全备,以前热备的都没用了 |
相关文章推荐
- oracle用户管理的完全恢复1:在NOARCHIVELOG 模式下执行恢复
- Oracle 基于用户管理的不完全恢复(三)
- Oracle 基于用户管理的不完全恢复(四)
- oracle用户管理的完全恢复6:控制文件损坏(控制文件前后内容改变)
- Oracle 基于用户管理的不完全恢复(五)
- oracle数据库完全恢复和不完全恢复以及执行用户管理辈分恢复
- Oracle—用户管理的完全恢复(一)
- Oracle—用户管理的完全恢复(四)
- oracle用户管理的完全恢复2:在NOARCHIVELOG 模式下执行恢复(无联机日志的备份)
- Oracle基于用户管理的不完全恢复
- oracle用户管理的完全恢复3:在ARCHIVELOG 模式(恢复关闭的数据库)
- Oracle—用户管理的完全恢复(一)
- Oracle—用户管理的完全恢复(三)
- 【ORACLE备份与恢复】用户管理的:基于scn的数据库不完全恢复
- 【ORACLE备份与恢复】用户管理的:基于时间的数据库不完全恢复
- oracle用户管理的完全恢复4:在ARCHIVELOG 模式(恢复打开的数据库)
- Oracle用户管理的不完全恢复2:基于取消的恢复
- Oracle—用户管理的完全恢复(四)
- Oracle 基于用户管理的不完全恢复
- 【ORACLE备份与恢复】用户管理的:基于取消的数据库不完全恢复