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 ...
随机推荐
- Host is not allowed to connect to this MySQL server 错误的处理方法
1. mysql>use mysql; mysql>update user set host = '%' where user = 'root'; mysql>select host ...
- C#版的eval,C#Light开源嵌入式脚本,unity热更新不再愁
目前最新版本AlphaV0.06 完全的c#语法,可用于一切能运行C#的场合,wp windows xamarin mono asp.net unity3d 内嵌了int uint bool stri ...
- 依据BOM和已经存在的文件生成其他种类的文件
在BOM中记录中有物料编码,物料名称,物料规格等,而且依据BOM已经生成了一些的文件,如采购规格书,这个时候需要生成相应的检验规格书模板,可以使用下面的VBA代码,具体代码如下: Function I ...
- 可伸缩性最佳实践:来自eBay的经验
看到一篇关于系统可伸缩性(可扩展)的文章,eBay的架构师Randy Shoup写的,原文出处没找到,就不写转载的地址了.根据自己的理解对文章有修改剪切的地方. 在eBay,可伸缩性是我们每天奋力抵抗 ...
- java arraylist的问题
不得不说,我犯了错,很基础的.. 遍历list的时候可以删除数组元素吗? 答案是:简单/增强for循环不可以,list.iterator()这样的方式就可以. 我之前做过类似面试题的,不过忘记了, 不 ...
- ios CGRect
/* rect(x,y,width,height); width, height正负代表了从原点的绘制方向,矩形的长宽都是取得绝对值 */ // Do a ...
- PHP数据库操作:从MySQL原生API到PDO
本文将举详细例子向大家展示PHP是如何使用MySQL原生API.MySQLi面向过程.MySQLi面向对象.PDO操作MySQL数据库的. 为了后面的测试,先建立数据库表test.包含表名user,s ...
- 手打的笔记,java语法中的输入输出,语句,及注释。
手打的笔记: () 内的则为注意事项或者提示 public static void main (String[] args) ******(用一个方法)****{ int i = 10; int j ...
- C#设计模式-单例模式
单例模式三种写法: 第一种最简单,但没有考虑线程安全,在多线程时可能会出问题…… public class Singleton { private static Singleton _instance ...
- 每天一个linux命令(30): chown命令
chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID:组可以是组名或者组ID:文件是以空格分开的要改变权限的文件列表,支持通配符.系统管理员经常使用chown命令,在将文件拷贝 ...