备注: 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, 完成。