Oracle日志系統之附加日志

Oracle日志系統之附加日志

在 Oracle 數據庫中,附加日志(Supplemental Log)是一種增強日志記錄的機制,用于在數據庫的 redo log 中記錄更多的變更信息,尤其是在進行數據遷移、復制和同步等任務時,能夠確保捕獲更多的數據庫變更信息。

從生效范圍劃分,可以分為表級附加日志和庫級附加日志,其SQL語句的不同之處在于前者是ALTER TABLE,而后者為ALTER DATABASE

從補充日志的內容上可以分為兩大類:最小補充日志和標識鍵補充日志;標識鍵補充日志又分為ALL、PK、UNIQUE、FK四個級別。

NONE(默認級別)

NONE是補充日志的默認開啟級別,在此級別下,Oracle只會記錄對數據的基本DML操作的必要信息,并且不會記錄任何額外的細節(如主鍵或唯一約束的信息)。

  • 適用于普通的數據庫操作,不會額外消耗存儲空間。
  • 適合對復制或數據庫變更同步要求較低的應用場景。

啟用SQL如下:

-- 在數據庫級別開啟最小補充日志
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

ALL(所有列補充日志)

ALL補充日志級別是最全面的設置,它記錄了表中所有列的變更信息,無論這些列是否是主鍵、唯一約束、索引等。這意味著,無論是哪一列發生變更,Oracle 都會將這些變更記錄到 redo log 中,提供最詳細的日志信息。

  • 適用于嚴格的數據復制和同步場景,確保捕獲每個數據變更的詳細信息。
  • 但需注意,ALL補充日志會給存儲系統帶來較大壓力,導致 redo log 的占用空間快速增加。

啟動SQL如下:

--在數據庫級別開啟所有列的補充日志:
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;

PRIMARY KEY(主鍵補充日志)

當啟用主鍵補充日志級別時,Oracle 會記錄涉及表主鍵的 DML 操作的變更信息。這意味著,即使沒有顯式更新主鍵列,Oracle 也會在 redo log 中記錄主鍵信息。

  • 適用于需要基于主鍵進行數據同步主鍵驅動的復制系統

啟動SQL如下:

--在數據庫級別開啟主鍵的補充日志:
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;

UNIQUE(唯一鍵補充日志)

當啟用唯一鍵補充日志級別時,Oracle 會記錄涉及表唯一鍵的 DML 操作的變更信息,即只有當唯一索引字段被修改時,才會記錄該字段的舊值。使數據庫將行的復合唯一鍵或位圖索引的所有列放入重做日志文件中。唯一鍵可以是由唯一約束或唯一索引引起的。

啟動SQL如下:

--在數據庫級別開啟唯一索引的補充日志:
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;

FOREIGN KEY(外鍵補充日志)

當啟用外鍵補充日志級別時,Oracle 會記錄涉及表外鍵的 DML 操作的變更信息,即只有當外鍵被字段被修改時,才會記錄該字段的舊值。
啟動SQL如下:

--在數據庫級別開啟外鍵的補充日志:
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (FOREIGN KEY) COLUMNS;

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

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

相關文章

使用源碼編譯安裝golang的docker版

編譯規則 1.4之前用C寫的&#xff0c;1.4可編譯后續一直到1.9版本&#xff0c;后續版本實現了自舉&#xff0c;后續版本是go寫的&#xff0c;基本上相互低2個版本能編譯出新版本。 Go < 1.4&#xff1a;C 工具鏈。 1.5 < Go < 1.19&#xff1a;Go 1.4 編譯器。 1.20…

Android平臺 Hal AIDL 系列文章目錄

目錄 1. Android Hal AIDL 簡介2. AIDL 語言簡介3. Android 接口定義語言 (AIDL)4. 定義AIDL 接口5. AIDL 中如何傳遞 Parcelable 對象6. 如何使用AIDL 定義的遠程接口進行跨進程通信7. 適用于 HAL 的 AIDL8. Android Hal AIDL 編譯調試9. 高版本Android (AIDL HAL) 沿用HIDL方…

【失敗】Gnome將默認終端設置為 Kitty

起因 一會兒gnome-terminal一會兒kitty終端&#xff0c;實在是受不了&#xff0c;決定取締默認的gnome-terminal。 過程 在 Ubuntu 或 Debian 系統上&#xff1a; 確保 Kitty 已經安裝。如果未安裝&#xff0c;可以在終端中運行命令sudo apt install kitty -y進行安裝。 使用系…

Linux工具學習之【gcc/g++】

&#x1f4d8;前言 書接上文&#xff0c;我們已經學習了 Linux 中的編輯器 vim 的相關使用方法&#xff0c;現在已經能直接在 Linux 中編寫C/C代碼&#xff0c;有了代碼之后就要嘗試去編譯并運行它&#xff0c;此時就可以學習一下 Linux 中的編譯器 gcc/g 了&#xff0c;我們一…

微信小程序文字混合、填充動畫有效果圖

效果圖 .wxml <view class"text" style"--deg:{{deg}}deg;"><view>混合父級顏色</view> </view> <view class"fill {{status?action:}}">文字顏色填充</view> <button bind:tap"setStatus"…

C++:PTA L1-006 連續因子

一個正整數 N 的因子中可能存在若干連續的數字。例如 630 可以分解為 3567&#xff0c;其中 5、6、7 就是 3 個連續的數字。給定任一正整數 N&#xff0c;要求編寫程序求出最長連續因子的個數&#xff0c;并輸出最小的連續因子序列。 輸入格式&#xff1a; 輸入在一行中給出一…

分享:批量提取圖片文字并自動命名文件,ocr識別圖片指定區域并重命名文件名工具,基于WPF和騰訊OCR識別的接口的視線方案

一、項目背景 在處理大量圖片時,常常需要從圖片中提取特定區域的文字信息,并依據這些信息對圖片進行重命名。例如,在檔案管理領域,大量紙質文件被掃描成圖片后,需要從圖片中提取關鍵信息(如文件編號、日期等)來重命名圖片,以便后續的檢索和管理;在電商領域,商家可能…

匯編語言中的數據

在匯編語言中&#xff0c;程序都是由指令流構成的&#xff0c;而指令一般是由操作符和操作數組成的&#xff0c;操作符是CPU用來完成某項功能的操作&#xff0c;而操作數是操作符所處理加工的對象。比如&#xff1a;add eax, 42&#xff0c;add是執行一個加法運算的操作符&…

C++17 信號量模擬實現

C17 信號量模擬實現 一、實現原理 C17 標準庫沒有原生信號量(C20才有)&#xff0c;但可以通過 std::mutex std::condition_variable 模擬實現。以下是核心邏輯&#xff1a; #include <mutex> #include <condition_variable>class CountingSemaphore { private:…

C++ 網絡層接口設計與實現:基于 Socket 編程

在網絡編程中&#xff0c;網絡層是 OSI 七層模型中負責將數據從源節點傳輸到目的節點的關鍵層次。在 C 中&#xff0c;網絡層的功能通常通過 Socket 編程接口來實現。Socket 提供了一種抽象機制&#xff0c;允許應用程序通過網絡發送和接收數據。本文將詳細介紹如何在 C 中使用…

uniapp中uni-easyinput 使用@input 不改變綁定的值

只允許輸入數字和字母 使用input 正則replace后賦值給A 遇到問題: 當輸入任意連續的非法字符時, 輸入框不變. 直到輸入一個合法字符非法字符才成功被過濾. <uni-forms-item label"納稅人識別號" name"number"><uni-easyinput v-model"numb…

Docker安裝hoppscotch

Docker安裝hoppscotch 1 簡介 1.1 Hoppscotch?系統 ?Hoppscotch?是一個輕量、高效的[API開發生態系統&#xff0c;開源于2020年&#xff0c;原名Postwoman&#xff0c;后更名為Hoppscotch。它基于Node.js構建&#xff0c;支持多種HTTP請求方法&#xff0c;包括GET、POST、…

1.Axum 與 Tokio:異步編程的完美結合

摘要 深入解析 Axum 核心架構與 Tokio 異步運行時的集成&#xff0c;掌握關鍵原理與實踐技巧。 一、引言 在當今的軟件開發領域&#xff0c;高并發和高性能是衡量一個系統優劣的重要指標。對于 Web 服務器而言&#xff0c;能夠高效地處理大量并發請求是至關重要的。Rust 語言…

CSS偽元素

偽元素 偽元素 用于在元素的內容前后或特定部分插入虛擬元素&#xff0c;并為其添加樣式&#xff0c;無需修改 HTML 結構。 語法&#xff1a;使用雙冒號 ::&#xff08;現代規范&#xff09; 以下是一些常見的CSS偽元素的示例&#xff1a; 1.::before &#xff1a; 在元素內…

easyexcel使用模板填充excel坑點總結

1.單層map設置值是{屬性}&#xff0c;那使用兩層map進行設置值&#xff0c;是不是可以使用{屬性.屬性}&#xff0c;以為取出map里字段只用{屬性}就可以設置值&#xff0c;那再加個.就可以從里邊map取出對應屬性&#xff0c;沒有兩層map寫法 填充得到的文件打開報錯 was empty (…

在Ubuntu服務器上部署xinference

一、拉取鏡像 docker pull xprobe/xinference:latest二、啟動容器&#xff08;GPU&#xff09; docker run -d --name xinference -e XINFERENCE_MODEL_SRCmodelscope -p 9997:9997 --gpus all xprobe/xinference:latest xinference-local -H 0.0.0.0 # 啟動一個新的Docker容…

三周年創作紀念日

文章目錄 回顧與收獲三年收獲的五個維度未來的展望致謝與呼喚 親愛的社區朋友們&#xff0c;大家好&#xff01; 今天是 2025 年 4 月 14 日&#xff0c;距離我在 2022 年 4 月 14 日發布第一篇技術博客《SonarQube 部署》整整 1,095 天。在這條創作之路上&#xff0c;我既感慨…

Redis——五種數據類型

目錄 前言 1.String 1.1RAW編碼 1.2EMBSTR編碼 1.3 INT編碼 2.List 3.Set 3.1 InSet編碼轉化成Dict編碼 4.ZSet 4.1結合SkipList和HT實現 4.2使用ZipList實現 4.3編碼轉換 4.4 ZipList排序功能 5.Hash 5.1Hash底層存儲結構 6.Redis數據結構和數據類型關系圖 前言…

zookeeper啟動報錯have small server identifier

解決方案&#xff1a; 1、查看myid是否有重復 2、查看server.X 與myid的X是否一致 3、啟動順序為myid從小到大的服務器順序

#Linux動態大小裁剪以及包大小變大排查思路

1 動態庫裁剪 庫分為動態庫和靜態庫&#xff0c;動態庫是在程序運行時才加載&#xff0c;靜態庫是在編譯時就加載到程序中。動態庫的大小通常比靜態庫小&#xff0c;因為動態庫只包含了程序需要的函數和數據&#xff0c;而靜態庫則包含了所有的函數和數據。靜態庫可以理解為引入…