Oracle GoldenGate 安装、配置、管理
Oracle GoldenGate Java Adaptor的安装与配置

目录Java Adapter的安装与配置 (2)1.1在Weblogic上创建JMS Queue (2)1.2生成JMS客户端 (6)1.3GoldenGate配置过程 (6)1.3.1安装JDK (6)1.3.2安装GG for Java (6)1.3.3配置Extract (7)1.3.4生成Source Def配置文件 (8)1.3.5配置Data Pump (8)1.4测试 (15)1.5Java测试客户端样例 (17)1.5.1JMSSender.java (17)1.5.2JMSReceiver.java (20)Java Adapter的安装与配置GoldenGate提供Java Adapter可以将复制目标端设置为JMS队列,将源数据库表记录内容,按照既定的转换规则,发布到JMS队列,以满足客户灵活的要求,具体实现方法如下文所述。
1.1 在Weblogic上创建JMS Queue配置方法参见Weblogic相关资料,简要步骤如下:1、配置消息存储(Message Stores)Services->Persistent Stores,New->Create FileStore输入文件存储的名字和目录,这个目录很重要,开始我以为是本地的一个目录就行了,其实测试之后发现必须是建立的domain下的一个目录才行,把目录名写上去就ok了。
例如:C:\Oracle\Middleware\user_projects\domains\osb_domain\ODIFileStore目录名:ODIFileStore,不用写全路径2、配置JMS ServerServices -> Messaging -> JMS Server -> Select NewCreate a name, select Persistent Store (选择上面建立的消息存储:ODIFileStore) Target this to the AdminServer3、配置连接工厂(Connection Factories)。
GoldenGate安装部署与解决方案

GoldenGate安装部署及解决方案目录GoldenGate 安装部署及解决方案 (1)1、 GoldenGate 简介 (3)2、文档约定和说明 (5)3、 GoldenGate 软件安装 (6)3.1 GoldenGate 软件安装包下载63.2 Windows 下安装73.3 Linux 和 Unix 下安装84、 GoldenGate 同步基本配置 (9)4.1 oracle 之间同步和GoldenGate 基础94.2 oracle 与 db2 同步174.3 oracle 与 sybase 同步185、 GoldenGate 同步方案 (19)5.1 使用 GoldenGate 初始化加载195.2 一对多数据同步(广播复制)215.3 多对一数据同步(集中复制)225.4 数据转换和过滤23 5.5 关于目标端高数据安全性下的GoldenGate 配置方案275.6 GoldenGate 双向复制( active-active )306、 GoldenGate 数据同步性能测试 (33)6.1 测试中主要监测数据和监测方式33 6.2 测试脚本和GoldenGate 配置346.3 测试步骤386.4 性能测试结果407、 GoldenGate 推荐配置 (42)7.1 添加必要的环境参数427.2 BATCHSQL参数427.3 数据库用户密码加密437.4 trail 再压缩448、 GoldenGate Troubleshooting (45)8.1 一些常用的进程信息和日志的查看方式458.2 解析 trail 文件45附: GoldenGate 新版本的一个特性 (46)参考文档 (48)1、 GoldenGate简介GoldenGate 软件是一种基于日志的结构化数据复制软件,它通过解析源数据库在线日志或归档日志获得数据的增删改变化,再将这些变化应用到目标数据库,实现源数据库与目标数据库实时同步( real-time data synchronize)、双活(active-active high availability)。
goldengate如何安装和配置

goldengate如何安装和配置要安装goldengate,第一步当然要先下载软件,您可以到/网站上下载相关软件,注意goldengate是在oracle fusion middleware大类下面,它和操作系统版本,数据库版本都有关系,下载时注意别下错版本。
对于源端数据库,要做以下准备,这里以oracle为例,其它数据库请查找相关手册:a.在源端操作系统上,创建GoldenGate系统用户,设置该用户环境变量(如果是oracle数据库的话,ORACLE_SID,ORACLE_HOME等等),也可以采用oracle 安装用户运行GoldenGate。
建议采用oracle的安装用户安装运行GoldenGate,无需建立新用户,否则还得给新用户授一堆权限,具体请参考安装手册。
b.在数据库中创建GoldenGate数据库用户,名称无所谓,这里以goldengate 为例,用户至少应该有connect,resource,select any dictionary,select any table的权限,当然如果能给dba,一切就都覆盖了:CREATE USER goldengate IDENTIFIED BY goldengate;GRANT dba TO goldengate;c.检查源端数据库是否为归档模式,若为非归档模式,建议将其改为归档模式,其实在非归档模式下也能运行,但以防万一,还是配置归档保险:SQL> alter database archivelog;(需要在数据库mount状态下执行);SQL>archive log list;d.检查源端数据库附加日志是否打开SQL>select supplemental_log_data_min from v$database;将数据库附加日志打开SQL>alter database add supplemental log data;切换日志以使附加日志生效:SQL〉ALTER SYSTEM ARCHIVE LOG CURRENT;在目标数据库上,也需要建立一个goldengate用户,或者利用现有用户也行,该用户应该至少有connect,resource,select any table,select any dictionary以及对应同步表的insert/update/delete权限。
GoldenGate安装部署及解决方案

GoldenGate安装部署及解决方案目录GoldenGate安装部署及解决方案.................................错误!未定义书签。
1、GoldenGate 简介........................................错误!未定义书签。
2、文档约定和说明.........................................错误!未定义书签。
3、GoldenGate软件安装....................................错误!未定义书签。
GoldenGate软件安装包下载............................错误!未定义书签。
Windows下安装.......................................错误!未定义书签。
Linux和Unix下安装..................................错误!未定义书签。
4、GoldenGate同步基本配置................................错误!未定义书签。
oracle之间同步和GoldenGate基础.....................错误!未定义书签。
oracle与db2同步....................................错误!未定义书签。
oracle与sybase同步.................................错误!未定义书签。
5、GoldenGate同步方案....................................错误!未定义书签。
使用GoldenGate初始化加载............................错误!未定义书签。
一对多数据同步(广播复制)...........................错误!未定义书签。
goldengate 安装 详细命令

源端与目标端前言之解压缩文件包unzip Oracle_GoldenGate_V11.1.1.1.0_for_Oracle_10g_on_Linux_x86.zipmkdir oggmv fbo_ggs_Linux_x64_ora10g_32bit.tar ogg/tar zxf fbo_ggs_Linux_x64_ora10g_32bit.tar -C /oracle/goldengate0、增加环境变量export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/libexport GGATE=/oracle/goldengate1、开启附加日志alter database add supplemental log data;select supplemental_log_data_min from v$database;2、为goldengate创建用户、表空间并授权create tablespace tbs_gguser datafile '/data0/u02/oradata/ora10g/jtuser1/gguser.dbf' size 1000m autoextend on;create user ogg identified by ufsoft default tablespace tbs_gguser temporary tablespace TEMP quota unlimited on tbs_gguser;grant connect,resource to ogg;grant create session,alter session to ogg;grant select any dictionary,select any table to ogg;grant alter any table to ogg;grant flashback any table to ogg;grant execute on dbms_flashback to ogg;grant insert any table to ogg;grant delete any table to ogg;grant update any table to ogg;++++++++++++++++++++++++++++++++++3、开启强制日志模式(为支持DDL复制)alter database force logging;alter system set recyclebin=off scope=both;[root@vm2 oracle]# chown oracle.oinstall /oracle/goldengate/ -R [oracle@vm2 ~]$ cd /oracle/goldengate/[oracle@vm2 goldengate]$ sqlplus / as sysdbaSQL> @marker_setup………………………………Enter GoldenGate schema name:ogg ………………………………………………………SQL> @ddl_setup………………………………Enter GoldenGate schema name:ogg ………………………………………………………Enter mode of installation:INITIALSETUP …………………………………………………………..Enter yes or no:yes…………………………..SQL> @role_setup………………………………Enter GoldenGate schema name:ogg ………………………………………………………SQL>grant GGS_GGSUSER_ROLE to ogg;SQL> @ddl_enableTrigger altered.4、源端配置goldengate4.1、安装goldengate#Su – oracle$cd /oracle/goldengate>./ggsci> CREATE SUBDIRSGGSCI (vm1) 2> exit至此,goldengate安装完成基于DDL的同步配置源端4.2、配置管理进程与抽取进程./ggsciGGSCI (vm1) 1> dblogin userid ogg,password ufsoftGGSCI (vm1) 2> edit params mgr //编辑管理进程#文件内容如下PORT 7809#保存退出#启动管理进程GGSCI (vm1) 3> start mgrGGSCI (vm1) 4> edit params GLOBALS#文件内容GGSCHEMA ogg#保存退出GGSCI (vm1) 7> add extract eini_1,tranlog,begin now //添加组名为eini_1的抽取进程,即刻为新增日志添加到抽取进程GGSCI (vm1) 11> add rmttrail /oracle/goldengate/dirdat/ma,megabytes 100,extract eini_1 //add rmttrail <trail name> extract <group name即上面创建的eini_1>GGSCI (vm1) 12> edit params eini_1 //编辑抽取进程EXTRACT EINI_1dynamicresolutionSETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)USERID ogg PASSWORD ufsoftRMTHOST 172.16.1.201,MGRPORT 7809 //目标数据库地址和端口TRANLOGOPTIONS EXCLUDEUSER oggRMTTRAIL /oracle/goldengate/dirdat/ma //目标端数据库的trail文件位置DDL INCLUDE ALLtable scott.*; //以scott用户下的表做测试目标端5、配置管理进程与抽取进程./ggsciGGSCI (vm1) 1> dblogin userid ogg,password ufsoftGGSCI (vm1) 2> edit params mgr //编辑管理进程#文件内容如下PORT 7809PURGEOLDEXTRACTS /dirdat,USECHECKPOINTS#保存退出#启动管理进程GGSCI (vm1) 3> start mgrGGSCI (vm1) 4> edit params GLOBALS#文件内容GGSCHEMA ogg#保存退出GGSCI (vm2) 7> add checkpointtable ogg.checkpoint //添加ogg用户下的检查点表GGSCI (vm2) 10> add replicat rini_1,exttrail /oracle/goldengate/dirdat/ma,beginnow,checkpointtable ogg.checkpoint //添加名称为rini_1的应用进程,检查点表名称为ogg.checkpoint,即刻生效GGSCI (vm2) 11> edit params rini_16、测试验证6.1、源端与目标端SQL> conn / as sysdbaSQL> alter user scott account unlock;SQL> conn scott/tigerERROR:ORA-28001: the password has expiredChanging password for scottNew password:Retype new password:Password changedConnected.6.2、源端SQL> conn scott/123456SQL> create table tbs_test(id number primary key,name varchar2(50));Table created.SQL> insert into tbs_test values (1,'lugeng');1 row created.beginfor i in 2000002..2002000 loopinsert into tbs_test values(i,'ge');commit;end loop;end;SQL> commit;Commit complete.6.3、目标端SQL> conn scott/123456Connected.SQL> desc tbs_test;Name Null? Type----------------------------------------- -------- ----------------------------ID NOT NULL NUMBER NAME VARCHAR2(50)SQL> select * from tbs_test;ID NAME---------- --------------------------------------------------1 lugeng基于PUMP的DDL同步配置源端GGSCI (vm1) 1> dblogin userid ogg,password ufsoftGGSCI (vm1) 2> edit params mgr#文件内容port 7809#保存退出GGSCI (vm1) 5> edit params eini_1#文件内容EXTRACT EINI_1dynamicresolutionSETENV (NLS_LANG=AMERICAN_AMERICA.UTF8)USERID ogg PASSWORD ufsoftRMTHOST 172.16.1.201,MGRPORT 7809TRANLOGOPTIONS EXCLUDEUSER oggexttrail /oracle/goldengate/dirdat/laDDL INCLUDE ALLtable scott.*;#保存退出GGSCI (vm1) 8> add extract eini_1,tranlog,begin 2011-11-02 17:03GGSCI (vm1) 9> add exttrail /oracle/goldengate/dirdat/la,extract eini_1GGSCI (vm1) 10> edit params pump_so#文件内容extract pump_sodynamicresolutionUSERID ogg PASSWORD ufsoftrmthost 172.16.1.201,mgrport 7809,compressrmttrail /oracle/goldengate/dirdat/matable scott.*;#保存退出GGSCI (vm1) 11> add extract pump_so,exttrailsource /oracle/goldengate/dirdat/laGGSCI (vm1) 12> add rmttrail /oracle/goldengate/dirdat/ma,extract pump_so目标端GGSCI (vm2) 1> dblogin userid ogg,password ufsoftGGSCI (vm2) 2> edit params mgr#文件内容port 7809PURGEOLDEXTRACTS /dirdat,USECHECKPOINTS#保存退出GGSCI (vm2) 5> edit params GLOBALSGGSCHEMA oggGGSCI (vm2) 6> add checkpointtable ogg.checkpointGGSCI (vm2) 7> add replicat rini_1,exttrail /oracle/goldengate/dirdat/ma,begin now,checkpointtable ogg.checkpointGGSCI (vm2) 9> edit params rini_1#文件内容REPLICAT RINI_1SETENV (NLS_LANG=AMERICAN_AMERICA.UTF8)ASSUMETARGETDEFSUSERID ogg PASSWORD ufsoftDISCARDFILE /oracle/goldengate/dirrpt/RINIaa.dsc,PURGEDDL INCLUDE ALLDDLERROR DEFAULT IGNORE RETRYOP MAXRETRIES 3 RETRYDELAY 5DDLERROR DEFAULT DISCARDDDLERROR DEFAULT IGNORE RETRYOPMAP scott.* , TARGET scott.*;#保存退出create table t (id number primary key,name varchar2(50));。
GoldenGate 10g安装配置操作手册

GoldenGate安装配置GoldenGate支持跨平台的数据实时同步操作:即源和目标可以是不同版本的ORACLE数据库。
GoldenGate需要要在源,目标库机器上都安装,并具是与数据库相匹配的版本:即根据源和目标的ORACLE版本,安装对应的goldenGate。
ogg12的版本是可以兼容11g,12c 版本的数据库,但是10g及以下版本需要找对应的版本,但是最多支持到8i。
GoldenGate是通过读取本地的数据库归档日志,投递给远程,实现同步的。
GoldenGate的日志投递方式有两种:直接投递和数据泵的方式。
原理如下图所示:两种抽取方式的结构示图两种抽取方式的区别:上面的INITIAL LOAD投递方式是直接投递,在源抽取端不缓存捕获队列数据。
而下面的DataPump数据泵方式,会在源库目录下保留抽取数据,在网络服务故障时,能保留未投递的数据不丢失,并在服务正常后能补投数据。
而两种投递方式在接收端在配置上没有区别。
要做双机互备,互为主从,配置两组反向的投递队列就好了。
注:我不推荐做双向同步,在系统故障需要恢复的时候,可能导致数据混乱。
一、操作环境环境二、数据库的准备工作下面的操作,都需要在源和目标数据库上操作。
2.1切换到归档模式SQL> archive log list; 查看归档模式Database log mode No Archive ModeAutomatic archival DisabledArchive destination /soft/u01/app/oracle/product/10.2.0/db_1/dbs/arch Oldest online log sequence 5263Current log sequence 5265如果不是归档模式,需要执行SQL> shutdown immediateSQL> startup mountSQL> alter database archivelog; #修改为归档模式SQL> alter database open;2.2禁用recycle_binSQL> show parameter recyclebin ;禁用recycle binoracle11需要重启才能生效SQL> ALTER SYSTEM SET recyclebin = OFF scope=spfile;对于10g不需要SQL> Alter system set recyclebin=off;2.3处理日志验证未使用并行日志(只针对9i,高级版本无此参数)Sql> show parameter LOG_PARALLELISM。
GoldenGate在Windows平台的配置

ORACLE GoldenGate在Windows平台中单向、双向数据传输配置1、安装GoldenGate环境源数据库平台:64位Windows server2008Oracle11.2.0.1.0目标数据库平台:64位Windows server2008Oracle11.2.0.1.0源数据库:服务器名称:SERVER1,ip:192.168.1.101目标数据库:服务器名称:SERVER3,ip:192.168.1.102源数据库:归档模式,ORACLE_SID:orcl用户:scott goldengate专属用户:ggs01目标数据库:归档模式,ORACLE_SID:orcl用户:scott goldengate专属用户:ggs2、分别在源数据库,目标数据库安装GoldenGate官方文档要求用administrator权限安装(需要系统管理员的权限)双击GoldenGate目录下的ggsci.exeGGSCI(SERVER1)1>CREATE SUBDIRSGGSCI(SERVER1)1>EXIT3、把源数据库的修改数据同步到目标数据库中3.1在源数据库orcl上打开归档日志及其辅助日志Sql>alter database add supplemental log data;SQL>alter system set recyclebin=off;Sql>alter system switch logfile;3.2在源数据库,目标数据库创建GoldenGate GLOBALS参数文件3.2.1在源数据库创建GGSCI>edit params./GLOBALS内容:MGRSERVNAME mgrserver01GGSCHEMA ggs013.2.2源数据库创建Goldengate manager服务C:\ggs>INSTALL ADDSERVICE ADDEVENTS3.2.3在目标数据库创建GGSCI>edit params./GLOBALS内容:MGRSERVNAME mgrserver03checkpointtable ggs.ggs_checkpoint3.2.4目标数据库创建Goldengate manager服务C:\ggs>INSTALL ADDSERVICE ADDEVENTS3.3在源数据库,目标数据库配置mgr,启动manager进程3.3.1配置manager服务的mgr配置文件GGSCI>EDIT PARAMS MGR内容为:PORT80013.3.2启动mgrGGSCI>start MGRGGSCI>info MGR3.3.3同样在目标数据库配置mgr文件3.4在goldengate中用oracle用户登陆数据库GGSCI>dblogin userid scott@orcl,password test--(需要授予scott用户dba 权限)3.5增加需要传输的用户表GGSCI>Add trandata scott.*GGSCI>info trandata scott.*3.6在源数据库配置一个EXTRACT进程及配置其文件3.6.1配置EXTRACT文件GGSCI>edit param ext01内容:extract ext01SETENV(NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK")userid scott@orcl,password testexttrail./dirdat/tt--DDLtable scott.*;3.6.2在GGSCI.exe增加一个EXTRACT进程GGSCI>ADD EXTRACT ext01,TRANLOG,BEGIN NOWGGSCI>ADD EXTTRAIL./dirdat/tt,EXTRACT ext01,MEGABYTES5GGSCI>info rmttrail*3.7配置data pump3.7.1在源数据库端添加一个pump进程GGSCI>edit param epump01内容:extract epump01passthrurmthost192.168.1.103,mgrport8003rmttrail./dirdat/tttable scott.*;3.7.2在源数据库的ggsci中增加extract进程其作用为读取本地trail文件到目标端trail文件GGSCI>ADD EXTRACT epump01,EXTTRAILSOURCE./dirdat/tt添加进程并通过EXTTRAILSOURCE说明本地trail文件存放地。
goldengate安装手册(bigdata-v12.2)

×××公司Oracle Goldengate安装手册目录1Goldengate安装说明 (3)1.1 总体说明 (3)1.2 添加环境变量 (3)1.3 GG软件的安装(源和目标系统均需要安装) (4)1.4 开启源端数据库附加日志 (5)1.5数据库11.2.0.4版本参数修改 (6)1.6 配置GLOBALS (6)1.7 配置定义文件 (6)1.8 建立OGG进程和队列 (6)2数据初始同步 (11)2.1 将源端数据导入之中间库 (11)2.2 将中间库数据导入至Hadoop (11)2.3 目标启动replicat进程并追加增量数据 (11)1 Goldengate安装说明1.1 总体说明Goldengate软件目录的属主为oracle:dba,权限为775;Goldengate目录一般是建立在共享存储上,这样实际上goldengate的软件和相应的文件如参数文件,队列文件等都是在共享存储上的。
这样做的好处是,例如在RAC环境下,如果一台服务区宕机,则可以将$GG_HOME mount到另外一个正常的rac节点上,启动goldengate各个进程就可以了,不需要做任何其他的动作;本次测试过程是部署在gpfs文件系统上。
1.2 添加环境变量在oracle用户下增加环境变量:源端:export GG_HOME=/data/oggoexport PATH=$PATH:$GG_HOMEexport LIBPATH=$GG_HOME:$ORACLE_HOME/lib目标端bigdata:要求必须jdk1.7export GG_HOME=/data/oggtexport PATH=$PATH:$GG_HOMEexportLD_LIBRARY_PA TH=$GG_HOME:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.45.x86_64/jre/lib/amd 64/serverPlatform Environment variableIBM AIX LIBPATHHP-UX SHLIB_PA THSun Solaris LD_LIBRARY_PATHHP Tru64 (OSF/1)LINUX1.3 GG软件的安装(源和目标系统均需要安装)1)使用Oracle用户(如非此用户,请自行取代,下同)通过ftp上传GGS软件到安装目录下并解压缩:unzip fbo_ggs_Linux_x64_shiphome.zip.zip修改参数文件:cd fbo_ggs_Linux_x64_shiphome/Disk1/response执行vi oggcore.rsp修改一下参数:INSTALL_OPTION=ORA11gSOFTWARE_LOCATION=/data/oggoDATABASE_LOCATION=/usr/lib/oracle/u01/app/oracle执行runInstaller开始安装:./runInstaller -silent -nowait -responseFile /data/oggo/fbo_ggs_Linux_x64_shiphome/Disk1/response/oggcore.rsp2)在/goldengate目录下运行GGS命令行控制界面:./ggsci3)在GGS命令行界面下创建子目录:GGSCI> create subdirs1.4 开启源端数据库附加日志1)检查附加日志情况使用以下sql语句检查数据库附加日志的打开状况:SelectSUPPLEMENTAL_LOG_DATA_MIN,SUPPLEMENTAL_LOG_DA TA_PK,SUPPLEMENTAL_LOG_DA TA_UI,SUPPLEMENTAL_LOG_DA TA_FK,SUPPLEMENTAL_LOG_DA TA_ALL, FORCE_LOGGING from v$database;2)打开数据库附加日志打开附加日志并切换日志(保证Online redo log和Archive log一致)在mount状态下打开归档日志:Alter database archivelog;alter database add supplemental log data ;或全部打开:alter database add supplemental log data(primary key,unique) columns;alter database force logging;3)创建Goldengate用户create tablespace ogg datafile ‘/data/oradata/orcl/ogg.dbf’ size 1G;create user ogg identified by ogg default tablespace ogg;GRANT execute on DBMS_SQL to ogg;grant EXEMPT ACCESS POLICY to ogg;grant create table to ogg;grant create sequence to ogg;alter user ogg quota unlimited on ogg;GRANT CONNECT TO ogg;GRANT RESOURCE TO ogg;GRANT DBA TO ogg;GRANT CREATE SESSION TO ogg;GRANT ALTER SESSION TO ogg;GRANT SELECT ANY DICTIONARY TO ogg;GRANT SELECT ANY TABLE TO ogg;GRANT FLASHBACK ANY TABLE TO ogg;GRANT ALTER ANY TABLE TO ogg;GRANT ALTER SYSTEM TO ogg;GRANT SELECT on dba_clusters TO ogg;GRANT EXECUTE ON utl_file TO ogg;BEGINDBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE(Grantee => 'OGG',privilege_type => 'CAPTURE',grant_select_privileges => TRUE,do_grants => TRUE);END;/4)打开表级附加日志alter table ogg.test add supplemental log data(all) columns;alter table SMODEL_JLJ.CM_PORT add supplemental log data(all) columns;alter table SMODEL_JLJ.CM_LINK add supplemental log data(all) columns;…….1.5 数据库11.2.0.4版本参数修改从数据库11.2.0.4版本开始,需要在源和目标端数据库上同时修改ENABLE_GOLDENGATE_REPLICATION参数:sqlplus / as sysdbaalter system set ENABLE_GOLDENGATE_REPLICATION=true scope=both;1.6 配置GLOBALS编辑GLOBALS:EDIT PARAMS ./GLOBALSGGSCHEMA ogg1.7 配置定义文件./ggsci…….1.8 建立OGG进程和队列(1)MGR参数和进程(源和目标均需要配置)cd $GG_HOME./ggsciggsci>edit param mgr --源端PORT 7809DYNAMICPORTLIST 7840-7914--AUTORESTART EXTRACT *, RETRIES 5, W AITMINUTES 3, RESETMINUTES 60 PURGEOLDEXTRACTS ./dirdat/*, usecheckpoints, minkeepdays 1LAGREPORTHOURS 1LAGINFOMINUTES 30LAGCRITICALMINUTES 45ggsci>edit param mgr --目标端PORT 17809DYNAMICPORTLIST 17810-17820--AUTORESTART REPLICAT *, RETRIES 5, WAITMINUTES 3, RESETMINUTES 60 PURGEOLDEXTRACTS ./dirdat/*, usecheckpoints, minkeepdays 1LAGREPORTHOURS 1LAGINFOMINUTES 30LAGCRITICALMINUTES 45配置完成后,源和目标均启动:ggsci> start mgr(2)源端配置extract和pump进程(根据用户实际环境填写)配置服务器A捕获进程cd $GG_HOME./ggsciggsci>edit param ext_jl具体ext_jl.prm内容如下:EXTRACT ext_jlSETENV (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")USERID ogg, PASSWORD oggDISCARDFILE ./dirrpt/ext_jl.dsc, APPEND, MEGABYTES 100TRANLOGOPTIONS dblogreaderDBOPTIONS ALLOWUNUSEDCOLUMNWARNLONGTRANS 2h,CHECKINTERV AL 3mFETCHOPTIONS NOUSESNAPSHOTTRANLOGOPTIONS CONVERTUCS2CLOBS--ddl include mappedEXTTRAIL ./dirdat/jl--TRANLOGOPTIONS ALTARCHIVELOGDEST PRIMARY INSTANCE oraXPAD1 /gg/sarch1, ALTARCHIVELOGDEST INSTANCE oraXPAD2 /gg/sarch2WILDCARDRESOLVE DYNAMICdynamicresolutionGETUPDATEBEFORESNOCOMPRESSUPDATESNOCOMPRESSDELETESgettruncatesTABLE SMODEL_JLJ.*, tokens (INDICATOR=@GETENV('GGHEADER','BEFOREAFTERINDICATOR'));TABLE gg.tcustmer, tokens (INDICATOR=@GETENV('GGHEADER','BEFOREAFTERINDICATOR'));配置传输进程cd $GG_HOME./ggsciggsci>edit param dpe_jl具体dpe_jl.prm内容如下:EXTRACT dpe_jlPASSTHRURMTHOST 10.142.96.16, MGRPORT 17809RMTTRAIL ./dirdat/jlDYNAMICRESOLUTIONGETTRUNCATESTABLE SMODEL_JLJ.*;table gg.tcustmer;增加ext和pump进程以及队列:cd $GG_HOME./ggsciADD EXTRACT ext_jl, TRANLOG, BEGIN NOWADD EXTTRAIL ./dirdat/jl, EXTRACT ext_jl, MEGABYTES 200ADD EXTRACT dpe_jl, EXTTRAILSOURCE ./dirdat/jlADD RMTTRAIL ./dirdat/jl, EXTRACT dpe_jl, MEGABYTES 200(3)配置hdfs投递进程创建hdfs目录:su – hjpthadoop fs –mkdir /data/hjpt/itf/hqit/oss/jlhadoop fs –ls /data/hjpt/itf/hqit/oss/jlhadoop fs -chmod -R +w /data/hjpt/itf/hqit/oss/oss/jl设置HDFS_HOME环境变量./ggsciggsci>edit param hive_jl具体hive_jl.prm内容如下:REPLICAT hive_jlTARGETDB LIBFILE libggjava.so SET property=dirprm/hdfs_jl.props GETUPDATEBEFORESgettruncatesDISCARDFILE ./dirrpt/ hive_jl.dsc, purge REPORTCOUNT EVERY 1 MINUTES, RATE GROUPTRANSOPS 2000MAXTRANSOPS 5000MAP gg.*, TARGET gg.*;MAP SMODEL_JLJ.*, TARGET SMODEL_JLJ.*;配置hdfs_jl.props内容如下:gg.handlerlist=hdfsgg.handler.hdfs.type=hdfsgg.handler.hdfs.includeTokens=truegg.handler.hdfs.maxFileSize=256mgg.handler.hdfs.rootFilePath=/data/hjpt/itf/hqit/oss/jlgg.handler.hdfs.fileRollInterval=0gg.handler.hdfs.inactivityRollInterval=0gg.handler.hdfs.fileSuffix=.txtgg.handler.hdfs.partitionByTable=truegg.handler.hdfs.rollOnMetadataChange=truegg.handler.hdfs.authType=nonegg.handler.hdfs.format=delimitedtextgg.handler.hdfs.format.includeColumnNames=falsegg.handler.hdfs.mode=tx#gg.handler.hdfs.format.includeOpTimestamp=truegg.handler.hdfs.format.includeCurrentTimestamp=truegg.handler.hdfs.format.insertOpKey=Igg.handler.hdfs.format.updateOpKey=Ugg.handler.hdfs.format.deleteOpKey=Dgg.handler.hdfs.format.truncateOpKey=Tgg.handler.hdfs.format.encoding=UTF-8gg.handler.hdfs.format.fieldDelimiter=CDA TA[\u0001]#gg.handler.hdfs.format.fieldDelimiter='|'gg.handler.hdfs.format.lineDelimiter=CDA TA[\n]gg.handler.hdfs.format.includeTableName=truegg.handler.hdfs.format.keyValueDelimiter=CDATA[=]#gg.handler.hdfs.format.kevValuePairDelimiter=CDATA[,] gg.handler.hdfs.format.pkUpdateHandling=updategg.handler.hdfs.format.nullValueRepresentation=gg.handler.hdfs.format.missingValueRepresentation=CDATA[] gg.handler.hdfs.format.includePosition=false#erexit.timestamp=utcerexit.writers=javawriterjavawriter.stats.display=TRUEjavawriter.stats.full=TRUEgg.log=log4jgg.log.level=INFOgg.report.time=30secgg.classpath=/etc/hadoop/conf.empty:/usr/lib/hadoop/*:/usr/lib/hadoop-hdfs/lib/*:/usr/lib/hadoop-hdfs/*:/usr/lib/hadoop/lib/*javawriter.bootoptions=-Xmx8200m –Xms8192m -Djava.class.path=ggjava/ggjava.jar增加目标端hive投递进程:cd $GG_HOME./ggsciGGSCI> add replicat hive_jl, EXTTRAIL ./dirdat/jl2 数据初始同步在不允许停源端数据库的情况下,需要准备一个临时中间数据库。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle GoldenGate 安装、配置、管理Oracle GoldenGate主要由如下一些组件组成● Extract● Data pump● Replicat● Trails or extract files● Checkpoints● Manager● Collector1、Data Pump是一个次级的Extract Group,如果你的GG环境中不使用Data Pump的话,那么Primary Extract Group必须直接将trail通过网络写到Target系统上.参见后面的示例6:配置Data Pump实现一对多拓扑方案.2、默认情况下,Replicat是实时复制的,如果因为某种需要需要延迟复制的话,那么可以通过Replicat Group的如下DEFERAPPLYINTERVAL参数来控制,该参数允许delay的最大时间是7天。
按照Oracle GoldenGate的工作原理和体系结构,在每个复制数据源和目标端都需要安装一套GoldenGate软件,同时需要分别启动一个 GoldenGate实例,一个GoldenGate实例就是一个管理进程(Manager process),这个管理进程也是整个GoldenGate实例运行时最主要的控制进程。
GoldenGate操作系统内存的使用是通过操作系统来控制的,而不是通过GoldenGate程序控制的,GoldenGate进程会根据需要从OS那里分配相应的virtual memory.l GoldenGate GGSCI命令接口工具对于每个GoldenGate实例可以支持并发300个Extract和Replicat进程。
l 每个Extract和Replicat进程需要大约25-55 MB内存,这主要取决于transaction的大小和并发的transaction数量。
所以,根据上面2个条件,GoldenGate对操作系统内存的需求主要取决于Extract和Replicat进程数。
工作目录每个GoldenGate实例的工作目录(working directories and binaries),大约需要40M的空间,如果你要同一台Server安装多个GoldenGate实例到不同的目录/文件系统下话,那么就需要多倍的空间分配,在考虑空间分配的时候,也需要考虑这个因数。
辅助空间这部分空间主要用于存放GoldenGate Trails,它包含了工作数据。
这部分空间的消耗取决于Trail,依赖于将要处理的数据量。
根据实际的数据库系统的规模,每天产生的日志量的大小,建议这部分空间从1GB-100G不等,可以保存7-10天的GoldenGate队列文件即可。
对于RAC环境对于RAC环境,GoldenGate的相关软件和工作目录需要配置在shared disk环境中,从而保证对所有node都是可用的,从任何一个node都可以启动GoldenGate的进程,当其中一个node出现异常时,可以在剩余的node启动而无须修改任何配置参数.否则如果运行在单个node上的话,需要将剩余node中的归档日志通过一定的技术共享出来并加载到GoldenGate运行节点.对于RAC环境,GoldenGate要求所有node必须保持时钟同步,同时必须保持所有RAC node和运行extract进程的node节点保持时钟同步.因为GoldenGate会比较本地的系统时间和commit的时间戳.所以不能忽略这个设置.否则可能导致数据复制的紊乱.网络要求l Configure the system to use TCP/IP services, including DNSl GoldenGate 使用主机名或者IP地址进行连接,主机名的方式更容易使用l GoldenGate需要无限制的和自由的TCP/IP端口:一个port用于两个GoldenGate的Manager process之间通信(比如Source的Manager process和Target的Manager process)本地GoldenGate进程间通信使用的端口范围:缺省的端口范围从7840开始,或者可以定义一个从7840+256的端口l 建议保存一份分配给GoldenGate的端口使用记录l 配置防火墙允许接受来自GoldenGate端口的请求l 如果可能的话,可以设置FTP端口用于GoldenGate传输数据、参数和来自Source和Target的report.否则的话,需要提供其他的传输方法。
GoldenGate for Oracle1.支持的平台支持的Oracle Database 版本在当前的Oracle GoldenGate 10.4版本中,支持如下Oracle Database版本√Oracle 8i (DML support only)√Oracle 9.1 and 9.2 (DML and DDL support)√Oracle 10.1 and 10.2 (DML and DDL support)√Oracle 11g (DML and DDL support)支持的操作系统平台几乎所有主流的操作系统,GoldenGate都支持√Windows 2000, 2003, XP√Linux√Sun Solaris√HP NonStop√HP-UX√HP TRU64√IBM AIX√IBM z/OS2.操作系统需求内存要求按照Oracle GoldenGate的工作原理和体系结构,在每个复制数据源和目标端都需要安装一套GoldenGate软件,同时需要分别启动一个 GoldenGate实例,一个GoldenGate实例就是一个管理进程(Manager process),这个管理进程也是整个GoldenGate实例运行时最主要的控制进程.? GoldenGate是操作系统内存的使用是通过操作系统来控制的,而不是通过GoldenGate 程序控制的,GoldenGate进程会根据需要从OS那里分配相应的virtual memory.? GoldenGate GGSCI命令接口工具对于每个GoldenGate实例可以支持并发300个Extract和Replicat进程.? 每个Extract和Replicat进程需要大约25-55 MB内存,这主要取决于transaction的大小和并发的transaction数量.所以,根据上面2个条件,GoldenGate对操作系统内存的需求主要取决于Extract和Replicat进程数.DISK空间需求安装文件从Oracle 官方网站上download下来的GoldenGate 压缩软件包大约是50M,所以在分配磁盘空间前你需要提高考虑到这些额外的资源开销,当然了,安装完毕后,你就可以把这个压缩软件包删除了.工作目录每个GoldenGate实例的工作目录(working directories and binaries),大约需要40M的空间,如果你要同一台Server安装多个GoldenGate实例到不同的目录/文件系统下话,那么就需要多倍的空间分配,在考虑空间分配的时候,也需要考虑这个因数.辅助空间这部分空间主要用于存放GoldenGate Trails,它包含了工作数据。
这部分空间的消耗取决于Trail,依赖于将要处理的数据量。
根据实际的数据库系统的规模,每天产生的日志量的大小,建议这部分空间从1GB-100G不等,可以保存7-10天的GoldenGate队列文件即可.对于RAC环境对于RAC环境,GoldenGate的相关软件和工作目录需要配置在shared disk环境中,从而保证对所有node都是可用的,从任何一个node都可以启动GoldenGate的进程,当其中一个node出现异常时,可以在剩余的node启动而无须修改任何配置参数.否则如果运行在单个node上的话,需要将剩余node中的归档日志通过一定的技术共享出来并加载到GoldenGate运行节点。
对于RAC环境,GoldenGate要求所有node必须保持时钟同步,同时必须保持所有RAC node和运行extract进程的node节点保持时钟同步.因为GoldenGate会比较本地的系统时间和commit的时间戳.所以不能忽略这个设置,否则可能导致数据复制的紊乱。
网络要求? Configure the system to use TCP/IP services, including DNS? GoldenGate 使用主机名或者IP地址进行连接,主机名的方式更容易使用? GoldenGate需要无限制的和自由的TCP/IP端口:一个port用于两个GoldenGate的Manager process之间通信(比如Source的Manager process和Target的Manager process)本地GoldenGate进程间通信使用的端口范围:缺省的端口范围从7840开始,或者可以定义一个从7840+256的端口? 建议保存一份分配给GoldenGate的端口使用记录? 配置防火墙允许接受来自GoldenGate端口的请求? 如果可能的话,可以设置FTP端口用于GoldenGate传输数据、参数和来自Source和Target的report.否则的话,需要提供其他的传输方法.Database user在数据库中创建一个供GoldenGate使用的专用用,GoldenGate的所有进程可以使用这个用户连接到数据库中:⊙Extract (source database)⊙Replicat (target database)⊙Manager (source database, if using DDL support)⊙DEFGEN (source or target database)从系统安全的角度出发,这个GoldenGate用户建议不给任何其他应用使用,仅供GoldenGate使用。
对于Oracle 10g及以后的版本,如果使用了Automatic Storage Management (ASM),GoldenGate的Extract进程需要一个用户来访问ASM实例,但GoldenGate不支持O/S认证的授权方式,所以你可以使用sys或任何其他具有sysdba/sysasm权限的用户来连接到ASM实例.建议保留一份数据库用户的记录这些用户信息需要在GoldenGate参数文件中使用.USERID 是用户名,PASSWORD是口令对于ASM user,可以通过TRANLOGOPTIONS (带有ASMUSER 和 ASMPASSWORD选项)参数来配置。