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 ...
随机推荐
- 设计模式之美:Type Object(类型对象)
索引 意图 结构 参与者 适用性 效果 相关模式 实现 实现方式(一):Type Object 的经典介绍. 实现方式(二):Type Object 在游戏设计中的使用. 意图 允许在运行时动态灵活的 ...
- 设计模式之美:Mediator(中介者)
索引 意图 结构 参与者 适用性 效果 相关模式 实现 实现方式(一):Mediator 模式结构样式代码. 意图 用一个中介对象来封装一系列的对象交互. 中介者使各对象不需要显式地相互引用,从而使其 ...
- 用avalon实现一个完整的todomvc(带router)
照着todomvc官网的例子,做了一个avalon版的todos,功能全都有了,而且加了router模块,比司徒大大写的都完善(≧▽≦)/~ js文件整整100行,初次使用avalon,书写过程中绕了 ...
- Python--增量循环删除MySQL表数据
需求场景: 有一业务数据库,使用MySQL 5.5版本,每天会写入大量数据,需要不定期将多表中“指定时期前“的数据进行删除,在SQL SERVER中很容易实现,写几个WHILE循环就搞定,虽然MySQ ...
- Linux用户切换
1,查看当前user: whoami 2,普通用户切换到root,会要求输入密码: su 3,root切换到普通用户: su - username
- 爱上MVC~MVC4模型验证可以放在前端
回到目录 MVC4.0推出后,在模型验证上有了一个新的改近,它支持前端验证,即在用户POST之前,如果验证失败,则Action(POST方式的)不会被执行,而直接停留在原视图,这对于用户体验是好的,它 ...
- Android 使用Font Awesome 显示文字图标
Android 使用Font Awesome 显示文字图标 简单几步就可以完成 简单的效果图: 1. 创建 assets 文件夹 在Android Studio 上的创建步骤为: 在 src/main ...
- Atitit 如何利用先有索引项进行查询性能优化
Atitit 如何利用先有索引项进行查询性能优化 1.1. 再分析的话就是我们所写的查询条件,其实大部分情况也无非以下几种:1 1.2. 范围查找 动态索引查找1 1.2.1. 索引联合 所谓的索引联 ...
- OutputCache属性详解(二)一 Location
目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...
- 使用python原生的方法实现发送email
使用python原生的方法实现发送email import smtplib from email.mime.text import MIMEText from email.mime.multipart ...