GOLDENGATE安装与数据复制流搭建配置_不含DDL抽取版(二)

2015-01-27 18:08:48 · 作者: · 浏览: 26
kpointtable goldengate.checkpoint_reptr_01

GGSCI>add replicat reptr, exttrail ./dirdat/tr, checkpointtablegoldengate.checkpoint_reptr_01

GGSCI>edit params reptr
?

replicat reptr

setenv (NLS_LANG = AMERICAN_AMERICA.AL32UTF8)

userid goldengate, password goldengate

sqlexec "Alter session set constraints=deferred"

REPORT AT 01:59

reportrollover at 02:00

discardrollover on friday

--handlecollisions

reperror default,abend

discardfile ./dirrpt/reptr.dsc,append, megabytes 1000

assumetargetdefs

checksequenceva lue

allownoopupdates

dynamicresolution

numfiles 2000

GETTRUNCATES

batchsql BATCHESPERQUEUE 100, OPSPERBATCH 8000

grouptransops 10000

maxtransops 10000

MAP GOLDENGATE.OGG_UPG, TARGET GOLDENGATE.OGG_UPG;

创建完replicat进程后,千万不要启动

6、数据初始化

6.1 停用源端数据库的JOB

Sql>alter system set job_queue_processes=0 scope=both;

--先关闭job队列,防止后续的job再启动.

Sql>alter system set aq_tm_processes=0 scope=both;

--关闭高级队列

Sql>select count(*) from dba_jobs_running;

--查看系统是否存在有job正在执行,如果还有JOB在运行,则进行Kill操作

6.2 停止前端系统应用

(防止有事务启动后,在取SCN时还未结束,由于GOLDENGATE抽取进程,只会抽取在extract进程启动之后开始的事务,该点很重要。)

6.3 杀掉所有事务

(1)查询还在执行的事务

select * from gv$transaction;

(2)kill 当前正在执行的事务的session

6.4 停掉listener

$lsnrctl stop

(防止新的连接连上来创建新事务操作表数据)

6.5 查询源端数据库的当前SCN号

SQL> selectdbms_flashback.get_system_change_number from dual;

记录下SCN号:2553440

6.6 导出数据

$expdpsystem/XXX directory=expdp_dir dumpfile=tableXXX.dmp filesize=30G logfile=expdp_XXXX.log flashback_scn=2553440 tables=GOLDENGATE.OGG_UPG

6.7 恢复源端数据库的JOB参数
?

Sql>alter system set job_queue_processes=20 scope=both;

--根据实际值进行恢复.

Sql>alter system set aq_tm_processes=1 scope=both;

?

6.8 目标端数据库导入数据

$imppdp system/XXX directory=expdp_dir dumpfile=tableXXX.dmp logfile=impdp_XXXX.log

7、启动目标端的replicat进程

GGSCI> startreptr,aftercsn 2553440

8、验证OGG能正常同步数据

8.1 在目标数据库中查询GOLDENGATE.OGG_UPG表数据量
?

SQL> select count(*) from goldengate.ogg_upg;



COUNT(*)

----------

10000

8.2 在源端数据库上的GOLDENGATE.OGG_UPG表中再插入一万行数据
?

declare

i number:=1;

begin

loop

insertinto goldengate.OGG_UPGvalues (goldengate.seq_ogg_t01.nextval,'ogg_test1',i,sysdate);

commit;

i:=i+1;

exitwhen i=10001;

end loop;

end;

/

8.2 在目标数据库上查询GOLDENGATE.OGG_UPG表数据是否增长

SQL> select count(*) from goldengate.ogg_upg;



COUNT(*)

----------

20000

配置成功,并可以正常同步。