Oracle11gR2_ADG管理之恢复主库的truncate表实战
备库开启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表实战的更多相关文章
- Oracle误删除数据和表的恢复办法包括truncate
在工作中我们操作数据库的时候经常会发生一个不该发生的问题:用户意外的删除一个非常重要的表或者是表中的数据而且没有备份,需要尽快的恢复,以下就是解决的办法: 主要是利用Oracle回收站的闪回特性ora ...
- oracle truncate表 恢复操作
truncate恢复表 1.创建测试用表 conn elan/elan create table haha as select * from dba_users; 2.查询表数据 ) from hah ...
- Oracle恢复drop误删除的表和建用户操作
一.表的恢复 对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的.一般步骤有: 1.从flash back里查询被删除的表 select * from r ...
- truncate表hang住(等待时间较长),出现enq:RO fast object reuse等待事件
有一个应用truncate表等待了一晚上,一个定时任务,跑了几年了,今天早上来发现昨晚没有执行完成,hang住了,查询发现等待事件 fast object reuse. 10.2.0.4的库 Bug ...
- 从xtraback 备份文件中 单独恢复一张 innodb 表
从xtraback 备份文件中 单独恢复一张 innodb 表 http://blog.sina.com.cn/s/blog_445e807b0101dbgw.html 能够恢复一张表的前提是独立表空 ...
- Oracle11gr2_ADG管理之switchover补充
之前演示的switchver总是提示下面的错误,并且需要人工干预: Oracle11gr2_ADG管理之switchover实战 DGMGRL> switchover to snewtest; ...
- mysql数据库truncate表时间长处理
[环境介绍] 系统环境:Linux + mysql 5.7.18 + 主从复制架构 [背景描述] 客户反映用在mysql数据库上truncate一个innode引擎的list分区100G左右表时,耗时 ...
- MySQL没有备份怎么恢复被drop的表(利用undrop-for-innodb)
介绍: 也许大家都难以理解,这么重要的数据为啥不备份(或者备份不可用)?而且还任性的drop table了.显然有备份是最好的,但是它们并不总是可用的.这种情况令人恐惧,但并非毫无希望.在许多 ...
- Confluence 6 管理和恢复空间管理权限
管理和恢复空间管理权限 可能有些空间的空间管理权限被系统的超级管理删除掉了.这样的空间是没有任何空间管理员的,用户和用户组都不能对空间进行管理.只有 Confluence 管理员权限的用户可以删除一个 ...
随机推荐
- 【51nod-1605】棋盘问题
上帝创造了一个n*m棋盘,每一个格子都只有可能是黑色或者白色的. 亚当和夏娃在玩一个游戏,每次寻找边长为x的正方形,其中每个格子必须为黑色,然后将这些格子染白. 如果谁不能操作了,那么那个人就输了. ...
- hibernate框架环境搭建与使用
搭建环境 一.新建一个项目 , 导包 一个是hibernate的jar包,一个是jdbc的jar包 hibernate的jar包 这些jar包全部导入 二.配置Hibernate. 1.建立hib ...
- WordCounter Python实现
<!doctype html>博客.md p:first-child, #write > ul:first-child, #write > ol:first-child, #w ...
- windows ubuntu Android studio安装好启动没反应解决方法
参考:http://blog.csdn.net/qq305013720/article/details/8934152 目前有三种解决方案,都是针对执行studio.bat出现错误导致andro ...
- android开发之eclipse调试debug模式详解
之前我写了一个相关的帖子,但是今天看了一个还是写的比我详细,于是我拿过来和大家分享. 1.在程序中添加一个断点 如果所示:在Eclipse中添加了一个程序断点 在Eclipse中一共有三种添加断 ...
- poj2378(dfs,树形dp)
和poj3107,poj1655一样的方法 #include<iostream> #include<cstdio> #include<cstdlib> #inclu ...
- ng 指令的自定义、使用
1.创建和使用var app = angular.module('myApp',['ng']);app.directive('指令名称',func); 自定义指令的命名:驼峰式,有两部分构成,前缀一般 ...
- cursor光标类型
今天早上在网上看到一篇关于光标类型的总结代码,很好,特定拿来: 最终结果: 代码: <!DOCTYPE html> <html lang="zh-cn"> ...
- As3 Practises : use TheMiner do as3 project swf performance profile , find memory leak!
The second and most universal way is to launch it from the mm.cfg fileTheMiner.swf must be trusted1: ...
- Oracle 索引的失效和重建
查询指定表的索引 SELECT T1.TABLE_NAME, T1.INDEX_NAME, T1.INDEX_TYPE, T1.UNIQUENESS, T1.TABLE_OWNER, T1.STATU ...