這篇文章將為大家詳細(xì)講解有關(guān)Oracle附加日志是怎樣的,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
站在用戶的角度思考問題,與客戶深入溝通,找到浮山網(wǎng)站設(shè)計與浮山網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站設(shè)計、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、主機(jī)域名、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋浮山地區(qū)。
Oracle附加日志
分類分為兩個等級:數(shù)據(jù)庫級和表級
數(shù)據(jù)庫級附加日志
– 視圖v$database
? SUPPLEMENTAL_LOG_DATA_MIN:最小附加日志,開關(guān)
最小補充日志:是最基本的一種數(shù)據(jù)庫級補充日志,而 LogMiner 正是依賴最小補充日志工作服務(wù)的(即識別 行移動 行遷移)
啟用最小補充日志命令:
ALTER DATABASE ADD Supplemental LOG DATA;
關(guān)閉最小補充日志命令:
ALTER DATABASE DROP Supplemental Log Data;
? SUPPLEMENTAL_LOG_DATA_PK:記錄所有變化記錄主鍵
在update 命令的重做記錄中添加被修改行的主鍵字段的舊值,無論是否被修改,都記錄。 如果表沒有主鍵,則由長度最小的唯一索引字段代替,若連唯一索引也沒有,則記錄該行所有字段。
alterdatabaseaddsupplemental log data (Primarykey) columns;
? SUPPLEMENTAL_LOG_DATA_UI:記錄所有變化記錄唯一索引
唯一索引補充日志:唯一索引主要是為 復(fù)合索引(唯一)服務(wù)的。只有唯一索引的字段被 update 時,才會記錄該字段被修改前的值
alter database add supplemental log data (unique) columns;
? supplemental_log_data_fk:
外鍵補充日志:同唯一索引補充日志一樣,只有外鍵字段被 update 時,才會記錄被修改前的舊值,即也是為復(fù)合外鍵服務(wù)的。
alter database add supplemental log data (foreign key ) columns;
? SUPPLEMENTAL_LOG_DATA_ALL: 記錄所有變化記錄全部列
全體字段補充日志:顧名思義就所有字段的值不論是否被修改都記錄。會導(dǎo)致磁盤快速增長,LGWR進(jìn)程繁忙。不建議使用。
alter database add supplemental log data (all) columns;
-建議只打開最小附加日志, 并打開所需復(fù)制表的表級附加日志
? ALTER DATABASE add | drop SUPPLEMENTAL LOG DATA;
? 目的是產(chǎn)生最小日志增量,避免對生產(chǎn)主機(jī)產(chǎn)生較大影響
查詢當(dāng)前設(shè)置
SELECT supplemental_log_data_min min,
supplemental_log_data_pk pk,
supplemental_log_data_ui ui,
supplemental_log_data_fk fk,
supplemental_log_data_all allc
FROM v$database;
表級附加日志
– 通過OGG命令行中的add trandata schema.table 命令添加
– 如果有主鍵則只加入主鍵;無主鍵添加唯一索引;兩者皆無,則添加所有列
– 相當(dāng)于數(shù)據(jù)庫里面通過Alter tableadd supplemental log group
(column,..) always; (可查詢dba_log_group_columns)
實驗環(huán)境
1、源和目標(biāo)都創(chuàng)建表:
源表:create table tb10(col1 int primary key, col2 int, col3 int);
目標(biāo):create table tb10(col1 int primary key, col2 int, col3 int);
2. 配置本地抽取進(jìn)程
GGSCI (pc6 as ogg@hyyk) 27> add extract test tranlog begin now
GGSCI (pc6 as ogg@hyyk) 36> add exttrail ./dirdat/oo,extract test
GGSCI (pc6 as ogg@hyyk) 33> edit params test
extract test
setenv (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")
setenv (ORACLE_SID="hyyk")
userid ogg,password oracle
gettruncates
exttrail ./dirdat/oo
table sender.tb10;
GGSCI (pc6 as ogg@hyyk) 49> add trandata sender.tb10
增加表級附加日志
3.配置投遞進(jìn)程
GGSCI (pc6 as ogg@hyyk) 39> add extract t_dump exttrailsource ./dirdat/oo
GGSCI (pc6 as ogg@hyyk) 41> add rmttrail /u01/app/oggd/dirdat/vv,extract t_dump
GGSCI (pc6 as ogg@hyyk) 42> edit params t_dump
extract t_dump
tranlogoptions excludeuser ogg
setenv (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")
setenv (ORACLE_SID="hyyk")
passthru
userid ogg,password oracle
rmthost 192.168.1.80,mgrport 7809
rmttrail /u01/app/oggd/dirdat/vv
table sender.tb10;
4.在目標(biāo)端配置復(fù)制進(jìn)程
GGSCI (ogg-80 as ogg@ogg) 3> add replicat rep_t,exttrail ./dirdat/vv,checkpointtable ogg.checkpoint
GGSCI (ogg-80 as ogg@ogg) 5> edit params rep_t
replicat rep_t
--handlecollisions
assumetargetdefs
setenv (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")
setenv (ORACLE_SID="ogg")
userid ogg,password oracle
map sender.tb10,target receiver.tb10;
實驗之前看一看在源表執(zhí)行 insert update delete
數(shù)據(jù)分析:Insert
我們在源表插入數(shù)據(jù)
SENDER@hyyk> insert into tb10 values(1,2,3);
SENDER@hyyk> commit;
在目標(biāo)端查詢
我們在源端使用dumplog查看
Logdump 72 >open ./dirdat/ww000000000
Current LogTrail is /u01/app/oggs/dirdat/ww000000000
Logdump 73 >ghdr on
Logdump 74 >detail on
Logdump 75 >detail date
這里就驗證了trail文件中只有后映像
數(shù)據(jù)分析:update
我們在目標(biāo)端
SENDER@hyyk> update tb10 set col2=4 where col1=1;
SENDER@hyyk> commit;
目標(biāo)段查詢
使用dumplog查看
這里執(zhí)行update tb10 set col2=4 where col1=1;
Logdump會有col1的記錄呢
這里就是要說明Oracle日志缺省只記錄變化的列和附加日志對應(yīng)列,附加日志對應(yīng)的就是主鍵的列,col1 就是逐漸列。
數(shù)據(jù)分析:delete
在目標(biāo)執(zhí)行
SENDER@hyyk> delete tb10 where col1=1;
SENDER@hyyk> commit;
SENDER@hyyk> select * from tb10;
no rows selected
在目標(biāo)段查詢使用dumplog查看
這里要說明delete操作只保留前映像的
關(guān)于Oracle附加日志是怎樣的就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
網(wǎng)頁標(biāo)題:Oracle附加日志是怎樣的
路徑分享:http://chinadenli.net/article34/gpdpse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、關(guān)鍵詞優(yōu)化、移動網(wǎng)站建設(shè)、網(wǎng)站排名、全網(wǎng)營銷推廣、網(wǎng)頁設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)