ogg单向同步配置

创建u02为ogg安装目录
mkdir u02
 
上传压缩包,进行解压
 
[oracle@db-test1 ogg]$ tar -xvf fbo_ggs_Linux_x64_ora11g_64bit.tar
UserExitExamples/
UserExitExamples/ExitDemo_more_recs/
UserExitExamples/ExitDemo_more_recs/Makefile_more_recs.HPUX
UserExitExamples/ExitDemo_more_recs/Makefile_more_recs.SOLARIS
UserExitExamples/ExitDemo_more_recs/Makefile_more_recs.LINUX
UserExitExamples/ExitDemo_more_recs/Makefile_more_recs.AIX
UserExitExamples/ExitDemo_more_recs/exitdemo_more_recs.vcproj
UserExitExamples/ExitDemo_more_recs/exitdemo_more_recs.c
UserExitExamples/ExitDemo_more_recs/readme.txt
UserExitExamples/ExitDemo_passthru/
 
创建必要的目录:
 
[oracle@db-test1 ogg]$ ./ggsci
 
Oracle GoldenGate Command Interpreter for Oracle
Version 11.2.1.0.3 14400833 OGGCORE_11.2.1.0.3_PLATFORMS_120823.1258_FBO
Linux, x64, 64bit (optimized), Oracle 11g on Aug 23 2012 20:20:21
 
Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
 
GGSCI (db-test1) 1> CREATE SUBDIRS
 
Creating subdirectories under current directory /u02/ogg
 
Parameter files                /u02/ogg/dirprm: already exists
Report files                   /u02/ogg/dirrpt: created
Checkpoint files               /u02/ogg/dirchk: created
Process status files           /u02/ogg/dirpcs: created
SQL script files               /u02/ogg/dirsql: created
Database definitions files     /u02/ogg/dirdef: created
Extract data files             /u02/ogg/dirdat: created
Temporary files                /u02/ogg/dirtmp: created
Stdout files                   /u02/ogg/dirout: created
 
创建OGG用户:
 
SQL> create tablespace  ggs    datafile '/u01/app/oracle/oradata/testdb1/ggs01.dbf' size 1G;
create tablespace  ggs    datafile '/u01/app/oracle/oradata/testdb2/ggs01.dbf' size 1G;
SQL> create user ggs identified by ggs default tablespace ggs ;
 
User created.
 
需打开数据库归档 :
 
查询:
SQL> archive log list
Database log mode           No Archive Mode
Automatic archival           Disabled
Archive destination           /u01/app/oracle/product/db_1/dbs/arch
Oldest online log sequence     51
Current log sequence           53
 
SQL> archive log list
Database log mode           No Archive Mode
Automatic archival           Disabled
Archive destination           /u01/app/oracle/product/db_1/dbs/arch
Oldest online log sequence     51
Current log sequence           53
 
SQL> archive log list
Database log mode           No Archive Mode
Automatic archival           Disabled
Archive destination           /u01/app/oracle/product/db_1/dbs/arch
Oldest online log sequence     51
Current log sequence           53
 
开启supplemental log模式
 
select supplemental_log_data_min from v$database;
 
SQL> select supplemental_log_data_min from v$database
  2  ;
 
SUPPLEMENTAL_LOG_DATA_MI
------------------------
NO
data
SQL> alter database add supplemental log data;
 
Database altered.
 
关闭 recyclebin,11g不需要关闭
 
SQL> alter system set "recyclebin"=off scope=spfile;
 
System altered.
 
重启数据库;(11g不需要)
 
配置 mgr进程:
 
GGSCI (db-test1) 4> view params mgr
 
port  7500
dynamicportlist 7501-7505
autorestart extract *,waitminutes 2,retries 5
 
GGSCI (db-test1) 5> start mgr
Manager started.
 
extract eforms
setenv (ORACLE_SID=DBQ1)
setenv (NLS_LANG=AMERICAN_AMERICA.UTF8)
userid ggs, password ggs
exttrail /u02/ogg/dirdat/ms
dynamicresolution
 
TABLE DBFORMS.VDL_PAYMENT_STATEMENT;
TABLE DBFORMS.FUNDS_MON;
TABLE DBFORMS.PAY_FUNDS_MON;
 
创建同步表:
 
create table oggtest.testogg
(id  number not null,
id2 VARCHAR2(100));
alter table oggtest.testogg
add primary key (ID)
using index;
 
create tablespace oggtest datafile '/u01/app/oracle/oradata/testdb1/oggtest.dbf' size 1G;
 
create user oggtest identified by oggtest default tablespace oggtest;
 
 grant resource,connect to oggtest;
 
配置 extract进程
extract eoggtest
setenv (ORACLE_SID=testdb1)
setenv (NLS_LANG=AMERICAN_AMERICA.UTF8)
userid ggs, password ggs
exttrail /u02/ogg/dirdat/ms
dynamicresolution
 
远端添加一个extract进程组
add extract eoggtest,tranlog,begin now
add exttrail /u02/ogg/dirdat/ms, extract eoggtest
 
extract说明:
抽取进程和传输进程其实都是EXTRACT进程,也可以配置在一个进程完成这两个功能,但是当网络传输有问题时,这样抽取也就不能继续运行了,所以推荐分开配置为两个进程;
EXTRACT进程参数配置说明:
SETENV:配置系统环境变量
USERID/ PASSWORD:指定OGG连接数据库的用户名和密码,这里使用3.4部分中创建的数据库用户OGG;
COMMENT:注释行,也可以用--来代替;
TABLE:定义需复制的表,后面需以;结尾
TABLEEXCLUDE:定义需要排除的表,如果在TABLE参数中使用了通配符,可以使用该参数指定排除掉得表。
GETUPDATEAFTERS|IGNOREUPDATEAFTERS:
是否在队列中写入后影像,缺省复制
GETUPDATEBEFORES| IGNOREUPDATEBEFORES:
是否在队列中写入前影像,缺省不复制
GETUPDATES|IGNOREUPDATES:
是否复制UPDATE操作,缺省复制
GETDELETES|IGNOREDELETES:
是否复制DELETE操作,缺省复制
GETINSERTS|IGNOREINSERTS:
是否复制INSERT操作,缺省复制
GETTRUNCATES|IGNORETRUNDATES:
是否复制TRUNCATE操作,缺省不复制;
RMTHOST:指定目标系统及其GoldengateManager进程的端口号,还用于定义是否使用压缩进行传输,本例中的compress为压缩传输;
RMTTRAIL:指定写入到目标断的哪个队列;
EXTTRAIL:指定写入到本地的哪个队列;
SQLEXEC:在extract进程运行时首先运行一个SQL语句;
PASSTHRU:禁止extract进程与数据库交互,适用于Data Pump传输进程;
REPORT:定义自动定时报告;
STATOPTIONS:定义每次使用stat时统计数字是否需要重置;
REPORTCOUNT:报告已经处理的记录条数统计数字;
TLTRACE:打开对于数据库日志的跟踪日志;
DISCARDFILE:定义discardfile文件位置,如果处理中油记录出错会写入到此文件中;
DBOPTIONS:指定对于某种特定数据库所需要的特殊参数;
TRANLOGOPTIONS:指定在解析数据库日志时所需要的特殊参数,例如:对于裸设备,可能需要加入以下参数 rawdeviceoggset 0
WARNLONGTRANS:指定对于超过一定时间的长交易可以在gsserr.log里面写入警告信息,本处配置为每隔3分钟检查一次场交易,对于超过2小时的进行警告;
 
 
配置pump进程
 
edit params poggtest
extract poggtest
setenv (ORACLE_SID=testdb1)
setenv (NLS_LANG=AMERICAN_AMERICA.UTF8)
userid ggs, password ggs
passthru
rmthost 192.168.162.121, mgrport 7500
rmttrail /u02/ogg/dirdat/ms
dynamicresolution
 
TABLE oggtest.*;
 
add extract poggtest, EXTTRAILSOURCE /u02/ogg/dirdat/ms
add rmttrail /u02/ogg/dirdat/ms, extract poggtest
 
 
查看状态
 
GGSCI (db-test1) 17> info all
 
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
 
MANAGER     RUNNING                                           
EXTRACT     RUNNING     EOGGTEST    00:00:00      00:00:02   
EXTRACT     RUNNING     POGGTEST    00:00:00      00:36:09  
 
 
 
 
配置目标端MGR进程:
 
port  7500
autostart er *
dynamicportlist 7501-7505
autorestart extract *,waitminutes 2,retries 5
 
 
port 7500
DYNAMICPORTLIST 7501-7505
AUTOSTART ER *
AUTORESTART ER *, RETRIES 4, WAITMINUTES 4
PURGEOLDEXTRACTS /u02/ogg/dirdat/*, USECHECKPOINTS, MINKEEPDAYS 1
LAGREPORTHOURS 1
LAGINFOMINUTES 5
 
 
 
配置replicat
 
replicat roggtest
setenv (ORACLE_SID=testdb2)
setenv (NLS_LANG=AMERICAN_AMERICA.UTF8)
assumetargetdefs
userid ggs, password ggs
REPERROR (DEFAULT, discard)
BATCHSQL
map oggtest,    target oggtest.*;
 
DISCARDFILE  /u02/ogg/dirdat/discard/reporadis.log, append, megabytes 5000
 
添加一个 replicat
add checkpointtable ggs.checktable
add replicat roggtest,exttrail /u02/ogg/dirdat/ms, checkpointtable ggs.checktable;
alter replicat roggtest,exttrail /u02/ogg/dirdat/ms
 
 
问题:
 
端口占用
 
Unrecognized parameter (ct).
 
 
测试
源端:
 
begin
 for i in 5000000..1000000000 loop  
      insert into oggtest.testogg values (i,i||'oggtest1');
 end loop; 
    commit;
end; 
   /
 
  insert into oggtest.testogg values (1,1||'oggtest1');
 
SQL> begin
 for i in 1..10000 loop  2
  3     insert into oggtest.testogg values (i,i||'oggtest1');
 end loop;  4
  5   commit;
end;  6
  7  /
 
PL/SQL procedure successfully completed.
 
SQL> select count(*) from oggtest.testogg;
 
  COUNT(*)
----------
     10000
 
目标端:
 
SQL> select count(*) from oggtest.testogg;
 
  COUNT(*)
----------
     10000
 
 
 
 
posted @ 2017-11-25 23:18  修行从29开始  阅读(910)  评论(0编辑  收藏  举报