bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

recoverdatabaseusingbackupcontrolfile理解

深入剖析 - Oracle SCN機制詳細解讀

創新互聯建站是一家專注于網站設計制作、成都做網站與策劃設計,鼎城網站建設哪家好?創新互聯建站做網站,專注于網站建設10多年,網設計領域的專業建站公司;建站業務涵蓋:鼎城等地區。鼎城做網站價格咨詢:028-86922220

https://mp.weixin.qq.com/s?__biz=MjM5MDAxOTk2MQ==&mid=2650276971&idx=1&sn=b5fb89b351d5b5bedd6353ff9c0b2157&chksm=be479c7d8930156bf73bd87f0bac869029f7341b3fdb4ed26a838b4e401c811116669acd5499&mpshare=1&scene=24&srcid=0927zxmXBLuBo3yxm7qsFYOy#rd

media recovery和instance recovery的差別

https://www.cnblogs.com/Peyton-for-2012/archive/2013/03/01/2938416.html

recover database using backup controlfile

http://blog.chinaunix.net/uid-20274021-id-1969571.html

要理解recover database using backup controlfile,先理解 recover database 也就是說,不加using backup controlfile

的情況。在普通的recover database 或者 recover tablespace, recover datafile時, Oracle會以當前controlfile所紀錄的

SCN為準,利用archive log和 redo log的redo entry, 把相關的datafile 的 block恢復到“當前controlfile所紀錄的SCN”。

而某些情況下,Oracle需要把數據恢復到比當前controlfile所紀錄的SCN還要靠后的位置(比如說,control file是backup 

controlfile , 或者 controlfile是根據trace create的。),這時候,就需要用using backup controlfile. 恢復就不會受“當前

controlfile所紀錄的SCN”的限制。這時候的限制就來自于你的語句(until time , until scn),或者可用的archive log(until 

cancel) ...

首先這里我們先介紹四個SCN概念。

1、系統檢查點scn (System Checkpoint SCN)

當一個checkpoint檢查點動作完成后,Oracle就把系統檢查點的SCN存儲到控制文件中。

select checkpoint_change# from v$database;

2,數據文件檢查點scn (Datafile Checkpoint SCN)

當一個checkpoint動作完成后,Oracle就把每個數據文件的Datafile Checkpoint SCN單獨存放在控制文件中。

select name,checkpoint_change# from v$datafile;

3,啟動scn (Start SCN)

Oracle把這個檢查點的scn存儲在每個數據文件的文件頭中,這個值稱為啟動scn,這個SCN用于用于在數據庫實例啟動

時,檢查是否需要執行數據庫恢復media recovery。

select name,checkpoint_change# from v$datafile_header;

4、終止scn (Stop SCN)

每個數據文件的終止scn都存儲在控制文件中。這個SCN號用于檢查數據庫啟動過程是否需要做instance recovery。

select name,last_change# from v$datafile;

5.media recovery和instance recovery

1).media recovery是需要利用以前的備份來進行恢復的,而INSTANCE RECOVERY是不需要的。

2).media recovery通常發生在數據庫的數據文件之類發生損壞,需要利用以前的備份來進行的恢復,需要人工處理。

3).instance recovery則是發生在實例不正常關閉情況下的恢復,是INSTANCE自己來的,不需要人工干預的。

6、在數據庫運行期間的scn值

1).在數據庫打開并運行之后,控制文件中的系統檢查點、控制文件中的數據文件檢查點scn和每個數據文件頭中的啟動scn都

是相同的??刂莆募械拿總€數據文件的終止scn都為null.

2).在安全關閉數據庫的過程中,系統會執行一個檢查點動作,這時所有數據文件的終止scn都會設置成數據文件頭中的那個

啟動scn的值。

3).在數據庫重新啟動的時候,Oracle將文件頭中的那個啟動scn與數據庫文件檢查點scn進行比較,如果這兩個值相互匹配,

oracle接下來還要比較數據文件頭中的啟動scn和控制文件中數據文件的終止scn。如果這兩個值也一致,就意味著所有數據

塊多已經提交,所有對數據庫的修改都沒有在關閉數據庫的過程中丟失,因此這次啟動數據庫的過程也不需要任何恢復操作,

此時數據庫就可以打開了。當所有的數據庫都打開之后,存儲在控制文件中的數據文件終止scn的值再次被更改為null,這表

示數據文件已經打開并能夠正常使用了。   

7.SCN與數據庫啟動

在數據庫啟動過程中,當System Checkpoint SCN、Datafile Checkpoint SCN和Start SCN都相同時,數據庫可以正常啟

動,不需要做media recovery。三者當中有一個不同時,則需要做media recovery.如果在啟動的過程中,End SCN為NULL

,則需要做instance recovery。Oracle在啟動過程中首先檢查是否需要media recovery,然后再檢查是否需要instance 

reco very。

8.SCN與數據庫關閉

如果數據庫的正常關閉的話,將會觸發一個checkpoint,同時將數據文件的END SCN設置為相應數據文件的Start SCN。當

數據庫啟動時,發現它們是一致的,則不需要做instance recovery。在數據庫正常啟動后,ORACLE會將END SCN設置為

NULL.如果數據庫異常關閉的話,則END SCN將為NULL。

9.系統正常關閉:

system scn=datafile scn=start scn=stop scn

1)system scn=datafile scn=start scn,不需要介質恢復

2)stopscn not null,不需要實例恢復

10.系統異常關閉:

system scn=datafile scn=start scn,stop scn null

1)system scn=datafile scn=start scn,不需要介質恢復

2)stopscn null,需要實例恢復

11.舊數據文件

system scn=datafile scn>start scn,stop scn null/notnull

1)system scn=datafile scn>start scn,需要介質恢復成system scn=datafile scn=start scn

2)stopscn null,需要實例恢復,not null 不需要實例恢復

12.備份控制文件

system scn=datafile scn<=start scn(當數據文件為舊的相等),stop scn notnull/null

1)system scn=datafile scn<=start scn,需要使用using backup controlfile介質恢復成system scn=datafile scn=start 

scn=current log scn(當前日志最大SCN)

2)為保證上一次恢復沒有用到log日志不被使用,必須resetlogs

13.重建noresetlogs控制文件

控制文件中 datafile Checkpoint來自Online logs中的Current log頭

current log scn=system scn=datafile scn>=start scn,stop scn not null/null

1)current log scn=system scn=datafile scn>=start scn,需要介質恢復成system scn=datafile scn=start scn=redolog  

scn(當前日志最大SCN),stop scn not null

2)stopscn not null 不需要實例恢復

14.重建resetlogs控制文件

控制文件中datafile Checkpoint來自各數據文件頭。 

system scn>=datafile scn=start scn,stop scn not null/null

1)system scn>=datafile scn=start scn,需要使用using backup controlfile介質恢復成system scn=datafile scn=start 

scn(當前日志最大SCN),stop scn not null

2)stop notnull,因為SCN已經為redolog scn,log已經不能使用,必須resetlogs

15.recover database using backup controlfile

如果丟失當前控制文件,用冷備份的控制文件恢復的時候,用來告訴oracle,不要以controlfile中的scn作為恢復的終點;

16.recover database until cancel

如果丟失current/active redo的時候,手動指定終點。

17.recover database using backup controlfile until cancel

如果丟失當前controlfile并且current/active redo都丟失,會先去自動應用歸檔日志,可以實現最大的恢復;

網頁題目:recoverdatabaseusingbackupcontrolfile理解
鏈接地址:http://vcdvsql.cn/article4/podooe.html

成都網站建設公司_創新互聯,為您提供建站公司、網站營銷、網站內鏈、云服務器微信公眾號

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網頁設計公司