备库开启flashback database

#关闭备库的同步
SQL> alter database recover managed standby database cancel; Database altered. SQL> select flashback_on from v$database; FLASHBACK_ON
------------------
NO SQL> alter database flashback on; Database altered. SQL> select flashback_on from v$database; FLASHBACK_ON
------------------
YES SQL> alter database recover managed standby database using current logfile disconnect; Database altered.

查看同步状态,备库实时应用主库的归档

#主库上执行
SQL> set linesize 300
SQL> col DESTINATION format a10
SQL> col db_unique_name format a10
SQL> col database_mode format a20
SQL> col recovery_mode format a20
SQL> col synchronization_status format a10
SQL> col gap_status format a10 SQL> SELECT DESTINATION,db_unique_name,type,STATUS,database_mode,recovery_mode,ARCHIVED_THREAD#,ARCHIVED_SEQ#,applied_seq#,synchronization_status,gap_status FROM V$ARCHIVE_DEST_STATUS WHERE STATUS <> 'DEFERRED' AND STATUS <> 'INACTIVE'; DESTINATIO DB_UNIQUE_ TYPE STATUS DATABASE_MODE RECOVERY_MODE ARCHIVED_THREAD# ARCHIVED_SEQ# APPLIED_SEQ# SYNCHRONIZ GAP_STATUS
---------- ---------- -------------- --------- -------------------- -------------------- ---------------- ------------- ------------ ---------- ----------
NONE LOCAL VALID OPEN IDLE 1 44 0 CHECK CONF
IGURATION snewtest snewtest PHYSICAL VALID OPEN_READ-ONLY MANAGED REAL TIME AP 1 44 43 CHECK CONF NO GAP
PLY IGURATION SQL> SELECT CURRENT_SCN FROM V$DATABASE; CURRENT_SCN
-----------
4410236

主库发生误操作将表test truncate 掉

SQL> truncate table test;

Table truncated.

SQL> select count(*) from test;

  COUNT(*)
----------
0 #记录scn
SQL> SELECT CURRENT_SCN FROM V$DATABASE; CURRENT_SCN
-----------
4410383 #通过logminer搜索一定范围内的archivelog,确定drop操作对应的准确SCN号
SQL> exec dbms_logmnr.start_logmnr(startscn=>4410236,endscn=>4410383,options=>DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG + DBMS_LOGMNR.CONTINUOUS_MINE); PL/SQL procedure successfully completed. SQL> col sql_redo format a110
SQL> set linesize 180
SQL> select scn,sql_redo,timestamp from v$logmnr_contents where table_name='TEST'; SCN SQL_REDO TIMESTAMP
---------- -------------------------------------------------------------------------------------------------------------- ---------
4410319 truncate table test; #确定flashback database的目标时间为4410319

在备库上执行flashback database

SQL>  select count(*) from test;

  COUNT(*)
----------
0 SQL> alter database recover managed standby database cancel; Database altered. SQL> flashback database to scn 4410236; Flashback complete. SQL> alter database open read only; Database altered. SQL> select count(1) from test; COUNT(1)
----------
23

使用dblink或者datapump将数据恢复到主库上

:

create public database link system_snewtest connect to sys identified by "oracle" using 'snewtest';

insert into test select * from system.test@system_snewtest;

SQL> select count(1) from test;

	COUNT(1)
----------
23

重新开启备库上的MRP

SQL> alter database recover managed standby database using current logfile disconnect  ;

Database altered.

SQL> select count(1) from test;

	COUNT(1)
----------
2

Oracle11gR2_ADG管理之恢复主库的truncate表实战的更多相关文章

  1. Oracle误删除数据和表的恢复办法包括truncate

    在工作中我们操作数据库的时候经常会发生一个不该发生的问题:用户意外的删除一个非常重要的表或者是表中的数据而且没有备份,需要尽快的恢复,以下就是解决的办法: 主要是利用Oracle回收站的闪回特性ora ...

  2. oracle truncate表 恢复操作

    truncate恢复表 1.创建测试用表 conn elan/elan create table haha as select * from dba_users; 2.查询表数据 ) from hah ...

  3. Oracle恢复drop误删除的表和建用户操作

    一.表的恢复 对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的.一般步骤有: 1.从flash back里查询被删除的表 select * from r ...

  4. truncate表hang住(等待时间较长),出现enq:RO fast object reuse等待事件

    有一个应用truncate表等待了一晚上,一个定时任务,跑了几年了,今天早上来发现昨晚没有执行完成,hang住了,查询发现等待事件 fast object reuse. 10.2.0.4的库 Bug ...

  5. 从xtraback 备份文件中 单独恢复一张 innodb 表

    从xtraback 备份文件中 单独恢复一张 innodb 表 http://blog.sina.com.cn/s/blog_445e807b0101dbgw.html 能够恢复一张表的前提是独立表空 ...

  6. Oracle11gr2_ADG管理之switchover补充

    之前演示的switchver总是提示下面的错误,并且需要人工干预: Oracle11gr2_ADG管理之switchover实战 DGMGRL> switchover to snewtest; ...

  7. mysql数据库truncate表时间长处理

    [环境介绍] 系统环境:Linux + mysql 5.7.18 + 主从复制架构 [背景描述] 客户反映用在mysql数据库上truncate一个innode引擎的list分区100G左右表时,耗时 ...

  8. MySQL没有备份怎么恢复被drop的表(利用undrop-for-innodb)

    介绍:     也许大家都难以理解,这么重要的数据为啥不备份(或者备份不可用)?而且还任性的drop table了.显然有备份是最好的,但是它们并不总是可用的.这种情况令人恐惧,但并非毫无希望.在许多 ...

  9. Confluence 6 管理和恢复空间管理权限

    管理和恢复空间管理权限 可能有些空间的空间管理权限被系统的超级管理删除掉了.这样的空间是没有任何空间管理员的,用户和用户组都不能对空间进行管理.只有 Confluence 管理员权限的用户可以删除一个 ...

随机推荐

  1. 模拟form提交数据

    最近在做一个项目,发现ajax不能enctype=”multipart/form-data” 属性的表单,没办法,只能使用form表单直接提交的方法了,但是form表单直接提交会跳转页面,这样很不友好 ...

  2. 什么是Activity,详细介绍Activity

    首先,Activity是Android系统中的四大组件之一,可以用于显示View.Activity是一个与用记交互的系统模块,几乎所有的Activity都是和用户进行交互的,但是如果这样就能说Acti ...

  3. Integer类分析(jdk8)

    一.构造函数 1. Integer类继承Number类,实现Comparable接口,重写了compareTo()方法. 2. Integer最小值为-2147483648,最大值为214748364 ...

  4. 《Scala入坑笔记》缘起 3天就搞了一个 hello world

    有小伙伴向我咨询 play framework 的问题,我就想了解一下 play framework ,按照官方的文档,要使用 SBT 安装,就掉进了 SBT 的坑. 第一坑:国外仓库太慢 安装完成后 ...

  5. 使用Android Studio自带的NDK编译JNI

    /********************************************************************************** * 使用Android Stud ...

  6. 伪元素:focus-within

    1.盒子边框的线条动画: <div class="cont"> <div class="bb"></div> </di ...

  7. Oracle 实用技巧

    一.rlwrap 在 linux中使用sqlplus对数据库进行操作,常常由于敲错命令或需要反复执行某条语句,需要像linux本身有的历史回调的功能, rlwrap 可以用来支持oracle下sqlp ...

  8. 查找对应jar的maven包

    当原有项目换成maven项目时,往往不知道具体jar包在maven里叫什么.这边文章教你如何去找到自己想要的jar的maven包. 工具/原料   浏览器 方法/步骤   1 登录一下网站 http: ...

  9. Oracle临时表和SQL Server临时表的不同点对比

    文章来源:http://www.codesky.net/article/201109/141401.html 1.简介 Oracle数据库除了可以保存永久表外,还可以建立临时表temporary ta ...

  10. yii 操作cookie

    原文地址:http://blog.sina.com.cn/s/blog_664c9f650100yqkn.html 设置cookie: $cookie = new CHttpCookie('mycoo ...