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

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

环境: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. form:form的一点体会

    留个日程吧,明个写,下班了>>

  2. R语言入门视频笔记--9--随机与数据描述分析

    古典概型的样本总量是一定的,且每种可能的可能性是相同的, 1.中位数:median(x) 2.百分位数:quantile(x)或者quantile(x,probe=seq(0,1,0.2)) #后面这 ...

  3. [转发]Android 系统稳定性 - ANR(二)

    文章都为原创,转载请注明出处,未经允许而盗用者追究法律责任. 很久之前写的了,留着有点浪费,共享之.编写者:李文栋P.S. OpenOffice粘贴过来后格式有些混乱. http://rayleeya ...

  4. Codeforces Round #512 (Div. 2, based on Technocup 2019 Elimination Round 1) E. Vasya and Good Sequences

    题目链接 官网题解写的好清楚,和昨晚Aguin说的一模一样…… 这题只和每个数1的个数有关,设每个数1的个数的数组为$b$,就是首先一段如果是好的,要满足两个条件: 1.这一段$b$数组和为偶数,因为 ...

  5. (8)C#连sqlserver

    str="Data Source=ip; Network Library=DBMSSOCN; Initial Catalog=数据库; User ID=sa; Password=xx&quo ...

  6. C#/.NET基于Topshelf创建Windows服务的守护程序作为服务启动的客户端桌面程序不显示UI界面的问题分析和解决方案

    本文首发于:码友网--一个专注.NET/.NET Core开发的编程爱好者社区. 文章目录 C#/.NET基于Topshelf创建Windows服务的系列文章目录: C#/.NET基于Topshelf ...

  7. codevs——1049 棋盘染色

    1049 棋盘染色  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Description 有一个5×5的棋盘,上面有一 ...

  8. MySQL、Hive以及MySQL Connector/J安装过程

    MySQL安装 ①官网下载mysql-server(yum安装) wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch. ...

  9. Mongdb和Spring的整合

    我自己的实现: 代码:https://github.com/littlecarzz/spring-data-mongodb 我使用的是spring-data-mongodb包,因为springboot ...

  10. Python资料大全

    说明:以下文章为转载,有英文原文和中文整理翻译,对原作者和译者的工作表示极大感谢!!! 英文原文:https://github.com/vinta/awesome-python 中文译文:https: ...