Oracle中全量CHECKPOINT和增量CHECKPOINT的區別與作用

全量CHECKPOINT和增量CHECKPOINT對用戶都是透明的,而增量CHECKPOINT只不過是將全量CHECKPOINT要寫的臟塊分時間分批次寫到數據文件中而已,此操作可以極大地減少對數據庫性能的影響。

  1. 全量CHECKPOINT
    全量CHECKPOINT是指DBWR進程將臟緩沖區列表中的臟塊一次性地寫入數據文件中。該操作可以簡單地分為2個步驟(這里假設執行全量CHECKPOINT的時間點為t1):
    (1)DBWR進程將t1時間點前的所有臟塊寫到數據文件。如果臟塊很多,將引起大量的I/O寫操作。如果DBWR進程數不夠,寫入速度將比較緩慢。
    (2)確定所有臟塊都寫進數據文件之后,CKPT進程更新控制文件和數據文件頭。
    假如SGA中的臟塊數量很多,那么DBWR進程一次性寫臟塊是非常消耗I/O的,這不僅加重了DBWR進程的負擔,而且還可能因為I/O問題而影響業務,所以不建議頻繁進行全量CHECKPOINT操作。
  2. 增量CHECKPOINT
    從Oracle 8開始,Oracle推出了增量CHECKPOINT這一特性,即DBWR進程將CKPTQ隊列中的臟塊不斷地寫往磁盤中,從而減輕磁盤I/O壓力。Oracle是否啟用增量CHECKPOINT,跟隱含參數_disable_incremental_checkpoints有關(默認開啟增量CHECKPOINT)。增量CHECKPOINT操作步驟可以簡單地分為3步:
    (1)BUFFER CACHE中臟塊第一次被更新的時候產生的重做日志記錄在重做日志文件中所對應的位置就稱為LRBA(Low Redo Block Adress)。臟塊按照LRBA順序組成CKPTQ列表。DBWR進程掃描CKPTQ列表,依次將滿足條件的臟塊寫進數據文件中,并在內存中遞增CHECKPOINT NUMBER值,即SCN值。
    (2)臟塊寫成功之后,DBWR進程將臟塊從CKPTQ隊列中移走。
    (3)CKPT進程每隔3秒在控制文件中更新DBWR寫臟塊的進度,即增量CHECKPOINT所完成的RBA信息。
  3. 全量CHECKPOINT和增量CHECKPOINT區別
    增量CHECKPOINT時,CKPT進程不更新數據文件頭信息,但會更新控制文中的CHECKPOINT PROGRESS RECORDS。可以DUMP控制文件觀察當前實例LGWR進程寫在線日志的進度情況。全量CHECKPOINT和增量CHECKPOINT的主要區別如下:
    ?寫臟塊的動作不同。全量CHECKPOINT會將BUFFER CACHE中某一時間點之前的所有臟塊刷新到數據文件中,在臟塊比較多的數據庫中,全量CHECKPOINT操作可能會影響數據庫的性能。增量CHECKPOINT則是將臟塊第一次變臟的順序分為不同的時間點逐批寫到數據文件中,有點“細水長流”的感覺。
    ?更新的位置不同。全量CHECKPOINT完成之后,會更新內存、數據文件頭、控制文件。而增量CHECKPOINT完成之后,只更新內存SCN值和控制文件。
    ?觸發的條件不同。全量CHECKPOINT往往需要通過命令人為觸發,而增量CHECKPOINT的觸發受多種因素影響,如ONLINE REDOLOG大小、參數FAST_START_MTTR_TARGET等。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/13289.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/13289.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/13289.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Spring Boot集成Security快速入門Demo

1.什么是Security? Spring Security是一個Java框架,用于保護應用程序的安全性。它提供了一套全面的安全解決方案,包括身份驗證、授權、防止攻擊等功能。Spring Security基于過濾器鏈的概念,可以輕松地集成到任何基于Spring的應用…

ifconfig 無輸出

https://www.cnblogs.com/YYFaGe/p/14482813.html YYFaGe 博客園首頁聯系管理隨筆 - 56 文章 - 0 評論 - 2 閱讀 - 94650 ifconfig 無輸出 在終端執行ifconfig發現無任何輸出,也無報錯(基于hi3559av100開發板)。 1、參考這個連接解決&…

月薪3萬,沉迷“薅羊毛”

在網購江湖中,蟹老板是一位擁有十年經驗的資深“羊毛黨”。 他不僅是位精明的數學家,更是一位高效的“生產線”工人,專注于各大網購平臺的優惠機制。每逢618大促,他總能憑借超凡的洞察力和手速,輕松斬獲豐厚的“羊毛”…

peft+llama3訓練自定義數據

要微調自己的模型訓練 LLaMA 3,則需要準備一個 JSON 格式的數據集,其中每個條目包含輸入文本和相應的標簽(如果有的話)。以下是一個 JSON 數據集的示例格式: [{"input": "這是一個輸入樣本。",&q…

17.高并發場景下CAS效率的優化

文章目錄 高并發場景下CAS效率的優化1.空間換時間(LongAdder)2.對比LongAdder和AtomicLong執行效率2.1.AtmoictLong2.2.LongAdder2.3.比對 3.LongAdder原理3.1.基類Striped64內部的三個重要成員3.2.LongAdder.add()方法3.3.LongAdder中longAccumulate()方…

pytorch-13_1 深度學習之數據準備

1、手動實現訓練集和測試集的切分 1. data_split()函數 接下來我們開始實踐模型評估過程,首先是對訓練集和測試集的劃分,我們嘗試創建一個切分訓練集和測試集的函數。 def data_split(features, labels, rate=0.7):"""訓練集和測試集切分函數:param feature…

搜索二維矩陣 - LeetCode 熱題 64

大家好!我是曾續緣🧡 今天是《LeetCode 熱題 100》系列 發車第 64 天 二分查找第 2 題 ??點贊 👍 收藏 ?再看,養成習慣 搜索二維矩陣 給你一個滿足下述兩條屬性的 m x n 整數矩陣: 每行中的整數從左到右按非嚴格遞增…

六西格瑪綠帶培訓:解鎖質量工程師的職場新篇章

在質量管理這條道路上,我們或許都曾有過這樣的疑問:為何付出了同樣的努力,卻未能獲得預期的回報?當我們看到身邊的同行們逐漸步入高薪的行列,而自己卻似乎陷入了職業的泥沼,這種對比無疑令人倍感焦慮。然而…

了解等保測評的中間件安全Tomcat,如何檢查配置是否符合安全要求?

在等保測評中,Tomcat中間件的安全性是一個重要的評估內容。Tomcat是一個開源的應用服務器,廣泛應用于Web應用程序的開發和部署。由于其易用性和靈活性,Tomcat成為了一個受歡迎的目標,被黑客攻擊和濫用。因此,保證Tomca…

算法提高之信使

算法提高之信使 核心思想&#xff1a;單源最短路 因為數據范圍很小 可以考慮floyd算法(三重循環) #include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N 110,INF 0x3f3f3f3f;int d[N][N];int n,m;int main(){cin…

【STM32-MX_GPIO_Init分析】

MX_GPIO_Init分析源碼如下&#xff1a; __HAL_RCC_GPIOE_CLK_ENABLE源碼如下&#xff1a; #define RCC ((RCC_TypeDef *) RCC_BASE) #define RCC_BASE (AHB1PERIPH_BASE 0x3800UL) #define AHB1PERIPH_BASE (PERIPH_BASE 0x00020000U…

Android Studio kotlin 轉 Java

一. 隨筆記錄 java代碼可以轉化成kotlin代碼&#xff0c;當然 Kotlin 反過來也可以轉java 在Android Studio中 可以很方便的操作 AS 環境&#xff1a;Android Studio Iguana | 2023.2.1 二. 操作步驟 1.步驟 頂部Tools ----->Kotlin ------>Show Kotlin Bytecode 步…

springcloud+nocos從零開始

首先是去nacos官網下載最新的包&#xff1a;Nacos 快速開始 | Nacos win下啟動命令&#xff1a;startup.cmd -m standalone 這樣就可以訪問你的nacos 了。 添加一個配置&#xff0c;記住你的 DataId,和Group名字。 創建一個pom項目&#xff0c;引入springCloud <?xml ve…

python中內存和磁盤交互樣例

目錄 一、內存交互 1.1 變量與數據結構 1.2 對象的創建和方法調用 1.3 操作內存中的數據 二、磁盤交互 2.1 文件讀寫 2.2 操作系統相關的文件操作 2.3 讀寫 JSON 文件 2.4 讀寫 CSV 文件 一、內存交互 內存交互&#xff1a;主要涉及變量、數據結構、對象的創建與操作…

05.13_111期_C++_紅黑樹

紅黑樹的性質 保證樹中最長路徑的長度不超過最短路徑的長度的兩倍 用什么方法保證上面這一點&#xff1f;將樹中的結點視為是有顏色的 采用如下的規則&#xff1a; rule1: 樹中的結點不是紅色就是黑色 rule2: 樹的根節點是黑色的 rule3: 如果一個結點是紅色…

遇見問題-mysql8.0.28 this is incompatible with sql_mode=only_full_group_by

1.錯誤分析以及原因 1.1.sql_mode sql_mode 是數據庫規范校驗規則&#xff0c;比如這里的sql_modeonly_full_group_by 就是一個校驗規則&#xff0c;會規定分組查詢結果集不能有GROUP BY中沒有出現的列。 1.2.問題原因 mysql 5.7.5 版本及以上版本會出現&#xff0c;mysql …

邦注科技 電解式超聲波清洗機的原理介紹

電解式超聲波去除模具表面油污銹跡的原理結合了電解和超聲波技術的優勢。 首先&#xff0c;電解作用是通過在特定的電解槽中&#xff0c;將模具作為陰極&#xff08;放入清洗框即可&#xff09;&#xff0c;并將有制式電極棒作為陽極。在電解過程中&#xff0c;電流如同魔法師…

Cache基本原理--以TC3xx為例(1)

目錄 1.為什么要使用Cache 2.Memory與Cache如何映射 2.1 地址映射概設 3.小結 為什么要使用Cache&#xff1f;為什么在多核工程里要謹慎使用DCache&#xff1f;Cache里的數據、指令是如何與Memory映射&#xff1f; 靈魂三連后&#xff0c;軟件工程師應該都會有模糊的回答&…

【虛擬仿真】Unity3D中實現對大疆無人機遙控器手柄按鍵響應

推薦閱讀 CSDN主頁GitHub開源地址Unity3D插件分享簡書地址QQ群:398291828大家好,我是佛系工程師☆恬靜的小魔龍☆,不定時更新Unity開發技巧,覺得有用記得一鍵三連哦。 一、前言 最近項目中需要用到大疆無人機遙控器對程序中無人機進行控制,遙控器是下圖這一款: 博主發…

微信小程序之九宮格抽獎

1.實現效果 2. 實現步驟 話不多說&#xff0c;直接上代碼 /**index.wxml*/ <view class"table-list flex fcc fwrap"><block wx:for"{{tableList}}" wx:key"id"><view class"table-item btn fcc {{isTurnOver?:grayscale…