Oracle创建模拟复制库表
模拟建一个用户叫tcloud,密码tcloud,同时基于这个用户建一张表,叫t_ogg。
SQL> create user tcloud identified
by tcloud
default tablespace users;
User created.
SQL> grant dba to tcloud;
Grant succeeded.
SQL> conn tcloud/tcloud;
Connected.
SQL>
create table t_ogg(id int ,text_name varchar(20),primary key(id));
Table created.
目标端基础配置
将下载到的对应OGG版本放在方便的位置并解压,本示例Oracle目标端最终的解压目录为/data/gg。
配置环境变量
这里需要用到HDFS相关的库,故需要配置Java环境变量以及OGG相关,并引入HDFS的相关库文件(jdk 必须是1.7,否则会报错在后面启动replicatjinc),参考配置如下:
export JAVA_HOME=
/usr/java/jdk1.7.0_75/
export LD_LIBRARY_PATH=
/usr/java/jdk1.7.0_75/jre/lib/amd64
:/usr/java/jdk1.
7.0_75/jre/lib/amd64/
server:/usr/java/jdk1.
7.0_75/jre/lib/amd64/libjsig.
so:/usr/java/jdk1.
7.0_75/jre/lib/amd64/server/libjvm.
so:$OGG_HOME
:/lib
export OGG_HOME=
/data/gg
OGG初始化
目标端的OGG初始化和源端类似进入OGG的主目录执行./ggsci,进入OGG命令行
GGSCI (
10.0.0.2)
2> create subdirs
Creating subdirectories under current directory
/data/gg
Parameter files
/data/gg/dirprm: already exists
Report files
/data/gg/dirrpt: already exists
Checkpoint files
/data/gg/dirchk: already exists
Process status files
/data/gg/dirpcs: already exists
SQL script files
/data/gg/dirsql: already exists
Database definitions files
/data/gg/dirdef: already exists
Extract data files
/data/gg/dirdat: already exists
Temporary files
/data/gg/dirtmp: already exists
Credential store files
/data/gg/dircrd: already exists
Masterkey wallet files
/data/gg/dirwlt: already exists
Dump files
/data/gg/dirdmp: already exists
Oracle源配置
Oracle实时传输到Hadoop集群(HDFS,Hive,Kafka等)的基本原理如图:
根据如上原理,配置大概分为如下步骤:源端目标端配置ogg管理器(mgr);源端配置extract进程进行Oracle日志抓取;源端配置pump进程传输抓取内容到目标端;目标端配置replicate进程复制日志到Hadoop集群或者复制到用户自定义的解析器将最终结果落入到Hadoop集群。
配置全局变量
在源端服务器OGG主目录下,执行./ggsci到OGG命令行下,执行如下命令:
GGSCI (VM_0_25_centos)
1> dblogin userid ggs password ggs
Successfully logged
into database.
GGSCI (VM_0_25_centos)
3> view
params ./globals
ggschema ggs
其中./globals变量没有的话可以用edit params ./globals来编辑添加即可(编辑器默认使用的vim)
配置管理器mgr
在OGG命令行下执行如下命令:
GGSCI (VM_0_25_centos)
4> edit param mgr
PORT
7809
DYNAMICPORTLIST
7810-7909
AUTORESTART EXTRACT *,RETRIES
5,WAITMINUTES
3
PURGEOLDEXTRACTS .
/dirdat/*,usecheckpoints, minkeepdays
3