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

王朝oracle·作者佚名  2008-05-21
窄屏简体版  字體: |||超大  

用户管理的不完全恢复必须满足下面三个条件才可以使用:

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

别忘了重新备份

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

别忘了做全备,以前热备的都没用了。

(T114)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航