Oracle執行個體恢複階段以及flashback簡介,oracleflashback

來源:互聯網
上載者:User

Oracle執行個體恢複階段以及flashback簡介,oracleflashback

執行個體恢複階段:
1.資料檔案不同步

2.前滾(重做redo)
3.檔案中的提交和未提交資料

4.開啟資料庫

5.回退(還原undo)

6.檔案中的提交資料
最佳化執行個體恢複:(加快髒資料的寫)
使用 MTTR
fast_start_mttr_target (建議不要設定/增加系統負擔)
db_writer_pricesses(DBWn的進程)

flashback;
位置由 DB_RECOVERY_FILE_DEST 參數指定 大小由 DB_RECOVERY_FILE_DEST_SIZE 參數指定 足夠大,可存放備份、歸檔日誌、閃回日誌、鏡像控制檔案和鏡像重做日誌 根據保留原則自動進行管理
閃回查詢:flashback query
閃回事務查詢:
閃回版本查詢:
閃回表刪除:
閃回資料庫:
閃迴歸檔:11g新特性

閃回恢複區:所有與恢複相關的檔案的預設位置,簡化還原和恢複所需檔案的管理.
永久檔案:  控制檔案多工副本
 、聯機重做記錄檔多工副本
臨時檔案: 歸檔日誌、 rman備份,副本
、控制檔案自動備份
 、閃回記錄檔,
除了閃回日誌,其它檔案都可以重新導向的別的地方.

archive log list;
--查看是否開啟歸檔
select log_mode from v$database;
--資料庫是否開啟歸檔


 

資料字典的is_recovery_dest_file可以看出是否放到閃回恢複區.


V$controlfile,v$logfile,v$archived_log
v$recovery_file_dest
-----------------------------------------------------

select GROUP#, BYTES/1024/1024 size_m ,MEMBERS ,STATUS from v$log;
--查看日誌組
alter system switch logfile;
--切換日誌
select GROUP# ,STATUS,TYPE ,MEMBER,IS_RECOVERY_DEST_FILE from v$logfile;
--查看v$logfile中的資訊

執行個體恢複:instance recovery
崩潰恢複:crash recovery

 

 

 

 


哪個後台進程可實現Oracle執行個體啟動時對其進行自動回復

SMON

SMON負責系統監視已經一些系統清理及恢複工作,這些工作主要包括:
1.清理臨時空間以及臨時段
SMON負責在資料庫啟動時清理暫存資料表空間中的臨時段,或者一些異常操作過程遺留下來的臨時段,例如,當建立索引過程中,建立期間分配給索引的Segment被標誌為TEMPORARY,如果Create Index (或rebuild Index等)會話因某些原因異常中斷,SMON負責清理這些臨時段。
2.接合空閑空間
在DMT(字典管理資料表空間)中,SMON負責把那些在資料表空間中閒置並且互相是鄰近的Extent接合成一個較大的空閑擴充區,這需要資料表空間的pctincrease設定為非零值。
3.執行執行個體恢複(Instance recovery)
在執行個體恢複過程中,SMON的工作包括三個環節:應用Redo執行前滾、開啟資料庫提供訪問、復原未提交資料

The SMON background process performs all system monitoring functions on the Oracle database. The SMON process performs a "warm start" each time that Oracle is re-started, ensuring that any in-flight transaction at the time of the last shutdown are recovered. For example, if Oracle crashed hard with a power failure, the SMON process is attached at startup time, and detects any uncompleted work, using the rollback segments to recover the transactions. In addition, SMON performs periodic cleanup of temporary segments that are no longer needed, and also perform tablespace operations, coalescing contiguous free extents into larger extents.
 
oracle進階資料庫應用,實驗報告:資料閃回 使用flashback實現對錶、模式以及資料庫級誤刪除進行恢複

首先你要知道依賴關係:
flashback database依賴於:閃回日誌
flashback drop依賴於:資源回收筒
flashback table/query依賴於:undo
開啟閃回要在mount狀態下:
alter system set db_flashback_retention_target=2880 scope=both;
alter database flashback on;
再者你要利用事務號獲得undo語句
查看事務號:select versions_xid,empno,ename,sal from tt01
versions between timestamp minvalue and maxvalue
order by empno;
根據得到的事務號查看undo_sql語句:
select undo_sql from flashback_transaction_query
where xid='versions_xid' //這裡的XID就是上面查詢到的versions_xid
如果只是閃回誤刪除的表:
flashback table TT01 to before drop;
閃回的是最近刪除的一張表,當然也可以根據情況自訂閃回誤刪的表
步驟:
查看DB資源回收筒內容:show recyclebin;
在裡面可以查看到刪除的表,根據裡面的recyclebin name可以來查看錶結構
比如:desc "BIN$3naDFKEKFIDISB332DI"
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.