数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

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


发布日期:2024年03月13日
 
Oracle中的用户管理的不完全恢复

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

a) 归档模式

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

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

不完全恢复的类型

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

b) 基于Cancel 可能中间某个归档损坏或丢失recover database untill cancel

c) 基于SCN(系统改编号)recover database until scn <scn_number>

另同时使用备份的控制文件的不完全恢复 using backup control file

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

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比如时间 :: SCN

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

ashutdown immediate

brestore(复制) full backup到数据文件目录下

cstartup mount

dalter session set NLS_date_format = YYYYMMDD HH:MI:SS

erecover database until time ::;

//recover database until scn

falter database open resetlogs 必须带resetlogs

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

h备份(不要忘了)

基于cancel的模拟

delete dept where depno=;//假如users表空间下的表

commit;

alter database switch logfile;多次

alter database switch logfile;

alter database switch logfile;

发现失误实行恢复

shutdown immediate

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

试着做完全恢复失败

参看

做基于cancel的恢复

shutdown immediate

还原所有文件

startup mount

alter tablespace users online将offline的所有文件online

recover database until cancel

alter database open resetlogs

别忘了重新备份

使用备份的控制文件的不完全恢复

已经有所有数据文件的备份

备份控制文件

alter system switch logfile;

alter system switch logfile;

alter system switch logfile;

alter database backup controlfile to d:ackupconctl;

alter system switch logfile;

conn scott/tiger

delete dept where deptno=;

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;

别忘了做全备

联机日志全部丢失

shutdown immediate

删除所有的联机日志

startup

报联机日志错误

recover database until cancel

这步实际上什么也不做但必须做这个操作

alter database open resetlogs;

别忘了做全备以前的都没用了(包括归档)

误删除了表空间怎么恢复必须归档模式

archive log list

select * from v$tablespace

select * from scottemp;

删除表空间

drop tablespace indx including contents and datafiles;

alter system switch logfile;

开始恢复

shutdown immediate

恢复所有的数据文件和控制文件必须用老的控制文件

查询alter查看drop indx表空间的时间比如 ::

startup mount

alter session set nls_date_format=yyyymmdd hh:mi:ss;

recover database until time ; :: using backup controlfile;

alter database open resetlogs

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

               

上一篇:oracle 10g无法连接错误排除

下一篇:Oracle数据库替代加密算法