最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

初識(shí)FlinkX-Oracle Logminer模塊

2021-03-19 14:46 作者:袋鼠云  | 我要投稿

本文作者:楊槐(花名:渡劫)袋鼠云大數(shù)據(jù)開發(fā)工程師,負(fù)責(zé)FLinkx的開發(fā)與維護(hù)。

本文首發(fā)于:數(shù)棧研習(xí)社

我們?cè)趃ithub上還有關(guān)于FlinkX的開源項(xiàng)目,歡迎大家給我們點(diǎn)個(gè)star~

https://github.com/DTStack/flinkx


FlinkX-Oracle Logminer模塊是FlinkX基于Logminer對(duì)Oracle重做日志進(jìn)行實(shí)時(shí)采集分析,可對(duì)Oracle進(jìn)行實(shí)時(shí)同步也可以通過(guò)指定SCN或者時(shí)間戳從某個(gè)節(jié)點(diǎn)進(jìn)行同步,同時(shí)通過(guò)記錄SCN號(hào)支持續(xù)跑功能。

一、Logminer介紹與使用

Logminer是Oracle公司從產(chǎn)品8i以后提供的一個(gè)實(shí)際非常有用的分析工具,使用該工具可以輕松獲得Oracle重做日志文件(歸檔日志文件)中的具體內(nèi)容,Logminer分析工具實(shí)際上是由一組PL/SQL包和一些動(dòng)態(tài)視圖組成,它作為Oracle數(shù)據(jù)庫(kù)的一部分來(lái)發(fā)布,是Oracle公司提供的一個(gè)完全免費(fèi)的工具。

Logminer讀取重做日志文件的內(nèi)容并加載到視圖v$logmnr_contents中,可通過(guò)SQL對(duì)視圖v$logmnr_contents 讀取獲取到實(shí)時(shí)數(shù)據(jù)。

1、Oracle重做日志

Oracle的重做日志分為在線重做日志和歸檔重做日志。

Online Redo log files--在線重做日志,又稱聯(lián)機(jī)重做日志,指Oracle以SQL腳本的形式實(shí)時(shí)記錄數(shù)據(jù)庫(kù)的數(shù)據(jù)更新,換句話說(shuō),實(shí)時(shí)保存已執(zhí)行的SQL腳本到在線日志文件中(按特定的格式)。

Archive Redo log files--歸檔重做日志,簡(jiǎn)稱歸檔日志,指當(dāng)條件滿足時(shí),Oracle將在線重做日志以文件形式保存到硬盤(持久化)。

2、補(bǔ)充日志

補(bǔ)充日志不是獨(dú)立的一種日志,為了性能考慮,在Update時(shí),重做日志默認(rèn)只記錄更改字段的前后值,而開啟了補(bǔ)充日志后,會(huì)將更新前后的所有字段的值記錄。

3、Oracle重做日志寫入流程

Oracle重做日志采用循環(huán)寫入的方式,每一個(gè)Oracle實(shí)例至少擁有2組日志組。

Oracle重做日志一般由Oracle自動(dòng)切換,重做日志文件在當(dāng)LGWR進(jìn)程停止寫入并開始寫入下一個(gè)日志組時(shí)發(fā)生切換,或在用戶收到發(fā)出ALTER SYSTEM SWITCH LOGFILE時(shí)發(fā)生切換。如果Oracle數(shù)據(jù)庫(kù)開啟了歸檔功能,則在日志組發(fā)生切換的時(shí)候,上一個(gè)日志組的日志文件會(huì)被歸檔到歸檔目錄里。

4、Logminer字典

Oracle數(shù)據(jù)字典記錄當(dāng)前所有表的信息,字段的信息等等。Logminer使用字典將內(nèi)部對(duì)象標(biāo)識(shí)符和數(shù)據(jù)類型轉(zhuǎn)換為對(duì)象名稱和外部數(shù)據(jù)格式。如果沒有字典,Logminer將返回內(nèi)部對(duì)象ID,并將數(shù)據(jù)顯示為二進(jìn)制數(shù)。

對(duì)于下面的Insert語(yǔ)句

沒有設(shè)置字典顯示的內(nèi)容為:

Logminer提供了三種字典選項(xiàng):

??? Using the Online Catalog
??? Extracting a Logminer Dictionary to the Redo Log Files
??? Extracting the Logminer Dictionary to a Flat File

FlinkX使用的是Online Catalog

5、Logminer 使用步驟

第一步:為L(zhǎng)ogminer增加日志文件

第二步:開啟Logminer

第三步:讀取數(shù)據(jù)

查出的數(shù)據(jù)格式如下圖所示:

二、FlinkX和Logminer集成

1、Logminer模塊流程解析

Logminer模塊主要分為三部分

??? 日志文件查找:

查詢?cè)诰€日志與歸檔日志

??? 日志文件加載及開啟Logminer

將日志文件加載到Logminer中,Logminer會(huì)將日志文件內(nèi)容轉(zhuǎn)化到v$logmnr_contents視圖里

??? 數(shù)據(jù)查詢與解析

根據(jù)過(guò)濾條件,查詢v$logmnr_contents數(shù)據(jù),獲得數(shù)據(jù),并對(duì)sql_redo字段內(nèi)容進(jìn)行解析


2、日志文件的查找

Logminer通過(guò)加載重做日志文件,將其中的內(nèi)容根據(jù)字典轉(zhuǎn)化到v$logmnr_contents中,因此第一步為L(zhǎng)ogminer找到需要加載的重做日志文件

Oracle 重做日志文件分為在線重做日志和歸檔重做日志,其中在線重做日志可以在v$log以及v$logfile中查詢到,而歸檔重做日志可以在v$archived_log查找到,一般是通過(guò)scn號(hào)進(jìn)行查詢過(guò)濾。


3、日志文件的加載與開啟

將日志文件加載到Logminer中,并開啟Logminer

Logminer第一次添加日志

SYS.DBMS_LOGMNR.add_logfile(l_log_rec.name, SYS.DBMS_LOGMNR.new)

Logminer后續(xù)添加日志

SYS.DBMS_LOGMNR.add_logfile(l_log_rec.name)

開啟Logminer


4、查找數(shù)據(jù)

Logminer會(huì)將加載的日志文件內(nèi)容輸出到視圖v$logmnr_contents里,只需要按照一定的過(guò)濾條件查找到自己想要監(jiān)聽的數(shù)據(jù)即可。目前僅支持表名以及對(duì)應(yīng)的動(dòng)作(update/delete/insert)進(jìn)行過(guò)濾。

三、Logminer實(shí)戰(zhàn)示例

Logminer->hive腳本


初識(shí)FlinkX-Oracle Logminer模塊的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
渭南市| 泌阳县| 鹰潭市| 巩留县| 乐安县| 景德镇市| 台中市| 松原市| 辽阳市| 烟台市| 石嘴山市| 汉沽区| 兴安盟| 土默特右旗| 海淀区| 祁东县| 海安县| 宣汉县| 应城市| 五莲县| 林甸县| 永兴县| 茌平县| 洪泽县| 修水县| 安乡县| 宿迁市| 会昌县| 五莲县| 白水县| 贵阳市| 龙口市| 东源县| 安龙县| 绥德县| 安多县| 北安市| 昌图县| 阆中市| 龙川县| 游戏|