OGG FOR BIGDATA 安装(修正)
参考:http://docs.oracle.com/goldengate/bd1221/gg-bd/GADBD/toc.htm
一、环境介绍
二、配置源端数据库
create user ggmgr identified by ggmgr defaulttablespace DATA_OL;grant connect,resource,unlimited tablespace to ggmgr;- grant execute on utl_file to ggmgr;
grant select any dictionary,select any table to ggmgr;grant alter any table to ggmgr;grant flashback any table to ggmgr;grant execute on DBMS_FLASHBACK to ggmgr;GRANT execute on DBMS_CAPTURE_ADM to ggmgr ;
1.2 开启附加日志
1.2.1 日志简介
- 数据库级别:包括最小(Minimal)、支持所有字段(all)、支持主键(primary key)、支持唯一键(unique)、支持外键(foreign key)。要使用OGG,至少要开启最小级别。是用户级别附加日志和表级别附加日志的基础。
- 用户级别:使用OGG DDL抽取功能时需要开启.
- 表级别 :必须开启表级别附加日志,除非启用了用户级别附加日志。
1.2.2 开启附件日志
SQL> SELECT supplemental_log_data_min, force_logging FROM v$database;SUPPLEMENTAL_LOG_DATA_MIN FORCE_LOGGING------------------------- -------------YES NO
alter database add supplemental log data;ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY, UNIQUE INDEX) COLUMNS;ALTER DATABASE FORCE LOGGING;
ALTER SYSTEM SET ENABLE_GOLDENGATE_REPLICATION = TRUE SCOPE=BOTH;
三、配置抽取端OGG
3.1 设置环境变量
export ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/dbhome_1export LD_LIBRARY_PATH=$ORACLE_HOME/libexport ORACLE_SID=orclexport PATH=$PATH:$ORACLE_HOME/bin:$LD_LIBRARY_PATH
setenv(NLS_LANG = "AMERICAN_AMERICA.UTF8")SETENV(ORACLE_HOME = "/u01/app/oracle/product/11.2.0.4/dbhome_1")SETENV(ORACLE_SID = "orcl")
3.2 安装OGG
使用OUI安装OGG或下载安装包解压到/u01/ogg.
1)用OUI安装OGG
用ORACLE用户执行runInstaller即可
2)用OUI静默安装
在解压目录下找到response/oggcore.rsp,修改:
- #如果机器上已经安装了ORACLE,则只添加以下几行即可.如果没有安装ORACLE,请先安装ORACLE或者ORACEL LIENT
INSTALL_OPTION=11g
SOFTWARE_LOCATION=/opt/ogg
UNIX_GROUP_NAME=oinstall
然后执行
./runInstaller -silent -nowait -responseFile /opt/ogg/fbo_ggs_Linux_x64_shiphome/Disk1/response/oggcore.rsp
- #如果机器上已经安装了ORACLE,则只添加以下几行即可.如果没有安装ORACLE,请先安装ORACLE或者ORACEL LIENT
INSTALL_OPTION=11gSOFTWARE_LOCATION=/opt/oggUNIX_GROUP_NAME=oinstall
./runInstaller -silent -nowait -responseFile /opt/ogg/fbo_ggs_Linux_x64_shiphome/Disk1/response/oggcore.rsp
3.2 创建子目录
GGSCI (OGGTEST) 1> create subdirs
3.3 添加表级别附加日志
GGSCI (OGGTEST) 2>dblogin userid ggmgr,password ggmgrSuccessfully logged intodatabase.GGSCI (OGGTEST) 3> add trandata scott.deptLogging of supplemental redo dataenabled for table SCOTT.DEPT.
GGSCI (OGGTEST) 3> add trandata scott.bouns,cols(ename),nokey
3.4 配置mgr进程
GGSCI(OGGTEST) 1> edit param mgrPORT 7839DYNAMICPORTLIST 7840-7939--AUTOSTART ER *AUTORESTART EXTRACT *,RETRIES5,WAITMINUTES 3PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 3LAGREPORTHOURS 1LAGINFOMINUTES 30LAGCRITICALMINUTES 45
3.5 配置抽取进程
GGSCI(OGGTEST) 12> add extract e_m157,tranlog,begin now #指定从log抽取,抽取时间是noeEXTRACTadded.GGSCI(OGGTEST) 14> add exttrail ./dirdat/em,extract e_m157,megabytes 50 #添加trail文件,Megabytes:指定队列大小,本处设置表示50M。- GGSCI(OGGTEST) 14> edit param e_m157
extracte_m157SETENV(ORACLE_SID="orcl")SETENV(NLS_LANG=AMERICAN_AMERICA.AL32UTF8)userid ggmgr, passwordggmgrEXTTRAIL /opt/ogg/dirdat/emtable ogg_owner.togg;TABLE scott.dept;#可以用scott.*
ADD EXTRACT group name
{, TRANLOG | , INTEGRATED TRANLOG}
{, BEGIN {NOW | yyyy-mm-dd[ hh:mi:[ss[.cccccc]]]} | SCN value}
[, THREADS n]
ADD EXTRACT finance, TRANLOG, BEGIN 2011-01-01 12:00:00.000000
3.6 配置传输进程
GGSCI(OGGTEST) 2> add extract dpend,exttrailsource ./dirdat/em #添加 传输进程EXTRACT added.GGSCI(OGGTEST) 3> add rmttrail /opt/ogg/dirdat/em, EXTRACT DPEND #添加远程trail文件,即目标机tail文件位置RMTTRAIL added.GGSCI(OGGTEST) 4> edit params dpend #编辑传输进程配置文件EXTRACT dpendSETENV(NLS_LANG = "AMERICAN_AMERICA.UTF8")USERID ggmgr, PASSWORD ggmgrPASSTHRURMTHOST 10.81.2.108, MGRPORT 7839, compressRMTTRAIL/opt/ogg/dirdat/emTABLE Scott.dept
3.7 创建定义文件
3.7.1 创建定义文件参数
[oracle@OGGTEST ogg]$ vi /opt/ogg/dirdef/scott.def.prmdefsfile ./dirdef/scott.def , purgeuserid ggmgr,password ggmgrtable scott.*;
3.7.2 创建定义文件
./defgen PARAMFILE /opt/ogg/dirdef/scott.def.prm
四、配置目标端OGG
4.1 安装ogg for bigdata
4.1.1 安装ogg for bigdata
ggsci>create subdirs
ggsci>create subdirs
4.1.2 设置环境变量
export LD_LIBRARY_PATH=/usr/java/jdk1.8.0_60/jre/lib/amd64/server/
4.2 配置mgr进程
4.2.1 编辑mgr进程参数
GGSCI(OGGTEST) 1> edit param mgrport7839dynamicportlist 7809-7909lagreportminutes 10laginfoseconds 1purgeoldextracts ./dirdat/*, usecheckpoints, minkeephours 192
4.2.2 启动mgr
ggsci>start mgr
4.3 配置HDFS handler
cp /opt/ogg/AdapterExamples/big-data/hdfs/* /opt/ogg/dirprm
4.3.1 配置hdfs handler
[root@BFHT5 ogg]# vi dirprm/hdfs.propsgg.handlerlist=hdfs --handler名称gg.handler.hdfs.type=hdfs --handler的类型#gg.handler.hdfs.includeTokens=truegg.handler.hdfs.maxFileSize=1ggg.handler.hdfs.rootFilePath=/user/oracle/gg --HDFS上的存储目录gg.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=delimitedtext --hdfs文件类型gg.handler.hdfs.format.includeColumnNames=true --包括列名gg.handler.hdfs.format.fieldDelimiter=CDATA[|] --字段分隔符gg.handler.hdfs.mode=tx --工作模式tx 事务 op操作goldengate.userexit.timestamp=utcgoldengate.userexit.writers=javawriterjavawriter.stats.display=TRUEjavawriter.stats.full=TRUEgg.log=log4jgg.log.level=DEBUG --日志级别,可设5个级别,默认为INFOgg.report.time=30secgg.classpath=/opt/cloudera/parcels/CDH/lib/hadoop/*:/opt/cloudera/parcels/CDH/lib/hadoop/lib/*:/opt/cloudera/parcels/CDH/lib/hadoop-hdfs/*:/etc/hadoop/conf/:/opt/cloudera/parcels/CDH/lib/hadoop/lib/native/*javawriter.bootoptions=-Xmx512m -Xms32m -Djava.class.path=ggjava/ggjava.jar
4.3.2 配置复制进程
[root@BFHT5 ogg]# vi dirprm/rhdfs.prmREPLICAT rhdfs --复制进程名setenv HADOOP_COMMON_LIB_NATIVE_DIR=/opt/cloudera/parcels/CDH/lib/hadoop/lib/nativeTARGETDB LIBFILE libggjava.so SET property=dirprm/hdfs.props --使用的hdfs handler配置文件SOURCEDEFS ./dirdef/scott.def --使用定义文件HANDLECOLLISIONSreperror default ,discarddiscardfile ./dirrpt/r_hive00000.dsc, append, megabytes 50 --错误数据写这里REPORTCOUNT EVERY 1 MINUTES, RATEGROUPTRANSOPS 10 --组提交MAP scott.*, TARGET scott.*;
4.3.3 添加复制进程
ggsci>ADD REPLICAT rhdfs, EXTTRAIL /opt/ogg/dirdat/em
ADD REPLICAT <group_name>[, INTEGRATED | COORDINATED [MAXTHREADS <number>]]{, SPECIALRUN |, EXTFILE <filename> |, EXTTRAIL <filename>}[, BEGIN {NOW | yyyy-mm-dd:hh:mm[:ss[.cccccc]]} |, EXTSEQNO <seqno>, EXTRBA <rba>][, CHECKPOINTTABLE <owner.table> | NODBCHECKPOINT][, PARAMS <parameter file>][, REPORT <report file>][, DESC "<description>"][, CPU number][, PRI number][, HOMETERM device_name][, PROCESSNAME process_name]
4.3.4 启动复制进程
ggsci>start rhdfs
4.3.5 检查抽取情况
4.4 配置 flume handler
4.4.1 配置flume handler
[root@BFHT5 dirprm]# vi custom-flume-rpc.propertiesclient.type = defaulthosts = bfht5hosts.bfht5 = 10.80.2.108:1111batch-size = 100connect-timeout = 20000request-timeout = 20000
[root@BFHT5 dirprm]# vi flume.propsgg.handlerlist = flumehandler --handler 名称gg.handler.flumehandler.type=flume --handler类型gg.handler.flumehandler.RpcClientPropertiesFile=custom-flume-rpc.properties --指定flume代理的配置文件gg.handler.flumehandler.mode=tx#gg.handler.flumehandler.maxGroupSize=100, 1Mb#gg.handler.flumehandler.minGroupSize=50, 500 Kbgg.handler.flumehandler.EventMapsTo=txgg.handler.flumehandler.PropagateSchema=truegg.handler.flumehandler.includeTokens=falsegg.handler.flumehandler.format.fieldDelimiter=,gg.handler.flumehandler.format.lineDelimiter=;gg.handler.flumehandler.format.includeColumnNames=truegoldengate.userexit.timestamp=utcgoldengate.userexit.writers=javawriterjavawriter.stats.display=TRUEjavawriter.stats.full=TRUEgg.log=log4jgg.log.level=INFOgg.report.time=30secgg.classpath=dirprm/:/opt/cloudera/parcels/CDH/lib/flume-ng/lib/* --要包含flume的库javawriter.bootoptions=-Xmx512m -Xms32m -Djava.class.path=ggjava/ggjava.jar
[root@BFHT5 dirprm]# vi rflume.prmREPLICAT rflumeTARGETDB LIBFILE libggjava.so SET property=dirprm/flume.propsSOURCEDEFS ./dirdef/scott.defHANDLECOLLISIONSALLOWNOOPUPDATESdiscardfile ./dirrpt/r_hive00000.dsc, append, megabytes 50REPORTCOUNT EVERY 1 MINUTES, RATEGROUPTRANSOPS 10MAPEXCLUDE uatxdgl.USER_INFO;MAPEXCLUDE uatxdgl.BACKDETAILS_INFO;MAPEXCLUDE UATXDGL.ASSISTINVESTIGATE;MAP scott.dept, TARGET scott.dept;
4.4.2 添加复制进程
ggsci>ADD REPLICAT rflume, EXTTRAIL /opt/ogg/dirdat/em
4.4.3 启动复制
GGSCI>start rflume
五、初始化数据
5.1 停止复制进程
5.2 源库查询当前SCN
SQL> select dbms_flashback.get_system_change_number from dual;GET_SYSTEM_CHANGE_NUMBER------------------------3173410
5.3 sqoop从SCN 3173410开始抽取数据到HDFS
5.4 设置复制端使用的文件和SCN,启动复制
alter replicat fscott,extseqno 2,extrba 0 #使用scn3173410 时的trail文件start fscott NOFILTERDUPTRANSACTIONS, aftercsn 3173410 #启动复制进程
OGG FOR BIGDATA 安装(修正)的更多相关文章
- OGG For Bigdata To Kafka同步问题处理
一.问题报错 -- :: ERROR OGG- Java or JNI exception: oracle.goldengate.util.GGException: Error detected ha ...
- OGG FOR BigData(Hive) GoldenGate 性能测试
版本信息: Oracle GoldenGate Command Interpreter Version 12.2.0.1.160419 OGGCORE_12.2.0.1.0OGGBP_PLATFORM ...
- 安装ogg软件报错:[INS-75012]Sofware Location specified is already an existing Oracle
1.安装ogg软件时报错: [INS-75012]Sofware Location specified is already an existing Oracle 2.根据报错,是说我们选择ogg软件 ...
- OGG 18.1 for mysql远程捕获测试
Ogg18.1 remote capture要求mysql为5.7版本,只能从linux远程捕获mysql on windows or linux,且不支持DDL捕获.支持远程mysql为commun ...
- OGG 从Oracle备库同步数据至kafka
OGG 从Oracle备库同步数据至kafka Table of Contents 1. 目的 2. 环境及规划 3. 安装配置JDK 3.1. 安装jdk 3.2. 配置环境变量 4. 安装Data ...
- 在RAC上部署OGG并配置OGG高可用
目录 简介 环境信息 安装OGG 配置数据库 开启数据库级别日志补充 在dbdc1为OGG单独创建TNS 创建OGG管理用户及其表空间 配置OGG 设置OGG全局参数 Source端,OGG设置, 配 ...
- 10.Oracle Golden Date(ogg)的搭建和管理
一. GoldenGate 概述 GoldenGate现在是业内成熟的数据容灾与复制产品:GoldenGate是一种基于日志的结构化数据复制方式,它通过解析源数据库在线日志或归档日志获得数据的增删改变 ...
- oracle goldengate安装
1.ftp工具上传ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip分别到source和target服务器 [oracle@localhost mnt]$ ll ...
- 【OGG】RAC环境下配置OGG单向同步 (四)
[OGG]RAC环境下配置OGG单向同步 (四) 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的 ...
随机推荐
- jenkins 构建触发器 Poll SCM 和 Build periodically区别
Poll SCM:定时检查源码变更(根据SCM软件的版本号),如果有更新就checkout最新code下来,然后执行构建动作.我的配置如下: */5 * * * * (每5分钟检查一次源码变化) Bu ...
- 使用CSS3的“transition ”属性控制长宽度的缓慢变化
有时候我们可能会想要改变某个资源信息的长宽度,比如改变某个div的宽度,而且需要让这个宽度缓慢改变,而不是突然就改变了.这时候你可能会想到使用jquery的animate()函数,不过这个方法既得引用 ...
- scp 指定端口(转)
1.注意-P 大写 2.实例 从服务器下载 scp -P 26399 root@104.222.133.88:/home/wwwroot/default/phpmyadmin/save/wordpre ...
- CAN总线布线规范
CAN总线布线规范 摘要:今天的CAN总线已从汽车电子慢慢渗透入工业自动化,医疗,铁路等众多领域.据我们的数据统计,客户在使用CAN总线时约80%的问题均是由总线布局布线不合理导致,今天我们就来扒一扒 ...
- overflow:hidden 影响inline-block元素周围元素下移
前言: 最近在切页中,我想实现左边一个类似下拉选框,且不允许输入,右边有一段垂直居中的文字描述的效果.我对文字用的是p标签.其实可以用个i/b/em等其他行内标签,同时也具有一定语义,做为强调提示,( ...
- Oracle 下马观花看redo
----------------------------------------- --Lerning Content :Oracle 下马观花看redo --Author :如人饮水冷暖自知 --版 ...
- 初学node.js-nodejs连接MongoDB(5)
一.吧MongoDB的驱动程序添加到Node.js中 Node.js 连接 MongoDB 连接
- 笔记1:MYSQL
(注:第一次写,如有错误之处,希望指出,不胜感激,谢谢,不喜也勿喷) 一.MYSQL简单描述 1.MYSQL是什么? MYSQL是现在最流行的关系型数据库管理系统之一: MYSQL是开源软件: 关系型 ...
- (收藏)mci 录音和播放
原文http://blog.csdn.net/lvbian/article/details/18226741 最近在做Android与C#录音并互相通信的小东西.但是卡在C#录音这儿了.找了好久,说的 ...
- 用uliweb 创建项目
创建项目 ***@Android:~# uliweb makeproject ablog ***@Android:~# cd ablog/ ***@Android:~/ablog# ls apps f ...