使用 FLASH DATABASE 恢复误删除的用户
场景描述
- 误 drop 了生产库中的用户 U1
- U1 用户下面有 3 张表(T1-T3),表中数据如下所示:
SQL> conn u1/u1
Connected.
SQL> select TABLE_NAME from user_tables;
TABLE_NAME
------------------------------
T1
T2
T3
SQL> select * from t1;
ID NAME
---------- --------------------
2 xyz
SQL> select * from t2;
ID
----------
10
SQL> select * from t3;
ID LAST_NAME FIRST_NAME
---------- -------------------- --------------------
1 Zhang lili
2 li lei
前期准备
- 第一步,查询 v$log、v$archived_log中每个日志的 First SCN/ First Time 和 Next SCN/Next Time,根据时间推测该删除操作会在哪个日志中
- 第二步,使用 Toad 挖掘日志( 因为删除一个用户,会先删除用户下的所有对象,然后再删除用户,所以要找到删除属于它的对象的最早的 SCN,在本例中应选择 1794239)


执行闪回
环境描述
- 生产库的版本是 11.2.0.4,搭建了 Data Guard,备库启用了闪回特性
- 在备库执行闪回操作
1)停止 Redo Apply
SQL> alter database recover managed standby database cancel;
Database altered.
- 如果不停止 Redo Apply 的话,在执行闪回时会报错
SQL> FLASHBACK DATABASE TO SCN 1794239;
FLASHBACK DATABASE TO SCN 1794239
*
ERROR at line 1:
ORA-01153: an incompatible media recovery is active
- 2)闪回数据库
SQL> FLASHBACK DATABASE TO SCN 1794239;
Flashback complete.
- 3)查看用户相关信息,确认用户是否已经恢复
- 4)在备库使用 exp 导出用户数据(无法使用数据泵技术,因为备库的模式是 read only,所以使用了 exp 导出数据)
exp system/oracle owner=u1 file=/tmp/test.dump
- 5)需要在主库建立用户 U1 并授权
- 如果不建立用户,在导入的时候会报错(ORA-01435: user does not exist)
- 如果不授权,在导入的时候会报错(ORA-01950: no privileges on tablespace 'USERS')
SQL> create user u1 identified by "123abc";
SQL> grant connect,resource to u1;
- 6)在备库连接主库 orcl,然后导入文件
[oracle@db11gstandby ~]$ imp system/oracle@orcl file=/tmp/test.dump full=y
Import: Release 11.2.0.4.0 - Production on Wed Jun 21 19:32:17 2017
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Export file created by EXPORT:V11.02.00 via conventional path
import done in AL32UTF8 character set and AL16UTF16 NCHAR character set
. importing SYSTEM's objects into SYSTEM
. importing U1's objects into U1
. . importing table "T1" 1 rows imported
. . importing table "T2" 1 rows imported
. . importing table "T3" 2 rows imported
Import terminated successfully without warnings.
- 7)注意:在闪回操作完成后,开启 Redo Apply,此时备库又可以与主库同步
使用 FLASH DATABASE 恢复误删除的用户的更多相关文章
- 二.误删除MySQL用户,恢复方法
误删除MySQL用户导致无法进入数据库 一.方法一 1.停止数据库 [root@db02 ~]# /etc/init.d/mysqld stop 2.跳过授权表,跳过网络启动数据库 [root@db0 ...
- oracle数据库全然恢复和不全然恢复以及运行用户管理辈分恢复
比較全然恢复和不全然恢复: 一.全然恢复:将数据库恢复到当前最新状态,包含直至请求恢复时进行的全部已提交的数据更改 二.不全然恢复:将数据库恢复到请求恢复操作之前指定的过去时间点 一.全然恢复过程 以 ...
- rman恢复误删除的一张表(不完全恢复)
恢复误删除的一张表可以使用很多方法,如日志挖掘.闪回等,rman恢复(不完全恢复)肯定不是最好的,也不建议用, 现在我们只是演示一下这种恢复. 1 RMAN备份数据库 2创建测试表 3查看此时的SCN ...
- linux下恢复误删除的文件方法(ext2及ext3)
linux下恢复误删除的文件方法(ext2及ext3) 2009-12-19 15:23:47 分类: LINUX 如果是ext2文件系统的,直接用debugfs是可以恢复出来的,但对于ext3,d ...
- ORACLE恢复误删除的对象(表、存储过程等)
1.恢复存储过程 原理就是利用了oracle里所有的存储过程的源代码都是存在dba_source里,而drop某个存储过程的时候,oracle这里肯定要去dba_source里把相关的源代码给dele ...
- Linux中利用extundelete恢复误删除的数据
利用extundelete工具恢复磁盘误删除的数据 原理: 简单介绍下关于inode的知识.在Linux下可以通过"ls -id"命令来查看某个文件或者目录的inode值,例如查看 ...
- 如何利用Flashback Query 恢复误删除的数据
网上有很多关于数据回复的文章,这里整理一篇供大家参考,希望能帮助的大家! 推荐一家即时通讯云服务商:www.yun2win.com,功能包含im即时通讯.实时音视频.电子白板.屏幕共享的多种融合通讯云 ...
- 误删除 mySQL 用户解决办法
误删除用户解决办法 删除用户 删除用户 mysql> truncate mysql.user;Query OK, 0 rows affected (0.05 sec)mysql> sel ...
- MySQL 复制+快照恢复误删除操作实验测试
下面假定2个场景: 场景1:主从架构,没有延迟,某DBA误操作:drop database [复制+快照:在线备份]场景2:存在不确定性或者风险性较大的操作,如升级测试,大表变更[啥事都在快照上折腾, ...
随机推荐
- JAVA自增自减的玄机
先看下面代码: ; i = i++; System.out.println(i); 请问:输出结果为多少? ---------------------------------------------- ...
- Jlink下载问题
在使用Jlink SWD模式进行下载的时候遇到了无法下载的问题. SWD模式下,共有4跟线,VCC.GND.SWCLK.SWDIO JTAG标准接口如下图所示: 一般情况下,目标板卡的 debug V ...
- C# 时间格式总结
C#时间/日期格式大全 C#时间/日期格式大全,C#时间/日期函数大全 有时候我们要对时间进行转换,达到不同的显示效果 默认格式为:2005-6-6 14:33:34 如果要换成成200506,06- ...
- mac Ubuntu 设置快捷进入目录
在我们实际工作中,好多时间需要经常性的进入某个目录查看文件等等之类的操作. 好多时候我们都是在终端一级一级的进入目录,相比较Windows的快捷方式有点繁琐. 废话少说,下面就是设置快捷方式的方法: ...
- jQuery插件ImgAreaSelect 实例讲解一(头像上传预览和裁剪功能)
上一节随笔中,我们已经知道了关于jQuery插件ImgAreaSelect基本的知识:那么现在看一下实例: 首先,要知道我们应该实现什么功能? (1)图片能够实现上传预览功能 (2)拖拽裁剪图片,使其 ...
- 关于html表格单元格宽度的计算规则
* { margin: 0; padding: 0 } body { background: #fafafa } ul,li { list-style: none } h1 { margin: 20p ...
- 面试(4)-spring-Spring面试题和答案
1:69道Spring面试题和答案 转自:http://ifeve.com/spring-interview-questions-and-answers/ 目录 Spring 概述 依赖注入 Spri ...
- 开涛spring3(6.7) - AOP 之 6.7 通知顺序
如果我们有多个通知想要在同一连接点执行,那执行顺序如何确定呢?Spring AOP使用AspectJ的优先级规则来确定通知执行顺序.总共有两种情况:同一切面中通知执行顺序.不同切面中的通知执行顺序. ...
- Greys学习笔记(未完待续)
Greys介绍 greys-anatomy是一个Java线上诊断工具,取名来自美剧<实习医生格雷>,由菜鸟-杜琨同学开发维护.比我们常用的脚本工具btrace提供更多的功能,greys采用 ...
- R与并行计算(转)
文章摘要 本文首先介绍了并行计算的基本概念,然后简要阐述了R和并行计算的关系.之后作者从R用户的使用角度讨论了隐式和显示两种并行计算模式,并给出了相应的案例.隐式并行计算模式不仅提供了简单清晰的使用方 ...