Oracle11gR2_ADG管理之恢复主库的truncate表实战
生活随笔
收集整理的這篇文章主要介紹了
Oracle11gR2_ADG管理之恢复主库的truncate表实战
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
備庫開啟flashback database
#關閉備庫的同步 SQL> alter database recover managed standby database cancel;Database altered.SQL> select flashback_on from v$database;FLASHBACK_ON ------------------ NOSQL> alter database flashback on;Database altered.SQL> select flashback_on from v$database;FLASHBACK_ON ------------------ YESSQL> 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 a10SQL> 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 CONFIGURATIONsnewtest snewtest PHYSICAL VALID OPEN_READ-ONLY MANAGED REAL TIME AP 1 44 43 CHECK CONF NO GAPPLY IGURATIONSQL> 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(*) ----------0SQL> 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;
重新開啟備庫上的MRP
SQL> alter database recover managed standby database using current logfile disconnect ;Database altered.SQL> select count(1) from test;COUNT(1) ----------2轉載于:https://www.cnblogs.com/chinesern/p/8687107.html
總結
以上是生活随笔為你收集整理的Oracle11gR2_ADG管理之恢复主库的truncate表实战的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 轻+计步相关实现
- 下一篇: python spss_SPSS pyt