国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

Oracle體系結構之檢查點(diǎn)

發(fā)布時(shí)間:2021-08-02 22:45 來(lái)源:https://blog.51cto.com/vnimos/ 閱讀:149 作者:Vnimos 欄目: Mysql 歡迎投稿:712375056

在Oracle里面,檢查點(diǎn)分為三種:完全檢查點(diǎn)、增量檢查點(diǎn)、部分(臨時(shí))檢查點(diǎn)


NAME                                 TYPE        VALUE

SQL> ! cp

------------------------------------ ----------- ---------

實(shí)例恢復需要把實(shí)例異常關(guān)閉前沒(méi)有寫(xiě)入到磁盤(pán)的臟數據通過(guò)日志進(jìn)行恢復,如果臟塊過(guò)多,實(shí)例恢復的時(shí)間也會(huì )很長(cháng),檢查點(diǎn)的發(fā)生可以減少臟塊的數量,從而提高實(shí)例恢復的時(shí)間。

如果初始化參數LOG_CHECKPOINTS_TO_ALERT設置為T(mén)RUE,則有關(guān)每個(gè)檢查點(diǎn)的信息都記錄在alert_$ORACLE_SID.log 文件內。該參數缺省值為FALSE,表示不記錄檢查點(diǎn)。

DBA手工命令干預(alter system checkpoint)


引起增量檢查點(diǎn)的條件有:

SQL> ALTER TABLESPACE tablespace_name BIGEN BACKUP;          //進(jìn)入熱備份狀態(tài)(鎖住數據文件頭,并記錄塊變化日志)

觸發(fā)DBWn進(jìn)程將buffer cache中相關(guān)的數據臟塊都會(huì )寫(xiě)入相應的數據文件

fast_start_mttr_target               integer     90

HRBA    High cache RBA(buffer cache中臟塊最近一次變臟的時(shí)候產(chǎn)生重做日志記錄在redo log file中對應的地址)


完全檢查點(diǎn)會(huì )觸發(fā)DBWn將buffer cache里面所有的臟數據塊寫(xiě)入相應的數據文件中(即使事務(wù)未提交),并且同步數據文件頭和控制文件中的信息,保證數據庫的一致性。


一般所說(shuō)的checkpoint是一個(gè)數據庫事件(event),checkpoint事件由checkpoint進(jìn)程(LGWR/CKPT進(jìn)程)發(fā)出,當checkpoint事件發(fā)生時(shí)DBWn會(huì )將臟塊寫(xiě)入到磁盤(pán)中,同時(shí)數據文件和控制文件的文件頭也會(huì )被更新以記錄checkpoint信息。

System altered.

SQL> alter system set fast_start_mttr_target=90;

SQL> show parameter fast_start_mttr_target

System altered.

該參數控制數據庫對單個(gè)實(shí)例執行崩潰恢復所花費的時(shí)間量(以秒為單位,默認為0,最大值為3600)。

RBA      Redo Block Address(重做日志塊的地址,相當于數據文件中的rowid,可以通過(guò)該地址定位重做日志塊)

數據庫正常shutdown(immediate,transcational,normal)

增量檢查點(diǎn)

on disk RBAredo log file中狀態(tài)為CURRENT的最后一條日志地址

logfile block number(日志文件塊編號)

啟用快速啟動(dòng)檢查點(diǎn)功能時(shí),Oracle將自動(dòng)根據工作負載情況計算增量檢查點(diǎn)的頻率(間接影響DBWn進(jìn)程的頻率),以便達到請求的MTTR。如果將該值設置為0, 將禁用此功能。(但工作負載檢查無(wú)法關(guān)閉)

log_checkpoint_timeout參數用于表示檢查點(diǎn)位置和重做日志文件末尾之間的時(shí)間間隔,以秒為單位,默認情況下是1800秒。

這是指將臟數據寫(xiě)入到硬盤(pán),保證內存和磁盤(pán)上的數據是一樣的;

增量檢查點(diǎn)并不更新控制文件中系統SCN、文件SCN、結束SCN以及數據文件頭部的開(kāi)始SCN,而是每隔3秒由CKPT進(jìn)程將檢查點(diǎn)隊列中第一個(gè)臟塊所對應的LRBA地址(即檢查點(diǎn)的位置,前滾起點(diǎn))記錄到控制文件中.

在Oracle8i之前,數據庫的發(fā)生的檢查點(diǎn)都是完全檢查點(diǎn)。

保證數據庫的一致性。

部分檢查點(diǎn)

Checkpoint的主要作用:


SQL> alter system switch logfile;

表空間下線(xiàn)/只讀

SQL> ALTER TABLESPACE tablespace_name READ ONLY;

CKPTQCheckpoint Queue(檢查點(diǎn)隊列)檢查點(diǎn)隊列中的數據塊記錄著(zhù)每個(gè)數據塊的LRBA地址

完全檢查點(diǎn)在8i之后只有在下列兩種情況下才會(huì )發(fā)生:

完全檢查點(diǎn)

logfile sequence number(日志文件序列號)

在數據庫系統中,寫(xiě)日志和寫(xiě)數據文件是數據庫中IO消耗最大的兩種操作,在這兩種操作中寫(xiě)數據文件屬于分散寫(xiě),寫(xiě)日志文件是順序寫(xiě),因此為了保證數據庫的性能,通常數據庫都是保證在提交(commit)完成之前要先保證日志都被寫(xiě)入到日志文件中,而臟數據塊則保存在buffer cache中再不定期的分批寫(xiě)入到數據文件中。也就是說(shuō)日志寫(xiě)入和提交操作是同步的,而數據寫(xiě)入和提交操作是不同步的。這樣就存在一個(gè)問(wèn)題,當一個(gè)數據庫崩潰的時(shí)候并不能保證緩存里面的臟數據全部寫(xiě)入到數據文件中,這樣在實(shí)例啟動(dòng)的時(shí)候就要使用日志文件進(jìn)行恢復操作,將數據庫恢復到崩潰之前的狀態(tài),以保證數據的一致性。檢查點(diǎn)就是這個(gè)過(guò)程中的重要機制,通過(guò)它來(lái)確定,恢復時(shí)哪些重做日志應該被掃描并應用于恢復。

SQL> ALTER TABLESPACE tablespace_name OFFLINE;

fast_start_io_target參數用于表示數據庫發(fā)生Instance Recovery的時(shí)候需要產(chǎn)生的IO總數,它通過(guò)v$filestat的AVGIOTIM來(lái)估算的。(9i以后已經(jīng)廢棄)

由三個(gè)部分組成:4byte+4byte+2byte

但如果是由日志切換所引起的增量檢查點(diǎn),則同時(shí)還會(huì )將LRBA地址記錄到每個(gè)數據文件頭中



SQL> ALTER TABLESPACE tablespace_name END backup;            //退出熱備份(解鎖數據文件頭)

byte offset into the block(重做日志記錄在日志塊中的起始偏移字節數)

縮短實(shí)例恢復的時(shí)間。

日志切換

熱備份(熱備份表空間的時(shí)候,為了避免redo log被覆蓋,數據庫必須運行在歸檔模式下)

fast_start_mttr_target參數(mttr:Mean Time To Recovery 快速啟動(dòng)平均故障恢復時(shí)間)

LRBA    Low cache RBA(buffer cache中臟塊第一次變臟的時(shí)候產(chǎn)生重做日志記錄在redo log file中對應的地址,即當前檢查點(diǎn)隊列的位置)



引起部分檢查點(diǎn)的條件有:

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

亚洲精品无码专区久久| 日本道色综合久久影院| 无码人妻一区二区三区在线视频| 韩国的无码AV看免费大片在线| 国产精品欧美成人| 国产呦交精品免费视频|