国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

SQLServer到Oracle通過OGG初始化并通過基于時間的方式開啟復制進程

IT那活兒 / 2163人閱讀
SQLServer到Oracle通過OGG初始化并通過基于時間的方式開啟復制進程
環境介紹

源端:

操作系統版本:

Windows Server 2008 R2 Enterprise

數據庫版本:

Microsoft SQL Server 2008

OGG版本:

Oracle GoldenGate Command Interpreter for SQL Server

Version 12.1.2.1.10 21604177 OGGCORE_12.1.2.1.0OGGBP_PLATFORMS_150902.1337

Windows x64 (optimized), Microsoft SQL Server on Sep 2

Operating system character set identified as GBK.

目標端:

目標端操作系統內核版本:

CentOS Linux release 7.4.1708 (Core)

數據庫版本:

11.2.0.4.0

OGG版本:

Oracle GoldenGate Command Interpreter for Oracle

Version 12.1.2.1.10 21604177 OGGCORE_12.1.2.1.0OGGBP_PLATFORMS_150902.1337_FBO

Linux, x64, 64bit (optimized), Oracle 11g on Sep  2

Operating system character set identified as UTF-8.


方案介紹

當前項目上sqlserver到oracle想要初始化一張新表,需要依賴中間庫,


原始方案

  1. 目標庫sqlserver全部備庫

  2. 中間庫sqlserver全庫恢復

  3. 中間庫通過ogg原有的初始化功能初始化此表數據到目標庫

  4. 初始化完成,源庫和目標庫建立復制關系,基于備份點啟動復制進程

優化后的方案

  1. 源庫直接初始化數據到目標庫

  2. 目標庫搭建復制進程基于初始化時間點之前啟動復制進程

  3. 添加reperror (-1, discard)參數針對主機沖突異常處理

基于時間的優點

sqlserver初始化少量表到oracle,我們這邊項目同步需求相對較多,以前保留的初始化方案是采用第一種原始方案,這就導致這類需要初始化的需求每次提交都要預留一周的操作時間,畢竟備份恢復600G的數據庫耗時和對生產系統的性能影響還是不小的,最后我們通過優化采用基于時間的開啟復制進程方式,大大縮減了中間耗時的時間成本,工作效率提升95%。


操作方案


源庫配置

MGR進程:

GGSCI (crmprddb) 2> view params mgr
PORT 7809
PURGEOLDEXTRACTS dirdatcm* USECHECKPOINTS, MINKEEPDAYS 3
AUTORESTART EXTRACT *, WAITMINUTES 6, RETRIES 5
LAGREPORTMINUTES 5
LAGCRITICALMINUTES 15

投遞進程DPCRM

GGSCI (crmprddb) 3> view params DPCRM
EXTRACT dpcrm
DISCARDFILE dirrptdpcrm.dsc, PURGE
PASSTHRU
RMTHOST 192.168.***.***, MGRPORT 7809
RMTTRAIL dirdat/tr
TABLE *.*;

抽取進程EXTCRM:

GGSCI (crmprddb) 6> view param EXTCRM
EXTRACT extcrm
SOURCEDB ggsadmin, USERID 用戶名, PASSWORD 密碼
TRANLOGOPTIONS MANAGESECONDARYTRUNCATIONPOINT
DYNAMICRESOLUTION
REPORTCOUNT EVERY 30 MINUTES, RATE
DISCARDFILE dirrptextcrm.dsc, PURGE
EXTTRAIL dirdatcm
GETUPDATEBEFORES
NOCOMPRESSUPDATES
NOCOMPRESSDELETES
TABLE dbo.ACCOUNTBASE; --投遞的表
TABLE MetaDataSchema.ENTITY;


源端操作


1. 增加test表表級附加日志

dblogin sourcedb test, userid test, password test

add trandata  dbo. test

--查看附加日志是否添加

info trandata  dbo. test

2. 將test表添加到抽取進程

edit params EXTCRM

table dbo. test;

3. 源端重啟抽取進程

stop *

start *

4. 源端修改defgen配置文件,重新生成defgen文件,并傳輸到目標端

vi ./dirprm/defgen.prm

table dbo. test;

重新生產定義文件scp到目標端

defgen paramfile d:oggdirprmdefgen.prm

5. 目標端重啟crm復制進程,讓新defgen文件生效

scp ./dirdef/crm.def oracle@192.168.***.***:/oracle/ogg/dirdef/

stop *

start *

6. 源庫配置初始化進程

initcrm1:源端初始化進程名

intcrm1:目標端初始化進程名

GGSCI> ADD EXTRACT initcrm1, SOURCEISTABLE
GGSCI> edit params initcrm1
EXTRACT initcrm1
SOURCEDB test, USERID test, PASSWORD test
RMTHOST 192.168.***.***, MGRPORT 7809
RMTTASK REPLICAT, GROUP intcrm1
table dbo.test;


目標端配置


新增初始化進程intcrm1


GGSCI> ADD replicat intcrm1, specialrun
GGSCI> edit params intcrm1
SETENV (ORACLE_HOME = "/oracle/product/11.2.0" )
SETENV (ORACLE_SID = "odsdb")
SETENV (NLS_LANG = "American_America.AL32UTF8")
REPLICAT intcrm1
USERID ggsadmin, PASSWORD ggsadmin
--BULKLOAD
SOURCEDEFS /oracle/ogg/dirdef/crm.def
MAP dbo.test, TARGET bi_ods. test


源端啟動初始化進程

start initcrm1

查看初始化進程執行情況

info * , task

開啟初始化進程后,通過info * , task查看同步狀態,初始化進程同步完成后會自動斷開


基于時間啟動復制進程

新加復制進程CRMTEST,基于時間點:

ADD REPLICAT CRMTEST, EXTTRAIL dirdat/tr,BEGIN 2021-05-07 17:00:00

添加主鍵沖突異常處理參數:

reperror (-1, discard) 此參數針對ora-00001主鍵沖突報錯,直接跳過

GGSCI> dblogin userid test,password test
GGSCI> ADD REPLICAT CRMTEST, EXTTRAIL dirdat/tr,BEGIN 2021-05-07 17:00:00
GGSCI> edit params CRMTEST
INCLUDE dirprm/upd.mac
SETENV (ORACLE_HOME = "/oracle/product/11.2.0")
SETENV (ORACLE_SID = "odsdb")
SETENV (NLS_LANG = "American_America.AL32UTF8")
REPLICAT CRMTEST
USERID ggsadmin, PASSWORD ggsadmin
DISCARDFILE ./dircrd/CRMTEST.dsc, PURGE
SOURCEDEFS /oracle/ogg/dirdef/crm.def
SQLEXEC "ALTER SESSION SET COMMIT_WAIT = NOWAIT"
BATCHSQL
DBOPTIONS DEFERREFCONST
DBOPTIONS SUPPRESSTRIGGERS
ALLOWDUPTARGETMAP
reperror (-1, discard)
MAP dbo.test, TARGET bi_ods.test;

啟動復制進程

alter replicat CRMTEST, extseqno 022983, extrba 0
start CRMTEST

刪除異常處理參數

通過 info CRMTEST 查看進程同步情況,當進程同步追上以后,刪除reperror (-1, discard)

參數,至此基于時間的異構數據庫ogg表同步配置完成。


END


更多精彩干貨分享

點擊下方名片關注

IT那活兒


文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129878.html

相關文章

  • OGG Integrated Native DDL簡單測試

    OGG Integrated Native DDL簡單測試 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%;...

    IT那活兒 評論0 收藏1085
  • DBASK問答集萃第四期

    摘要:問題九庫控制文件擴展報錯庫的擴展報錯,用的是裸設備,和還是原來大小,主庫的沒有報錯,并且大小沒有變,求解釋。專家解答從報錯可以看出,控制文件從個塊擴展到個塊時報錯,而裸設備最大只支持個塊,無法擴展,可以嘗試將參數改小,避免控制文件報錯。 鏈接描述引言 近期我們在DBASK小程序新關聯了運維之美、高端存儲知識、一森咖記、運維咖啡吧等數據領域的公眾號,歡迎大家閱讀分享。 問答集萃 接下來,...

    SKYZACK 評論0 收藏0

發表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<