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

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

环境: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,就都一样的了。

至此,冷备份恢复完成。

Oracle备份与恢复:冷备份恢复的更多相关文章

  1. 将oracle冷备份恢复到另外一个数据库实例中

    因更换服务器需要将Oracle数据库转移到另外台Oracle中.说明: 1.测试环境为:windows server2003 和 oracle 10g. 2.2台服务器安装的程序目录一样,数据目录不一 ...

  2. Oracle备份与恢复案例

    注:以下内容来自<Oracle备份与恢复案例.doc>文档. Oracle备份与恢复案例 By Piner 一. 理解什么是数据库恢复 当我们使用一个数据库时,总希望数据库的内容是可靠的. ...

  3. Oracle 备份与恢复基础

    Oracle 备份与恢复基础 :三思笔记 备份与恢复 A whole database backup is either a consistent backup or an inconsistent ...

  4. Oracle 备份与恢复 15 个典型问题

    1.问:Oracle11g数据库数据量有50T,每天增量50g左右,该如何制定备份方案,如何验证备份的有效性? 答:50T的数据也不大,运营商的地市级市数据基本都在100T以上了,只要备份环境允许的话 ...

  5. rman恢复方案和oracle异机恢复

    这篇文章主要介绍了rman恢复方案和oracle异机恢复,需要的朋友可以参考下 注:①恢复的前提是已经做好备份②完全恢复数据库是数据库遇到故障,在恢复时候没有丢失任何已经提交事物数据的恢复不完全恢复数 ...

  6. 记一次Oracle冷备恢复的过程

    一.故障来临 某日中午,市电意外中断,机房UPS电源由于负载过重而未接管供电,所有服务器全部重启...... 待所有服务器重启后,正在逐一检查设备和业务运行情况时,意外发生了.一台年代久远的HP PC ...

  7. oracle 11g 数据库恢复技术 ---02 控制文件

    oracle 11g 数据库恢复技术 ---02 控制文件 SYS@ orcl >show parameter control_file NAME TYPE VALUE ------------ ...

  8. Oracle 备份、恢复单表或多表数据步骤

    Oracle 备份.恢复单表或多表数据步骤,适用于 Oracle 8.9.10.        *备份单表或多表数据: exp user/password@server file=filefullpa ...

  9. oracle自动冷备份脚本

    根据自己网上的资料和自己的需求,写的oracle冷备份脚本. 整体思路: 1.停止服务 2.文件拷贝 3.启动服务 保存以为文件为BAT格式,点击可以用下. rem ----------------- ...

随机推荐

  1. ssh的安装和使用

    1.ssh的安装 服务器端:sudo apt-get install openssh-serve 客户端:sudo apt-get install openssh-client 2.ssh的操作 查看 ...

  2. TOT 傅立叶变换 FFT 入门

    HDU 1402,计算很大的两个数相乘. FFT 只要78ms,这里: 一些FFT 入门资料:http://wenku.baidu.com/view/8bfb0bd476a20029bd642d85. ...

  3. SqlServer 数据恢复

    首先看看微软官方的给出的建议(摘自:http://technet.microsoft.com/zh-cn/library/ms189272.aspx): 在从完整恢复模式或大容量日志恢复模式切换前,请 ...

  4. MongoDB:分片(简介 & 自动分片 & 片键)

    分片(增加服务器,水平扩展)是MongoDB的扩展方式,通过分片能过增加更多的机器来应对不断增加的负载和数据,还不影响应用. [简介] 分片(sharding)是指将数据拆分,将其分散存在不同的机器上 ...

  5. poj1703 Find them,Catch them 【并查集】

    做过一些的带权并查集,再来做所谓的"种类并查集",发现好像就顿悟了. 种类并查集与带权并查集实质上的区别并不大. 关键的区别就是种类并查集仅仅是带权并查集再弄个%取余操作而已.然后 ...

  6. Python - colour-science库

    http://nbviewer.jupyter.org/github/colour-science/colour-ipython/blob/master/notebooks/colour.ipynb# ...

  7. mvc4中 @Url.Action 如何读取javascript变量的值

    js中  function Search()  {     var businessDate = GetSelectedBusinessDate("#businessYear",  ...

  8. WPF中如何使用代码操作数据模板生成的控件

    有一个Listbox,里面的Item是通过数据模板生成的,如下所示: <Border Margin="15" BorderBrush="Aqua" Bor ...

  9. huawei校招测试题

    三道题两小时. 第一题,圈住所有点的长方形,很简单略过. 第二题:奇偶排序. 奇偶排序 描述: 输入若干(不超过1000个)非负整数数字,请先取出为奇数的数字按从大到小排序,再取出偶数从小到大进行排序 ...

  10. LeetCode(21)题解:Merge Two Sorted Lists

    https://leetcode.com/problems/merge-two-sorted-lists/ Merge two sorted linked lists and return it as ...