在dg库上搭建ogg

备注:  Oracle DG   (主->备库1->备库2) 级联方式

主库: 10.118.242.216         sid_name=sfpay2 
备库1: 10.118.242.215       sid_name=sfpay2    => ogg 主库 
ogg库1: 10.118.230.27      sid_name=sfpay3    => ogg备库1
ogg库2: 10.118.242.214    sid_name=sfpay1    => ogg备库2

ogg 方式:  一个捕获进程,多个pump 进程(一对多方式)

ogg 一库多实例时,请配置好 setenv 参数(oracle_sid,nls_lang, oracle_home), 记住 tnsname.ora 对应好.
注意ogg  source 端,target 端 时区。

 ogg extract 端  不需要 做checkpoint ,以及备库只能做 DML ogg 同步,DDL 不支持。

-----日志: ---------------------------------------------------------------------------
Database Language and Character Set:
NLS_LANG         = "AMERICAN_AMERICA.AL32UTF8" 
NLS_LANGUAGE     = "AMERICAN" 
NLS_TERRITORY    = "AMERICA" 
NLS_CHARACTERSET = "AL32UTF8" 

Source Context :
  SourceModule            : [er.redo.ora]
  SourceID                : [/scratch/aime1/adestore/views/aime1_adc4150256/oggcore/OpenSys/src/app/er/redo/oracl
e/redoora.c]
  SourceFunction          : [REDO_validate_config]
  SourceLine              : [5980]
  ThreadBacktrace         : [12] elements
                          : [/data/gg11.2/libgglog.so(CMessageContext::AddThreadContext()+0x1e) [0x7f9bedb5ad2e]]
                          : [/data/gg11.2/libgglog.so(CMessageFactory::CreateMessage(CSourceContext*, unsigned in
t, ...)+0x2ec) [0x7f9bedb5388c]]
                          : [/data/gg11.2/libgglog.so(_MSG_ERR_DDL_STANDBY_NOT_SUPPORTED(CSourceContext*, CMessag
eFactory::MessageDisposition)+0x2c) [0x7f9bedb43e16]]
                          : [/data/gg11.2/extract(REDO_validate_config(int, unsigned int*, int*)+0xdc9) [0x6a4ab9
]]
                          : [/data/gg11.2/extract(redo_log_setup()+0x34) [0x57abf4]]
                          : [/data/gg11.2/extract(extract_main(int, char**)+0x3bf) [0x57e0ef]]
                          : [/data/gg11.2/extract(ggs::gglib::MultiThreading::MainThread::ExecMain()+0x4f) [0x633
09f]]
                          : [/data/gg11.2/extract(ggs::gglib::MultiThreading::Thread::RunThread(ggs::gglib::Multi
Threading::Thread::ThreadArgs*)+0x104) [0x6332f4]]
                          : [/data/gg11.2/extract(ggs::gglib::MultiThreading::MainThread::Run(int, char**)+0x8b) 
[0x6333fb]]
                          : [/data/gg11.2/extract(main+0x2c) [0x57dc5c]]
                          : [/lib64/libc.so.6(__libc_start_main+0xfd) [0x383e61ed5d]]
                          : [/data/gg11.2/extract(__gxx_personality_v0+0x3b2) [0x4f64aa]]

2015-11-25 11:33:05  ERROR   OGG-00520  DDL replication is not supported for standby databases.

2015-11-25 11:33:05  ERROR   OGG-01668  PROCESS ABENDING.
---------------------------------------------------------------------------------------------

测试结果:
  source 端(DG备库1) 的所有数据初始话,都以 DG主库  为准(scn, 数据的导出)
  source 端(DG备库1) 的ogg 操作,都需要在 DG 主库上执行ogg脚本,trandata log. 参数可以忽略。


1: 主库 执行ogg 脚本
2: 因standby database 不支持 ogg 的DDL 方式,注销掉所有ddl 方式。
3: ogg source端,dg 备库1 在info trandata  schema.* 时,可能为disabled 状态,但是DG主库enable 即可。
GGSCI (sfpay.datatest.MySQL02) 40> info trandata dm_ord.*

Logging of supplemental redo log data is disabled for table DM_ORD.TEMP_20151105_T.


4: source 端参数:

GGSCI (sfpay.datatest.mysql02) 46> dblogin userid ogg@ogg
Password: 
Successfully logged into database.

GGSCI (sfpay.datatest.mysql02) 49> view params mgr

port 7809
dynamicportlist 7810-7900
userid ogg@ogg,password ogg
autorestart extract *,waitminutes 2,retries 7
lagreporthours 1
laginfominutes 30
lagcriticalminutes 45
purgeoldextracts ./dirdat/*,usecheckpoints,minkeepdays 5
purgeddlhistory minkeepdays 3,maxkeepdays 5,frequencyminutes 20
PURGEMARKERHISTORY MINKEEPDAYS 3, MAXKEEPDAYS 5, FREQUENCYMINUTES 20


GGSCI (sfpay.datatest.mysql02) 50> view params exp001  

extract exp001
setenv (ORACLE_HOME="/u01/app/oracle/product/11.2.0.4/dbhome_1")
setenv (NLS_LANG="AMERICAN_AMERICA.AL32UTF8")
dynamicresolution
gettruncates
numfiles 5000
userid ogg@ogg,password ogg
tranlogoptions convertucs2clobs
TRANLOGOPTIONS LOGRETENTION  DISABLED
TRANLOGOPTIONS DBLOGREADER
tranlogoptions altarchivelogdest primary instance sfpay2 /data/archivelog
--TRANLOGOPTIONS ASMUSER sys@ASM,ASMPASSWORD oracle123
--THREADOPTIONS MAXCOMMITPROPAGATIONDELAY 20000
reportcount every 2 minutes,rate                 
discardfile ./dirrpt/exp001.dsc,append,megabytes 1000
warnlongtrans 2h,checkinterval 3m
exttrail  ./dirdat/p1
--ddl include all                              
--ddloptions addtrandata,report    
--add test
table dm_sypay.*;
table dm_ord.*;


GGSCI (sfpay.datatest.mysql02) 51> view params pump214

extract pump214
passthru
report at 02:00
reportrollover at 02:10
rmthost 10.118.242.214,mgrport 7809
rmttrail ./dirdat/t1
dynamicresolution
numfiles 2000
--add tables
table dm_sypay.*;
table dm_ord.*;


GGSCI (sfpay.datatest.mysql02) 52> view params pump01

extract pump01
setenv(ORACLE_SID="sfpay3")
passthru
report at 02:00
reportrollover at 02:10
rmthost 10.118.230.27,mgrport 7809
rmttrail ./dirdat/e1
dynamicresolution
numfiles 2000
--add tables
table dm_sypay.*;
table dm_ord.*;


GGSCI (sfpay.datatest.mysql02) 53> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
EXTRACT     RUNNING     EXP001      00:00:00      unknown     
EXTRACT     RUNNING     PUMP01      00:00:00      00:00:09    
EXTRACT     RUNNING     PUMP214     00:00:00      00:00:09    


source端 添加捕获extract 进程组:
     GGSCI >  add extract exp001, tranlog ,begin now      --(, threads 2)  --添加进程组
     GGSCI >  add  exttrail ./dirdat/p1, extract exp001, megabytes  500   --添加本地exttrial 文件。

 source 端 添加pump 进程组以及 target exttrail 文件:

--在启动之前,配置好target 端参数,及启动mgr 进程--

  GGSCI > add  extract pump214, exttrailsource  ./dirdat/p1 , begin now 
                  --添加pump 进程组
   GGSCI >  add rmttrail ./dirdat/t1, extract  pump214 , megabytes  500
                  --添加远程trail  文件

 GGSCI > add  extract pump01, exttrailsource  ./dirdat/p1 , begin now 
                  --添加pump 进程组
   GGSCI >  add rmttrail ./dirdat/e1, extract  pump01, megabytes  500
                  --添加远程trail  文件


5  ,target 端 rep214:

GGSCI (sfpay-asmtest) 18> view params ./GLOBALS

GGSCHEMA OGG
CHECKPOINTTABLE  OGG.CHECKPOINT

GGSCI (sfpay-asmtest) 19> view params mgr

port 7809
dynamicportlist 7810-7900
userid ogg@ogg,password ogg
autorestart extract *,waitminutes 2,retries 7
lagreporthours 1
laginfominutes 30
lagcriticalminutes 45
purgeoldextracts ./dirdat/*,usecheckpoints,minkeepdays 5
purgeddlhistory minkeepdays 3,maxkeepdays 5,frequencyminutes 20
PURGEMARKERHISTORY MINKEEPDAYS 3, MAXKEEPDAYS 5, FREQUENCYMINUTES 20

GGSCI (sfpay-asmtest) 20> view params rep214

REPLICAT rep214
SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
USERID ogg@ogg, PASSWORD ogg
DISCARDFILE ./dirrpt/rep214.dsc, PURGE, MAXBYTES 104857600
sqlexec "Alter session set constraints=deferred"
REPORT AT 01:59
reportrollover at 02:00
--handlecollisions
reperror default,abend
REPORTCOUNT EVERY 30 MINUTES, RATE
DDL INCLUDE MAPPED, EXCLUDE INSTR 'SHRINK SPACE'
ddloptions report
assumetargetdefs
checksequencevalue
allownoopupdates
dynamicresolution
numfiles 2000
--ERROR IGNORE
DDLERROR 10636 IGNORE
--20151028  add
MAP dm_sypay.*, TARGET dm_sypay.*;
MAP dm_ord.*,TARGET dm_ord.*;
 
pump01 同样,略过。

 6, 数据初始化 expdp  通过flshback_scn , DG主库。

 7, target  端启动:
  GGSC >  add  replicat  rep214,  exttrail ./dirdat/e1, begin now
  GGSCI > start replicat ,aftercsn 6553589

8 ,测试:

9, 完成。

网站题目:在dg库上搭建ogg
文章源于:http://scyanting.com/article/piesso.html