检查点将进程的当前读写位置存储在磁盘中用于恢复目的。检查点不仅可以真实地标记 Extract 进程捕获的要进行同步的数据变化以及 Replicat 进程应用到 target 数据库的数据变化,防止进程进行冗余的数据处理,还可以提供容错机制,防止在系统、网络或 Oracle
检查点将进程的当前读写位置存储在磁盘中用于恢复目的。检查点不仅可以真实地标记 Extract进程捕获的要进行同步的数据变化以及 Replicat进程应用到 target数据库的数据变化,防止进程进行冗余的数据处理,还可以提供容错机制,防止在系统、网络或 Oracle GoldenGate进程需要重启时发生数据丢失。对于复杂的同步配置,检查点可以确保多个 Extract或Replicat进程从同一组 trail文件中进行读取操作。检查点和进程间的回执机制共同防止了网络间的信息丢失。 Oracle GoldenGate采用了一套专有的可靠信息传递技术。
Extract进程创建检查点来存储其在数据源中的读取位置以及trail文件中的写入位置信息。由于 Extract进程只捕获已提交的事务,因此 Extract进程必须跟踪所有 open(未提交)事务的操作,才能实时感知这些事务的提交状态。这就要求 Extract进程记录一个检查点来表示该进程当前在事务日志中的读取位置以及最早开始的 open(未提交)事务的起始位置(可能在当前读取的事务日志中,也可能在之前的事务日志中)。为了控制 Extract进程发生中断后必须重新处理的事务日志量,Extract进程会以特定的时间间隔将正在处理的事务(包括长时间运行的事务的状态和数据)的当前状态及数据写入磁盘。当 Extract进程在这些时间间隔中任意某个间隔点停止时,Extract进程可以直接从上一个时间间隔内的某个时间点或者上一个检查点位置开始进行恢复,而不用从事务日志中最早开始的长时间运行事务的起始位置开始进行恢复。这一过程实质上就是 Extract进程的Bounded Recovery机制,详情请参考《Oracle GoldenGate 系列:Extract 进程的恢复原理》,地址:http://blog.csdn.net/xiangsir/article/details/8785484。
Replicat进程创建检查点来存储其在 trail文件中的读取位置。Replicat进程将其检查点信息存储在 target 数据库中的检查点表中来保护其处理的事务的提交信息以及在 trail文件中的读取位置。当数据库进行恢复后,检查点表可以保证数据的一致性,确保即使是在 Replicat进程或者数据库进程发生故障后,一个事务也只会被应用一次。为了实现报告目的,Replicat进程还会在OGG根目录下的 dirchk子目录下写一个检查点文件。对于 initial load之类的非持续性同步配置,不需要检查点机制。
? Extract进程负责维护:
? 3 个输入检查点
? 1 个输出检查点
通过 info extractextract_name,showch命令可以查看上述检查点信息:
Extract进程检查点信息示例
GGSCI(prod.oracle.com) 11> info escott,showch
EXTRACT ESCOTT Last Started 2013-05-23 20:51 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:01 ago)
Log ReadCheckpoint Oracle Redo Logs
2013-05-23 20:52:01 Seqno 201, RBA 352256
SCN 0.1649108 (1649108)
Current CheckpointDetail:
-----三个输入检查点
Read Checkpoint #1
Oracle Redo Log
Startup Checkpoint (starting position in thedata source):
Thread #: 1
Sequence #: 200
RBA: 4214800
Timestamp: 2013-05-23 17:33:36.000000
SCN: 0.1628299 (1628299)
Redo File:/u01/app/oracle/oradata/prod/redo02.log
RecoveryCheckpoint (position of oldest unprocessed transaction in the data source):
Thread #: 1
Sequence #: 201
RBA: 347152
Timestamp: 2013-05-23 20:51:58.000000
SCN: 0.1649106 (1649106)
Redo File:/u01/app/oracle/oradata/prod/redo03.log
CurrentCheckpoint (position of last record read in the data source):
Thread #: 1
Sequence #: 201
RBA: 352256
Timestamp: 2013-05-23 20:52:01.000000
SCN: 0.1649108 (1649108)
Redo File:/u01/app/oracle/oradata/prod/redo03.log
----一个输出检查点
Write Checkpoint #1
GGS Log Trail
CurrentCheckpoint (current write position):
Sequence #: 30
RBA: 1079
Timestamp: 2013-05-23 20:52:04.923545
Extract Trail: ./dirdat/aa
Extract(Pump)进程检查点信息示例
GGSCI(prod.oracle.com) 15> info pscott,showch
EXTRACT PSCOTT Last Started 2013-05-23 21:25 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:06 ago)
Log ReadCheckpoint File ./dirdat/aa000030
First Record RBA 1079
Current CheckpointDetail:
Read Checkpoint #1
GGS Log Trail
Startup Checkpoint (starting position in thedata source):
Sequence #: 30
RBA: 1079
Timestamp: 2013-05-23 20:51:22.385499
Extract Trail: ./dirdat/aa
CurrentCheckpoint (position of last record read in the data source):
Sequence #: 30
RBA: 1079
Timestamp: Not Available
Extract Trail: ./dirdat/aa
Write Checkpoint #1
GGS Log Trail
CurrentCheckpoint (current write position):
Sequence #: 16
RBA: 1251
Timestamp: 2013-05-23 21:37:59.020538
Extract Trail: ./dirdat/pa
Oracle建议在 target数据库中创建检查点表,GoldenGate会同时在检查点文件和检查点表(如果存在)中维护检查点数据。
? Replicat进程负责维护2个输入检查点:
Replicat(Delivery)进程检查点信息示例
GGSCI(dss.oracle.com) 2> info rscott,showch
REPLICAT RSCOTT Last Started 2013-05-23 21:33 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:00 ago)
Log ReadCheckpoint File ./dirdat/pa000016
First Record RBA 1251
Current CheckpointDetail:
Read Checkpoint #1
GGS Log Trail
StartupCheckpoint (starting position in the data source):
Sequence #: 16
RBA: 1251
Timestamp: 2013-05-23 21:26:10.516047
Extract Trail: ./dirdat/pa
CurrentCheckpoint (position of last record read in the data source):
Sequence #: 16
RBA: 1251
Timestamp: Not Available
Extract Trail: ./dirdat/pa
CSN stateinformation:
CRC: 6D-46-5-9A
Latest CSN: 1619129
Latest TXN: 2.32.1145
Latest CSN of finished TXNs: 1619129
Completed TXNs: 2.32.1145
除了上述 infoprocess_name,showch 命令可以查看进程的详细检查点信息外,对于 Replicat进程,我们一般还会配置 checkpoint表,我们还可以在 checkpoint表中获取这些信息。
OGG进程的检查点文件位于 dirchk子目录下,Extract进程的检查点文件扩展名为 cps,Replicat进程的检查点文件扩展名为 cpr:
The different OGG checkpoint files are located underthe dirchk/ location, e.g.
- extract related : *.cpe;
- extract pump (datapump) related : *.cpe;
- bounded recovery related : *.cpb; - refer to 'Bounded Recovery'
- replicat related : *.cpr
源文档 http://www.manishsrivastava-dba.com/2012/11/comparison-of-golden-gate-vs-streams.html>
[oracle@proddirchk]$ ls -lt ESCOTT*
-rw-rw-r-- 1 oracleoinstall 67584 May 23 21:58 ESCOTT.cpe
[oracle@proddirchk]$ ls -lt PSCOTT*
-rw-rw-r-- 1 oracleoinstall 67584 May 23 21:58 PSCOTT.cpe
[oracle@dss dirchk]$ls -lt RSCOTT*
-rw-rw-r-- 1 oracleoinstall 22528 May 23 21:55 RSCOTT.cpr
对于 Replicat进程,我们一般还会配置 checkpoint表,可以直接通过查询检查点表获取进程的检查点信息:
select * fromggs.ggs_checkpoint
Oracle GoldenGate检查点机制工作原理详解:
Extract(Capture)进程如何记录检查点
如上图所示,源数据库中共运行了4个事务:TX1、TX2、TX3和 TX4,Capture(Extract)进程将从事务日志中捕获的最早开始运行的未提交的事务 Begin,TX1 检查点信息、从事务日志中读取的最后一条操作记录Delete,TX4的检查点信息以及按照事务提交顺序写入trail文件的最后一条commit操作 COMMIT,TX3 的检查点信息写入检查点文件(见图中的文本图标)。注意,上图虽未包含事务日志的读取起点信息,并不代表 Extract进程不会将该检查点信息写入磁盘文件。
Extract(Pump)进程如何记录检查点
如上图所示,Pump进程将其在 Extract进程所写的 trail文件中的当前读取位置Commit,TX2以及在自己所写的 remote trail文件中的当前写入位置 Commit,TX2记录到磁盘上的检查点文件中。
Replicat(Delivery)进程如何记录检查点
如上图所示,Replicat进程将其在 Pump文件传送过来的 trail文件中的当前读取位置Commit,TX2写入检查点文件。
作者:xiangsir
QQ:444367417
MSN:xiangsir@hotmail.com

如何有效監控MySQL性能?使用mysqladmin、SHOWGLOBALSTATUS、PerconaMonitoringandManagement(PMM)和MySQLEnterpriseMonitor等工具。 1.使用mysqladmin查看連接數。 2.用SHOWGLOBALSTATUS查看查詢數。 3.PMM提供詳細性能數據和圖形化界面。 4.MySQLEnterpriseMonitor提供豐富的監控功能和報警機制。

MySQL和SQLServer的区别在于:1)MySQL是开源的,适用于Web和嵌入式系统,2)SQLServer是微软的商业产品,适用于企业级应用。两者在存储引擎、性能优化和应用场景上有显著差异,选择时需考虑项目规模和未来扩展性。

在需要高可用性、高級安全性和良好集成性的企業級應用場景下,應選擇SQLServer而不是MySQL。 1)SQLServer提供企業級功能,如高可用性和高級安全性。 2)它與微軟生態系統如VisualStudio和PowerBI緊密集成。 3)SQLServer在性能優化方面表現出色,支持內存優化表和列存儲索引。

mySqlManagesCharacterSetsetSandCollationsyutusututf-8asthEdeFault,允許ConfigurationAtdataBase,table和columnlevels,AndrequiringCarefullageLignmentToavoidMismatches.1)setDefeaultCharactersetTercharactersetEtCollacterSeteTandColletationForAdataBase.2)conformentcollecharactersettersetertersetcollatertersetcollationcollation

MySQL觸發器是與表相關聯的自動執行的存儲過程,用於在特定數據操作時執行一系列操作。 1)觸發器定義與作用:用於數據校驗、日誌記錄等。 2)工作原理:分為BEFORE和AFTER,支持行級觸發。 3)使用示例:可用於記錄薪資變更或更新庫存。 4)調試技巧:使用SHOWTRIGGERS和SHOWCREATETRIGGER命令。 5)性能優化:避免複雜操作,使用索引,管理事務。

在MySQL中創建和管理用戶賬戶的步驟如下:1.創建用戶:使用CREATEUSER'newuser'@'localhost'IDENTIFIEDBY'password';2.分配權限:使用GRANTSELECT,INSERT,UPDATEONmydatabase.TO'newuser'@'localhost';3.修正權限錯誤:使用REVOKEALLPRIVILEGESONmydatabase.FROM'newuser'@'localhost';然後重新分配權限;4.優化權限:使用SHOWGRA

MySQL適合快速開發和中小型應用,Oracle適合大型企業和高可用性需求。 1)MySQL開源、易用,適用於Web應用和中小型企業。 2)Oracle功能強大,適合大型企業和政府機構。 3)MySQL支持多種存儲引擎,Oracle提供豐富的企業級功能。

MySQL相比其他關係型數據庫的劣勢包括:1.性能問題:在處理大規模數據時可能遇到瓶頸,PostgreSQL在復雜查詢和大數據處理上表現更優。 2.擴展性:水平擴展能力不如GoogleSpanner和AmazonAurora。 3.功能限制:在高級功能上不如PostgreSQL和Oracle,某些功能需要更多自定義代碼和維護。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Dreamweaver Mac版
視覺化網頁開發工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中