Oracle11gR2_ADG管理之恢复主库的truncate表实战
2018-04-01 16:36
357 查看
备库开启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管理之跳归档恢复dg实战
- Oracle11gR2_ADG管理之resinstate实战
- Oracle11gr2_ADG管理之在备库上模拟failover的过程实战
- Mysql实现企业级日志管理、备份与恢复的实战教程
- ADG主库上归档丢失恢复备库测试
- 项目实战6—Mysql实现企业级日志管理、备份与恢复实战
- Oracle11gr2_ADG管理之switchover补充
- IBM刀片服务器管理模块恢复出厂默认值实战
- Node.js 切近实战(三) 之图书管理系统(图书信息录入)
- SQL注入实战---利用“dbo”获得SQL管理权限和系统权限
- 学习《spring 3.x企业应用开发实战》之Spring的事务管理难点剖析
- 基于ASP.NET WPF技术及MVP模式实战太平人寿客户管理项目开发(Repository模式)课程分享
- [零基础学JAVA]Java SE实战开发-37.MIS信息管理系统实战开发[JDBC](3) 推荐
- 网络实战---亲手打造机房上网管理系统
- JavaEE项目实战(OA系统)之十四_员工管理之三
- Dataguard实战(3):RHEL4.5 安装 Oracle10G Dataguard 多个备库 - 新建主库(主机vmone)
- 实战Active Directory站点部署与管理,Active Directory系列之十二
- Oracle数据库日常管理之数据备份,恢复及迁移 (第八讲 )