Oracle Flashback和RMAN示例

作者:Grey

原文地址:http://www.cnblogs.com/greyzeng/p/5346833.html

?

环境:

  • Windows 10 专业版
  • Oracle Database 12c Release 1

?

Flashback示例

场景1:

?


新建了一张表t_table1, 在某个时间点插入两条数据,后续又误插入一条数据,现在需要恢复到误插入数据之前的状态。

?

打开SQL Plus

用普通用户登录:

?

新建一张表t_table1:

create table t_table1 (t_id number, t_name varchar2(30));

插入两条数据并提交:

insert into t_table1 values (111,‘hui‘);

insert into t_table1 values (222,‘wq‘);

commit;

在2016年4月2日00:13分左右误插入一条数据:

insert into t_table1 values (333,‘errordata‘);

commit;

?

接下来恢复到误差数据之前的情况,

查询一下误差入之前的数据情况,由于数据是2016年4月2日00:13分左右插入的,所以查看一下00:10分的表状态:

select * from t_table1 as of timestamp to_timestamp(‘2016-04-02 00:10‘,‘yyyy-mm-dd hh24:mi‘);

开启行迁移:

alter table t_table1 enable row movement;

闪回:

flashback table t_table1 to timestamp to_timestamp(‘2016-04-02 00:10‘,‘yyyy-mm-dd hh24:mi‘);

检查一下,数据已经恢复

?

场景2:

?


新建一张表,误删除(drop)了这张表,现在需要恢复这张表。

?

接场景1,drop这个表t_table1,

闪回:

flashback table t_table1 to before drop;

验证:

?

RMAN示例

?

场景:

?


启用RMAN备份以后,同时数据库文件丢失.DBF,通过RMAN恢复数据文件。

?

说明:

RMAN备份/恢复之前必须要开启数据库归档功能

在SQL Plus下:

启动归档前先要停止数据库:

用管理员登录:

conn / as sysdba;

停止数据库:

shutdown immediate;

数据库以mount方式启动:

startup mount;

启动数据库归档:

alter database archivelog;

改变归档日志路径,windows系统使用盘符:

alter system set log_archive_dest_1="location=C:\Users\Public\Documents\arch";

打开数据库,查看归档是否已经打开:

alter database open;

archive log list;

?

在Windows控制台输入以下命令启动RMAN:

rman target/

启用RMAN备份:

backup database;

此时,模拟一下误删数据库文件:

先关闭数据库:

删除:C:\app\orcl\oradata\orcl目录下的.DBF文件

重启RMAN:

RMAN target sys/

利用RMAN恢复数据库文件:

数据文件恢复成功:

时间: 2024-12-28 15:52:59

Oracle Flashback和RMAN示例的相关文章

深入oracle 12c数据库备份与恢复(优化RMAN性能、Oracle flashback技术)

课程讲师:小流老师 课程分类:Oracle 适合人群:高级 课时数量:15课时 更新程度:完成 服务类型:C类(普通服务类课程) 用到技术:oracle 涉及项目:oracle 12c数据库备份与恢复 需要更多相关资料可以联系 Q2748165793 课程提纲 第一讲:介绍备份和恢复相关操作 备份和恢复的目标 备份和恢复的解决方案 Oracle flashback技术 第二讲:开始RMAN操作和RMAN体系架构 RMAN的环境 RMAN Channels RMAN Repository RMAN

Oracle Flashback技术总结

Flashback 技术是以Undo segment中的内容为基础的, 因此受限于UNDO_RETENTON参数.要使用flashback 的特性,必须启用自动撤销管理表空间. 在Oracle 10g中, Flash back家族分为以下成员: Flashback Database, Flashback Drop,Flashback Query(分Flashback Query,Flashback Version Query, Flashback Transaction Query 三种) 和F

Oracle 11gR2 使用RMAN Duplicate复制数据库

Oracle 11gR2 使用RMAN Duplicate复制数据库  作者:吴伟龙 PrudentWoo QQ:286507175    前言:     上周刚做完一个项目,用户要求RAC的数据库能够自动备份到另外一个单节点上,单节点能够正常拿起来就能用.当时跟他们讨论的是用ADG来做,但通过描述后,用户觉得如果要人工干预的话太麻烦,它不想做任何的人工干预,实现数据自动到这台单机上来,那只是一台备用的数据库,没事的时候可以登录上去看看历史的数据情况. 这个时候我提出了11g的RMAN Dupl

[转]Oracle DB 使用RMAN创建备份2

归档备份:概念 归档备份:概念 如果需要在指定时间内保留联机备份,RMAN 通常会假定用户可能需要在自执行该备份以来到现在之间的任意时间执行时间点恢复.为了满足这一要求,RMAN 会在此时段内保留归档日志.但是,可能仅需要在指定的时间(如两年)内保留特定备份(并使其保持一致和可恢复).用户不打算恢复到自执行该备份以后的某一时间点,只是希望能够正好恢复到执行该备份的确切时间.此外,用户还需要维护保留策略以使备份区井然有序,因此无法使备份恢复到两年前.为了满足保留数据的商业或法律要求,通常需要这么做

[转]Oracle DB 使用RMAN执行恢复

? 在丢失关键或非关键数据文件后执行完全恢复 ? 使用增量更新的备份进行恢复 ? 切换到映像副本进行快速恢复 ? 将数据库还原到新主机上 ? 使用备份控制文件进行恢复 使用RMAN RESTORE和RECOVER命令 ? RESTORE命令:从备份中还原数据库文件 ? RECOVER命令:通过应用增量备份和重做日志文件中记录的更改来恢复已还原文件 RMAN> SQL 'ALTER TABLESPACE inv_tbs OFFLINE IMMEDIATE'; RMAN> RESTORE TABL

Oracle 11g R2 Rman、数据泵、闪回备份与恢复

Oracle 11g R2 Rman备份备份与恢复的定义及分类 备份的定义及分类: 备份就是把数据库复制到转储设备的过程.其中,转储设备是指用于放置数据库副本的磁带或磁盘.通常也将存放于转储设备中的数据库的副本称为原数据库的备份或转储.备份是一份数据副本,从不同的角度分类如下: 从物理与逻辑的角度来分类: 从物理与逻辑的,备份可以分为物理备份和逻辑备份. 物理备份:对数据库操作系统的物理文件(数据文件,控制文件和日志文件)的备份.物理备份又可以分为脱机备份(冷备份)和联机备份(热备份),前者是在

Oracle Flashback Drop: Undo a DROP TABLE Operation

7.4 Oracle Flashback Drop: Undoa DROP TABLE Operation Oracle Flashback Drop reverses theeffects of a DROP TABLE operation. It can be used to recover afterthe accidental drop of a table. Flashback Drop is substantially faster thanother recovery mechan

Oracle Flashback 详解

Oracle flashback 是一种方便快捷的数据库恢复技术,它不使用备份文件,通过闪回日志可以使数据库恢复到过去的某个状态,当用户发生逻辑错误时(误删表数据.表.表空间等)需要快速恢复数据库,可以使用Flashback 实现. 1 启用Flashback 数据库 Oracle 默认不启动flashback 数据库,使用flashback 技术必须先启动数据库到flashback 状态,且数据库必须处于archive 模式下,并启用闪回恢复区,因为闪回日志文件必须存放在闪回恢复区中. 1)

-Oracle 11gR2通过RMAN克隆数据库

Oracle Study之--Oracle 11gR2通过RMAN克隆数据库 Purpose of Database Duplication A duplicate database is useful for a variety of purposes, most of which involve testing. You can perform the following tasks in a duplicate database: Test backup and recovery proc