自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳解Oracle介質(zhì)恢復(fù)的內(nèi)部過程

數(shù)據(jù)庫 Oracle
Oracle介質(zhì)恢復(fù)的過程比較復(fù)雜,本文作者結(jié)合對controlfile,redo log,datafile等文件的dump內(nèi)容進(jìn)行分析,試圖深入的了解Oracle的介質(zhì)恢復(fù)過程。

這個是兩年前學(xué)習(xí)Oracle總結(jié)的東西,不算什么新東西,僅作為個人的一個記錄,也歡迎大家一起學(xué)習(xí)討論。

Oracle數(shù)據(jù)庫的介質(zhì)恢復(fù)過程相對非常復(fù)雜,Oracle畢竟作為一個大系統(tǒng),設(shè)計是相當(dāng)復(fù)雜和龐大的。鄙人結(jié)合對controlfile,redo log,datafile等文件的dump內(nèi)容進(jìn)行分析,試圖深入的了解Oracle的介質(zhì)恢復(fù)過程。雖不能從正向了解內(nèi)部工作機(jī)制,但是從逆向推斷也能做個大致了解,以此增強(qiáng)對Oracle的使用信心吧。

從這里開始吧:

1,獲取media-recovery-start SCN.

檢查所有數(shù)據(jù)文件頭,選擇最小的checkpoint SCN值作為start SCN。

假如獲取到的checkpoint SCN值在數(shù)據(jù)文件的offline的SCN范圍內(nèi),則采用offline-end的SCN。

2,checkpoint structure檢查thread啟動數(shù)量

media-recovery SCN中的checkpoint structure檢查在該SCN點有幾個thread線程啟動了。

3,分配log buffer

為第二步中的每個啟動的thread分配log buffer。

4,打開log文件

 --如果log文件在線,系統(tǒng)將會自動打開;

--如果已經(jīng)歸檔,將會提示管理員輸入log文件名稱。

5,分配獨占型media recovery lock

為每個需要執(zhí)行media recovery的數(shù)據(jù)文件分配一個excusive(獨占)media recovery lock。

6,對每個數(shù)據(jù)文件設(shè)置fuzzy bit

7,checkpoint bitvec 決定了初始啟動的thread。

8,thread線程讀取相應(yīng)的redo,并應(yīng)用于數(shù)據(jù)庫。

9,Media recovery發(fā)生檢查點:

--應(yīng)用redo文件過程中,需要轉(zhuǎn)換redo文件,每當(dāng)轉(zhuǎn)換時都會發(fā)生Media Recovery checkpoints。

--當(dāng)數(shù)據(jù)文件的STOP SCN達(dá)到時,也會發(fā)生Media Recovery checkpoints,數(shù)據(jù)文件頭的checkpoint也會被推進(jìn)到該值。

10,完成media checkpoint

所有的thread完成其對應(yīng)的redo日志應(yīng)用,達(dá)到數(shù)據(jù)文件的有限STOP SCN值,完成了media recovery;media recovery fuzzy bit被清除,或者叫做重置為(0x0000.00000000 day/month/year hh24:mi:ss);接著更新數(shù)據(jù)文件頭和控制文件,表明了數(shù)據(jù)庫整體一致。

文檔參考:記著開始時從google找到一篇介紹Oracle internal的文章作為了參考,并結(jié)合著dump文件的內(nèi)容才有此體會。要感謝一些那位“默默無聞”的作者。

原文標(biāo)題:oracle介質(zhì)恢復(fù)的內(nèi)部過程--推斷與參考

鏈接:http://www.cnblogs.com/daduxiong/archive/2010/08/13/1798797.html

【編輯推薦】

  1. Oracle數(shù)據(jù)庫索引和SQL Server的闡述
  2. Oracle更改表空間大小的代碼與實際操作
  3. Oracle優(yōu)化器的3不同類型介紹
  4. Oracle優(yōu)化器三大種類的介紹
  5. Oracle優(yōu)化器二十六個參數(shù) 
責(zé)任編輯:彭凡 來源: 博客園
相關(guān)推薦

2009-11-18 09:39:06

Oracle介質(zhì)恢復(fù)

2011-08-29 17:00:47

Oracle數(shù)據(jù)庫RM表空間數(shù)據(jù)塊介質(zhì)

2010-04-29 14:06:40

Oracle SQL

2011-08-29 16:41:14

OracleRMAN恢復(fù)數(shù)據(jù)文件的恢復(fù)

2011-04-11 13:46:17

Oracle數(shù)據(jù)庫備份

2009-10-27 13:38:08

Oracle解鎖

2011-08-23 11:09:36

Oraclerman恢復(fù)system表空間恢復(fù)

2009-11-02 14:53:30

Oracle創(chuàng)建用戶權(quán)

2011-05-13 13:51:20

噴墨打印機(jī)技術(shù)

2011-08-15 09:19:22

2010-10-26 10:24:06

Oracle控制文件

2011-07-20 16:28:54

Oracle數(shù)據(jù)庫shared pool

2011-09-02 14:09:47

OracleDML命令

2019-06-12 08:57:43

Oracle數(shù)據(jù)庫恢復(fù)

2012-03-08 10:18:33

JavaOracle

2010-10-26 17:17:37

創(chuàng)建ORACLE索引

2010-03-31 10:39:40

RMANOracle

2010-04-16 10:11:20

Oracle存儲過程

2010-11-19 09:48:48

ORACLE創(chuàng)建實例

2010-04-07 13:12:25

Oracle存儲過程
點贊
收藏

51CTO技術(shù)棧公眾號