您好,登錄后才能下訂單哦!
1、 軟件版本說明:
Goldengate 12c 12.2.0.1 forOracle (源端 )
Goldengate 12c 12.2.0.1 for Bigdata ( 目標端)
Oracle 11g 11.2.0.4.0 (注oracle 數據庫必須是11.2.0.4之后的版本,之前的oracle 數據庫版本不支持ogg 12c )
HBase 1.1.2
Java 1.8.0_91
2、 機器IP 說明
源端IP地址(192.168.45.176)安裝 Oracle 11g 11.2.0.4 , Goldengate 12c
目標端 IP地址(192.168.45.175),安裝 hbase,Goldengate 12c ,軟件安裝
hbase已采用ambari 進行安裝,安裝過程不作詳細說明,在此主要說明下各軟件的安裝目錄,以及使用的端口。
Oracle 12c for Oracle (192.168.45.176) 安裝目錄為:/home/oracle/oggdb
Oracle 12c for bigdata (192.168.45.175) 安裝目錄為:/ogg
Hbase 安裝目錄: /usr/hdp/2.4.2.0-258/hbase
3、 源端(192.168.45.176) 的配置
#連接數據庫
sqlplus / as sysdba
SQL> shutdownimmeidate;
SQL> startup mount;
#開啟歸檔日志
SQL> alter database archivelog;
SQL> archive log list
#開啟數據庫級日志
SQL> alter database force logging;
#開啟 goldengate 復制功能(注:此參數必須開啟,oracle 11.2.0.4 之后的數據庫才支持此參數)
SQL> alter system set enable_goldengate_replication=true scope=both;
#關閉 垃圾回收站
SQL> alter system set recyclebin=off scope=spfile;
#開啟數據庫
SQL> alter databaseopen;
#創建ogg 管理用戶
SQL> create user oggidentified by ogg account unlock;
SQL> grant execute on utl_file to ogg;
SQL>grant restricted session to ogg;
SQL> grant dba to ogg
進入源端(192.168.45.176)OGG 目錄,配置數據初始化。
# cd /home/oracle/oggdb
#進入ogg
[oracle@sy-bd-061 oggdb]$ ./ggsci
#配置源端mgr進程
GGSCI (oracle) 10> edit params mgr
PORT 7809
#配置同步用戶
GGSCI (oracle) 7> dblogin userid ogg,password ogg
Successfully logged into database.
#給scott用戶下的所有表開啟附加日志
GGSCI (oracle) 8> add trandata scott.*
#源端配置initload extract 進程
GGSCI (oracle) 8> add extract fafainih, sourceistable
EXTRACT added.
#配置extract進程 fafainie 參數
extractfafainih
useridogg,password ogg
rmthost192.168.45.175,mgrport 7809
--rmttaskreplicat,group fafainir
RMTFILE./dirdat/hh
tablescott.*;
4、 目標 端的配置。(192.168.45.175)
#在用戶家目錄下的 ~/.bash_profile中配置用戶的JAVA_HOME,以及LIB_PATH 環境變量。
exportJAVA_HOME=/usr/java/jdk1.8.0_91/jre/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/java/jdk1.8.0_91/jre/lib/amd64/libjsig.so:/usr/java/jdk1.8.0_91/jre/lib/amd64/server/libjvm.so:/usr/java/jdk1.8.0_91/jre/lib/amd64/server:/usr/java/jdk1.8.0_91/jre/lib/amd64
#使新加入的環境變量生效
source ~/.bash_profile
#進入 OGG安裝目錄
cd /ogg
#復制 hbase對應的配置文件。
cp AdapterExamples/big-data/hbase/* dirprm/
cd /ogg/dirprm
[root@sy-bd-060 dirprm]# vi hbase.props
gg.handlerlist=hbase
gg.handler.hbase.type=hbase
gg.handler.hbase.hBaseColumnFamilyName=cf
gg.handler.hbase.keyValueDelimiter=CDATA[=]
gg.handler.hbase.keyValuePairDelimiter=CDATA[,]
gg.handler.hbase.encoding=UTF-8
gg.handler.hbase.pkUpdateHandling=abend
gg.handler.hbase.nullValueRepresentation=CDATA[NULL]
gg.handler.hbase.authType=none
gg.handler.hbase.includeTokens=false
gg.handler.hbase.mode=tx
goldengate.userexit.timestamp=utc
goldengate.userexit.writers=javawriter
javawriter.stats.display=TRUE
javawriter.stats.full=TRUE
gg.log=log4j
gg.log.level=INFO
gg.report.time=30sec
#配置hbase 所用庫的路徑
gg.classpath=/usr/hdp/2.4.2.0-258/hbase/lib/*:/usr/hdp/2.4.2.0-258/hbase/conf/:/usr/hdp/2.4.2.0-258/hadoop/client/*
javawriter.bootoptions=-Xmx512m -Xms32m-Djava.class.path=ggjava/ggjava.jar
#進入ogg
cd /ogg
./ggsci
GGSCI (hbase) 2> edit params mgr
Port 7809
#配置復制進程
GGSCI (hbase) 5> add replicat irhbase, specialrun
SPECIALRUN
END RUNTIME
EXTFILE ./dirdat/hh
TARGETDB LIBFILE libggjava.so SETproperty=dirprm/hbase.props
REPORTCOUNT EVERY 1 MINUTES, RATE
GROUPTRANSOPS 10000
MAP scott.*, TARGET BDTEST.*;
5、 源端(192.168.45.176)
cd /home/oracle/oggdb
./ggsci
#啟動fafainie 進程
GGSCI (oracle) 1> start fafainih
#查看進程的執行情況
GGSCI (oracle) 2> view report fafainih
6、 目標端(192.168.45.175)
cd /ogg
#啟動復制進程
./replicat paramfile ./dirprm/irhbase.prm reportfile ./dirrpt/irhbase.rpt -p INITIALDATALOAD
#進入hbase 環境
Hbase shell
#查看表中的數據
發現表中的數據已經存在,說明oracle的 數據成功加載至 hbase.
源端(192.168.45.176)配置數據的動態抓取
cd /home/oracle/oggdb
sqlplus / as sysdba
SQL> @marker_setup
#在以下提示中輸入:ogg
Enter Oracle GoldenGate schema name:ogg
#創建OGG表空間,授予OGG用戶相應的權限
SQL> CREATE TABLESPACE TBS_OGG DATAFILE '/home/oracle/app/oracle/oradata/oggdb/tbs_ogg_01.dbf'SIZE 2G AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED;
Tablespace created.
SQL> alter user ogg DEFAULT TABLESPACE TBS_OGG;
User altered.
SQL> grant connect,resource,unlimited tablespace to ogg;
Grant succeeded.
SQL> @ddl_setup.sql
#在以下提示中:輸入ogg
Enter Oracle GoldenGate schema name:ogg
SQL> @role_setup
# 在以下提示中:輸入ogg
Enter GoldenGate schema name:ogg
SQL> GRANT GGS_GGSUSER_ROLE TO OGG;
#配置OGG 日志抓取進程
cd /home/oracle/oggdb
./ggsci
#源端創建OGG 抽取進程
GGSCI (oracle) 1> add extract scotthb, tranlog, begin now
# 指定抽取進程trail文件的位置
GGSCI (oracle) 2> add rmttrail /ogg/dirdat/ha,extract scotthb
# 編輯 scotthb 進程參數
GGSCI (oracle) 3> edit params scotthb
extract scotthb
userid ogg,password ogg
rmthost 192.168.45.175, mgrport 7809
rmttrail /ogg/dirdat/ha
discardfile /home/oracle/oggdb/dirrpt/trail.dsc,append,megabytes 100
ddl include mapped
table scott.*;
7、目標端(192.168.45.175)配置數據復制進程
cd /ogg
./ggsci
#配置全局參數
GGSCI (hbase) 1> edit params ./GLOBALS
ggschema ogg
checkpointtable ogg.chkpnt_fafa
#配置解析進程
GGSCI (hbase) 2> add replicat rscott,exttrail /ogg/dirdat/ha
#編輯解析進程參數
GGSCI (hbase) 3> edit params rscott
REPLICAT rscott
-- Trail file for this example is located in"AdapterExamples/trail" directory
-- Command to add REPLICAT
-- add replicat rhbase, exttrail AdapterExamples/trail/tr
TARGETDB LIBFILE libggjava.so SET property=dirprm/hbase.props
REPORTCOUNT EVERY 1 MINUTES, RATE
GROUPTRANSOPS 10000
MAP scott.*, TARGET bdtest.*;
8、源端(192.168.45.176)啟動抓取進程
cd /home/oracle/ogdb
./ggsci
GGSCI (oracle) 1> start scotthb
9、 目標端(192.168.45.173)啟動復制進程
cd /home/oracle/oggdb
./ggsci
GGSCI (kafka) 1> start rscott
至此,整個配置過程完成,配置完成后,可以通過在源端(192.168.45.176)中的oracle 數據庫中,進行DML操作,測試新變化的數據,是否能同步到hbase。
10、源端數據庫做測試(192.168.45.176)
sqlplus / as sysdba
SQL> Alter user scott account unlock;
SQL> conn scott/tiger
#向scott.dept表中新插入一條數據
SQL> insert into scott.deptvalues(50,'DEVELOP','SHANGHAI');
SQL> commit;
11、在目標端(192.168.45.175)上查看數據
Hbase shell
在hbase中,已經可以查詢到新增加的數據。
12、在源端(192.168.45.176)修改oracle 數據.
sqlplus / as sysdba
SQL> update scott.dept set loc='HANGZHOU'where deptno=50;
SQL> commit;
13、在目標端(192.168.45.175) 查看數據
Hbase shell
發現hbase 數據對應的記錄已經相應的修改。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。