模拟数据库数据文件丢失的情况下,通过丢失之前的数据文件物理备份做恢复;

说明:数据文件丢失前一刻的所有归档日志都存在。

环境:oracle10g +rhel5

1.关闭数据库,copy system01.dbf、user01.dbf 到同目录的bak目录下备份

注意:这一步要注意一个细节

cp -p  system01.dbf  bak

------一定要带-p参数,这样文件的属性就一同拷贝过去了。否则该文件的owner 是root,你后面恢复时,因为owner 原因,oracle不认。

2.为了能观察整个备份恢复的效果,创建一个表

startup

create table t(id int ,scn number)tablespace users;

插入数据

insert into t values(1,dbms_flashback.get_system_change_number);

insert into t values(2,dbms_flashback.get_system_change_number);

insert into t values(3,dbms_flashback.get_system_change_number);

commit;

alter system switch logfile;

insert into t values(4,dbms_flashback.get_system_change_number);

insert into t values(5,dbms_flashback.get_system_change_number);

commit;

alter system switch logfile;

3.关闭数据库  ,删除 system01.dbf、user01.dbf文件。

4.启动数据库

如图提示system01.dbf 不能打开,因为已经删除。

5. 从bak中恢复system01.dbf,再次open数据库

这次系统会提示你要media recovery,即从归档日志中恢复数据; enter即可。

如果从scn角度来看,你未恢复dbf之前,你可以通过

select file#,checkpoint_change# from v$datafile_header来查看数据文件scn的变化情况。

即此时,checkpoint_change#=0的。你recover后,,checkpoint_change#会恢复到最近的scn。

数据库正常启动的前提是:系统scn、数据文件头scn、控制文件scn 都必须一致。

6.再次open数据库

会提示user01.dbf 不存在,如上操作,从归档日志中恢复insert的数据。再次open数据库,正常启动了。

查看一下表数据是否丢失,恩,都恢复回来了。

这时你再次查看scn,就都一样的了。

至此,冷备份恢复完成。

最新文章

  1. ajax的简单介绍
  2. Educational Codeforces Round 6 E dfs序+线段树
  3. VC环境配置办法
  4. Openxml入门---Openxm读取Excel数据
  5. BeanFactory 和ApplicationContext(Bean工厂和应用上下文)
  6. 实战3--应用EL表达式判断用户登录信息
  7. IOS开发之——友盟社会化分享UMSocial_SDK的使用
  8. 【Android】ListView监听上下滑动(判断是否显示返回顶部按钮
  9. CodeForces Round #279 (Div.2)
  10. linux使用man命令后退出
  11. doc-remote-debugging.html
  12. 苹果笔记本安装windows正版操作系统
  13. .Net圈子里的一些看法
  14. spring boot + vue + element-ui全栈开发入门——主页面开发
  15. PMP:3.项目经理角色
  16. 排序算法<No.6>【插入排序】
  17. Spring Boot 2 实践记录之 条件装配
  18. linux shell 删除指定文件夹下面 名称不包含指定字符的文件
  19. 在Linux上使用C语言编程获取IPv4地址及子网掩码
  20. .NET Core是什么

热门文章

  1. Android网络编程之HttpClient运用
  2. 标准C程序设计七---31
  3. [转发]Android 系统稳定性 - ANR(二)
  4. Laravel 静态资源管理
  5. grequests----golang的requests库
  6. 动态AdvStringGrid完美示例 (AdvStringGrid使用技巧/Cells)
  7. codeforces 1051 F
  8. RabbitMQ核心组件及应用场景
  9. 统计显著性(Statistical significance)
  10. 第二讲_图像数据处理Image Data Processing