1. 程式人生 > >OGG進程拆分

OGG進程拆分

running 根據 cfq anti mes oracl card 入庫 status

36個數據庫的12張表目標端入庫進程拆分 由於目標端OGG入庫進程同步的表較多,數據量較大,導致入庫進程出現延時。在主機CPU和內存足夠的情況下,可以對出現延時的進程進行拆分,將一個進程中的多個表分給其他進程來同步,或者幾個進程同步一張數據量大的表也是可以的。 拆分進程的流程說明: 1)查找拆分表所在的進程 2)停拆分的表所在的進程 3)獲取拆分表所在進程的seqno和rba號 4)排表(MAPEXCLUDE) 5)添加拆分後的進程 6)指定拆分後的進程讀取隊列文件的seqno和rba號 7)編輯拆分的新進程 8)啟動進程 註意:請先看明白以上流程後,再執行以下操作! 1、確定需要拆分進程的表(本示例共拆分12張表)
HX_SB.SB_DKDJ_SKBG 該表拆分3個進程 HX_SB.SB_SBB 該表拆分6個進程 HX_SB.SB_ZZS_FB_ZZSJMSSBMXB_MSXM 該表拆分3個進程 HX_SB.SB_ZZS_XGM 該表拆分6個進程 HX_SB.SB_ZZS_XGM_FB_FLZL 該表拆分3個進程 HX_SB.SB_ZZS_YBNSR 該表拆分3個進程 HX_SB.SB_ZZS_YBNSR_FB_JXSEJGMXB 該表拆分6個進程 HX_SB.SB_ZZS_YBNSR_FB_YGZSFFXCSM 該表拆分3個進程 HX_SB.SB_ZZS_YBNSR_FB_YNSEAYSKM 該表拆分3個進程 HX_SB.SB_ZZS_YBNSR_FB1_BQXSQKMX 該表拆分6個進程 HX_SB.SB_ZZS_YBNSR_FB2_BQJXSEMX 該表拆分6個進程 HX_SB.SB_ZZS_YBNSR_FB5_BDCFQDKB 該表拆分3個進程 2、以上12張表所在的進程就是需要被拆分的進程。找出需要拆分的12張表所在的進程:
示例: view param RZG_FF2B --HX_SB.SB_SBB view param RZG_FF2H --HX_SB.SB_ZZS_YBNSR_FB1_BQXSQKMX view param RZG_FF2I --HX_SB.SB_ZZS_YBNSR_FB2_BQJXSEMX view param RZG_FF2J --HX_SB.SB_ZZS_YBNSR HX_SB.SB_ZZS_XGM view param RZG_FF2N --HX_SB.SB_ZZS_XGM_FB_FLZL view param RZG_FF2A --包含了剩余的6張表 3、停需要拆分(排表)的入庫進程
stop RZG_FF2B stop RZG_FF2H stop RZG_FF2I stop RZG_FF2J stop RZG_FF2N stop RZG_FF2A 4、取當前seqno和rba號,如xx單位如下 示例: GGSCI (nmsthxffdb01) 3> info RZG_FF2B REPLICAT RZG_FF2B Last Started 2017-01-14 19:07 Status RUNNING Checkpoint Lag 01:23:38 (updated 02:20:38 ago) Log Read Checkpoint File ./dirdat/zb002751 2017-01-14 17:22:34.052064 RBA 347329296 info RZG_FF2B -- zb002751 RBA 347329296 info RZG_FF2H -- zb002751 RBA 347335602 info RZG_FF2I -- zb002751 RBA 347335602 info RZG_FF2J -- zb002751 RBA 347335602 info RZG_FF2N -- zb002751 RBA 347378402 info RZG_FF2A -- zb002751 RBA 347521117 5、對原進程進行排表(編輯進程,添加排除表的語句,如果進程中只有1張表,無需排除) 示例(添加下面MAPEXCLUDE 排表語句,加到最後一個參數下面,然後保存退出): eidt param RZG_FF2A MAPEXCLUDE HX_SB.SB_DKDJ_SKBG; MAPEXCLUDE HX_SB.SB_ZZS_YBNSR_FB_JXSEJGMXB; MAPEXCLUDE HX_SB.SB_ZZS_YBNSR_FB_YGZSFFXCSM; MAPEXCLUDE HX_SB.SB_ZZS_YBNSR_FB_YNSEAYSKM; MAPEXCLUDE HX_SB.SB_ZZS_FB_ZZSJMSSBMXB_MSXM; MAPEXCLUDE HX_SB.SB_ZZS_YBNSR_FB5_BDCFQDKB; 6、添加拆分後的進程,根據上面查到的數據量大小拆分一個進程為多個進程(3或者6個進程),新進程命名格式:RSB_P** , 其中"*"表示數字,且從01開始遞增 示例: 拆分三個進程如下: add replicat RSB_P01, exttrail ./dirdat/zb add replicat RSB_P02, exttrail ./dirdat/zb add replicat RSB_P03, exttrail ./dirdat/zb 拆分六個進程如下: add replicat RSB_P04, exttrail ./dirdat/zb add replicat RSB_P05, exttrail ./dirdat/zb add replicat RSB_P06, exttrail ./dirdat/zb add replicat RSB_P07, exttrail ./dirdat/zb add replicat RSB_P08, exttrail ./dirdat/zb add replicat RSB_P09, exttrail ./dirdat/zb 7、指定拆分新進程的seqno和rba,上面“info 進程名” (註意進程名對應關系) 拆分三個進程如下: alter replicat RSB_P01, extseqno 002751 ,extrba 347521117 alter replicat RSB_P02, extseqno 002751 ,extrba 347521117 alter replicat RSB_P03, extseqno 002751 ,extrba 347521117 拆分六個進程如下: alter replicat RSB_P04, extseqno 002751 ,extrba 347329296 alter replicat RSB_P05, extseqno 002751 ,extrba 347329296 alter replicat RSB_P06, extseqno 002751 ,extrba 347329296 alter replicat RSB_P07, extseqno 002751 ,extrba 347329296 alter replicat RSB_P08, extseqno 002751 ,extrba 347329296 alter replicat RSB_P09, extseqno 002751 ,extrba 347329296 8、編輯拆分的新進程 註意: 1)replicat rsb_p01 2)DISCARDFILE ./dirrpt/rsb_p01.dsc,APPEND,MEGABYTES 100 3)拆分的表名 示例: edit param RSB_P01 replicat rsb_p01 SETENV (ORACLE_SID="nmsthxff") SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8) Userid ggs,PASSWORD AACAAAAAAAAAAAIAUCOJGDDFPFHEGCPD, BLOWFISH, ENCRYPTKEY DEFAULT REPORT AT 01:59 REPORTROLLOVER AT 02:00 CACHEMGR, CACHESIZE 256MB REPERROR DEFAULT,ABEND DISCARDFILE ./dirrpt/rsb_p01.dsc,APPEND,MEGABYTES 100 DISCARDROLLOVER AT 06:00 GETTRUNCATES NUMFILES 3000 EOFDELAYCSECS 30 ASSUMETARGETDEFS ALLOWNOOPUPDATES DYNAMICRESOLUTION GETUPDATEBEFORES NOCOMPRESSDELETES MAP HX_SB.SB_DKDJ_SKBG, TARGET HX_SB.SB_DKDJ_SKBG, colmap (usedefaults , & sjtb_sj = @date ("yyyy-mm-dd hh:mi:ss.ffffff", "JTS", @GETENV("JULIANTIMESTAMP"))),FILTER(@RANGE(1,4)); --這裏的1是 一張表拆分的第一個進程,4是該表一共拆分成4個進程 9、啟動進程(註:必須先啟動新拆分的進程,且等新進程沒有延時,再啟動原進程) 示例: --拆分的新進程 start RSB_P01 start RSB_P02 start RSB_P03 --原進程 start RZG_FF2A --拆分的新進程 start RSB_P04 start RSB_P05 start RSB_P06 start RSB_P07 start RSB_P08 start RSB_P09 --原進程 start RZG_FF2B --OK啦!!

OGG進程拆分