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恢复数据库文件:

数据文件恢复成功:

验证:
启动数据库:
startup;

打开SQL Plus,用普通用户连接,验证一下删除的数据是否恢复:

Oracle Flashback和RMAN示例的更多相关文章
- Oracle Flashback Technologies - 闪回数据库
Oracle Flashback Technologies - 闪回数据库 根据指定的SCN,使用rman闪回数据库 #查看可以闪回到多久前 SQL> select * from v$flash ...
- oracle flashback
一.Flashback闪回技术概述:当Oracle数据库发生逻辑错误时,必须使用flashback技术,实现快速和方便的恢复数据.对于人为错误,要确定受到错误事务影响的对象或者记录是非常困难的.使用f ...
- ORACLE FLASHBACK DATABASE 知识整理
1.知识储备 1) 只有SYSDBA有权执行,闪回前一定要记录当前SCN 2) 需要停机,并要求处于ARCHIVELOG模式中 3) 闪回日志不能被复用和归档,是自动管理的.RVWR ...
- oracle flashback data archive闪回数据归档天坑之XID重用导致闪回查询数据重复
我们有个系统使用了Oracle flashback data archive闪回数据归档特性来作为基于时间点的恢复机制,在频繁插入.更新期间发现SYS_FBA_HIST_NNNN表中的XID被两个事务 ...
- Oracle DB 使用RMAN恢复目录
• 对恢复目录和RMAN 资料档案库控制文件的使用进行比较• 创建和配置恢复目录• 在恢复目录中注册数据库• 同步恢复目录• 使用RMAN 存储脚本• 备份恢复目录• 创建虚拟专用目录 RMAN 资料 ...
- Oracle 11gR2 使用RMAN Duplicate复制数据库
Oracle 11gR2 使用RMAN Duplicate复制数据库 前言: 上周刚做完一个项目,用户要求RAC的数据库可以自己主动备份到另外一个单节点上,单节点可以正常拿起来就能用. ...
- Oracle Flashback Database
Oracle Flashback Database Ensure that the prerequisites described in Prerequisites of Flashback Data ...
- Oracle 物理备份--rman
Oracle 物理备份--rman 1.直接在服务器,打开命令行,输入: rman target/ 2.配置参数也一同备份 configure controlfile autobackup on; 如 ...
- Oracle Flashback Technologies - 闪回查询
Oracle Flashback Technologies - 闪回查询 查看表中,某行数据的修改记录 #创建一个表,并插入和修改数据 SQL> create table y3(id )); T ...
随机推荐
- .NET跨平台实践:用C#开发Linux守护进程(转)
Linux守护进程(Daemon)是Linux的后台服务进程,它脱离了与控制终端的关联,直接由Linux init进程管理其生命周期,即使你关闭了控制台,daemon也能在后台正常工作. 一句话,为L ...
- 我的前端架构之二--统一扩展Js方法
我的前端架构汇总 MyJs_Core.js 这是一个核心的Js文件,它扩展了原生的Js方法.如下: Array对象: 1) indexOf 2) max 3) min 4) removeAt 5) i ...
- 冲刺阶段day7
day7 项目进展 又是一个周三,有轮到我写东西了.首先我们对昨天的成果调试了几遍,改了几个小Bug之后就没有什么问题了,完善了登录界面的代码,学生管理这部分终于被敲定下来,并且正式完工了.然后还生下 ...
- Portal.MVC —— nopcommerce的简化版
Portal.MVC 简介 项目是基于MVC4+EF,带有角色,权限,用户中心及账户相关(登录,注册,修改密码,找回密码等)等基本功能.参考的开源项目 nopcommerce,这是一个电商架构的MVC ...
- Android Studio 1.0.1 + Genymotion安卓模拟器打造高效安卓开发环境
我们开发安卓大多是使用Eclipse和安卓SDK中自带的安卓模拟器.当然,Google早就推出了自己的安卓开发环境——Android studio,在不久前,Google发布了Android Stud ...
- 测试博文中添加可执行JS代码
昨天申请开通了博客园的JS权限,今天来看看效果. 测试执行JS 测试执行JS // 运行
- Azure China (10) 使用Azure China SAS Token
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China 注意:本文介绍的是Azure China Storage Priva ...
- 远程调试 Azure Web App
当我们将 Web App 部署在 Azure 上时,如果能够实现远程调试,将会极大的提高我们修复 bug 的效率.Visual Studio 一贯以功能强大.易用著称,当然可以实现基于 Azure 应 ...
- ubuntu:solve the problem of 'E:Problem with MergeList /var/lib/apt/lists/'
just run this command: sudo rm /var/lib/apt/lists/* -vfR it will remove all the software package wit ...
- Android中viewPager的一两点使用
Android中viewPager的一两点使用 viewPager是谷歌官方提供的一种方便实现页面滑动效果的控件,可以直接使用也可以和fragment联合使用.这里只简单说下直接使用. 使用viewP ...