数据库恢复实例

作为一个dba,最重要的工作莫过于保证数据库中数据的安全,当一个数据库down掉之后,恢复旧变成了至关重要的事情。能否成功的恢复,并不在于数据库down掉时采取的恢复策略,要保证数据的万无一失,一套完整的备份方案是必须的。但作为dba,还应该了解和掌握各种情况下应该采取哪些恢复措施,并且清楚的指导每一种恢复方式的会产生什么样的结果。以下是几种常用的的备份和恢复方式的具体示例,是入门的dba必须掌握的。

实例1:归档的数据库,完整的数据库全库备份,完整的归档备份,此时数据库down掉,只留下控制文件和日志文件可用。

1:安全关闭当前数据库。(确保当前数据库处于归档模式下)。

2:copy所有的数据文件,日志文件和控制文件到一个目录下。

3:打开数据库,建新用户user1

create user user1 identified by aaaaaa;

grant dba to user1;

connect user1/aaaaaa;

4:在user1 下建表T1,向T1中插入10000条数据。

Begin

For I in 1..100000 loop

Insert into t1 values(i);

End loop;

Commit;

End;

/

5:切换几次日志,使所有日志都已经归档。 
Alter system switch log
file;

6:正常关闭数据库。Shutdown immediate;

7:恢复:

把当前数据库所有文件移动到一个临时文件夹里,模拟数据库损坏。

8:COPY最初复制的数据库的所有文件,但控制文件和日志文件要使用目前数据库的。

9:启动数据库 startup

mount 后会提示SYSTEM表空间需要恢复。并给出恢复使用的归档日志文档。

确定归档日志位置正确后,输入auto.

ORACLE将一个一个的应用归档文档。直至提示完全恢复成功。

10:打开数据库 alter database open;

11:查看user1用户及t1表中是否有刚才插入的10000条记录。

至此,整个使用归档日志对完整的数据库冷备份进行完全恢复的模拟成功完成。

时间: 2024-07-30 01:13:58

数据库恢复实例的相关文章

Oracle数据库恢复案例

当我们在使用Oracle数据库时,突然断电,造成很多问题,致使旧数据丢失,影响了数据的正确性,破坏了数据库.此时,用户急切需求恢复数据.本文以此为例,讲述数据库数据恢复. 一.案例描述: 数据库因突然断电,数据库启库报system01.dbf需要更多的恢复来保持一致性,数据库无法打开:数据库没有备份,归档日志也不连续.客户提供了数据库的在线文件,急需恢复zxfg用户下的数据.   二.恢复流程:  1 数据库的故障检测 2 尝试挂起数据库并修复数据库 3解析数据文件 4 验证数据 5导出数据与交

物理写的判断 & 介质恢复 & 实例恢复 & 增量检查点

物理写的检测: select  * from v$sysstat where lower(name) like 'physical writes%';  physical writes 8 9 119             //我一共写了多少块 select * from v$sysstat where upper(name) like 'DBW%'; 104 DBWR checkpoint buffers written 8 173 12  //通过检查点写了多少块. 那你就可以用  buf

mysql主从复制实践之单数据库多实例

1.主从复制数据库实战环境准备 MySQL主从复制实践对环境的要求比较简单,可以是单机单数据库多实例的环境,也可以是两台服务器之间,每台服务器都部署一个独立的数据库的环境.本文以单机数据库多实例的环境进行实践. 2.主从复制服务器角色定义 序号 数据库角色 数据库IP信息 数据库port信息 数据库配置路径 1 master 192.168.1.20 3306 /data/3306 2 slave1 192.168.1.20 3307 /data/3307 3 slave2 192.168.1.

【Android】11.2 通过重写对应的方法保存和恢复实例的状态

分类:C#.Android.VS2015: 创建日期:2016-02-21 一.简介 通过重写(也叫回调)对应的方法来管理Activity的生命周期,比如用户旋转屏幕时应用程序要能自动保存和恢复实例的状态,这对于开发一个健壮而又灵活的应用程序而言至关重要. 1.本节要点 一旦真正理解了Activity的生命周期,就可以轻松自如地通过C#代码去控制它了.这一节我们主要学习如何用Boundle存储简单类型的数据(比如int.double.string.bool.--等). 当一个Activity停止

SQL Server 2012笔记分享-51:理解系统数据库恢复

下图是一个很重要的表格,详细描述了系统数据库的备份需求,支持的恢复模式和还原的选项. master数据库:需要备份,需要在单用户模式下恢复 model数据库:需要备份,恢复数据库的方式为T3608 trace flag msdb数据库:需要备份,恢复模式默认为简单,恢复数据库的方式和恢复普通数据库一样,没有特殊要求 tempdb数据库:不需要备份,因为在实例启动的时候tempdb会重建:     详细的步骤可以参考 http://msdn.microsoft.com/zh-cn/library/

分享:mysql异地数据库备份实例代码

分享:mysql异地数据库备份实例代码 mysql现在应用在操作系统中包括有linux系统与windows系统,下面是多备份分享常用的两种系统中实现mysql异地数据库备份,有需要了解的朋友可参考. windows的任务计划定时执行该文件. 文件内容如下: cd F:/MySQLBackup f: mysqldump -h ip -uusername -ppassworddbname>F:/MySQLBackup/PersonBackupMonday.sql username:数据库用户 pas

HCMPRD数据库恢复HCMPRD RAC数据库

目标  主要测试如何使用RMAN将single数据库恢复到rac数据库 HCMPRD RAC测试环境: 生产环境:HCMPRD 测试目的: 测试恢复数据库 41和42 RAC只安装了grid和Oracle数据库软件. 实施步骤: 1.         分配共享磁盘 存放恢复后的HCMPRD数据库数据文件和备份文件. 2.         安装oracle实例 对照HCMPRD生产库,在测试主机上安装对应版本的oracle软件 (11.2.0.3.0): 3.         修改初始化参数 将H

解剖SQLSERVER 第一篇 数据库恢复软件商的黑幕

解剖SQLSERVER 第一篇  数据库恢复软件商的黑幕 这一系列,我们一起来解剖SQLSERVER 在系列的第一篇文章里本人可能会得罪某些人,但是作为一位SQLSERVER MVP,在我的MVP任期内希望可以对大家作出一些贡献 在第一篇里面涉及到某些内容可能不会以详细的方式给出截图并且和大家讲解,毕竟第一篇的篇幅比较长,希望大家见谅.. 在第一篇文章开始之前,先说三个题外话 第一个题外话  更新丢失 首先要做的事情是,跟大家道歉 在之前<SQLSERVER走起>的微信公众帐号里推送了一篇文章

Oracle数据块损坏的恢复实例

测试环境:11.2.0.4 1.构建数据块损坏的测试环境 2.有备份:常规恢复坏块 3.无备份:跳过坏块 1.构建数据块损坏的测试环境 1.1 创建测试表 --Create Table t_test conn jingyu/jingyu drop table t_test purge; create table t_test (id number, name char(2000)); --Insert data insert into t_test values(1, 'alfred 1');