共計 5373 個字符,預(yù)計需要花費 14 分鐘才能閱讀完成。
本篇內(nèi)容介紹了“GoldenGate 的基本原理介紹”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓丸趣 TV 小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
什么是 GoldenGate
官方定義:
Oracle GoldenGate is a comprehensive software package for real-time data integration and replication in heterogeneous IT environments.The product set enables high availability solutions, real-time data integration, transactional change data capture, data replication, transformations, and verification between operational and analytical enterprise systems.
大白話版:
Oracle GoldenGate(OGG)只會做一件事:復(fù)制數(shù)據(jù)。除此之外,啥也不會。
專一
高效
跨平臺
OGG 支持的平臺
支持的數(shù)據(jù)庫:
Oracle
MySQL
DB2
SQL Server
NonStop SQL/MX
Sybase
Teradata
TimesTen
PostgreSQL
Informix
支持的平臺:
Unix(Solaris,AIX,HP-UX)
Linux
Windows
z/OS
HP NonStop
支持的操作:
DML
DDL
OGG 支持的架構(gòu)
OGG 基本原理 -Oracle 的 Redo Log 機(jī)制
LGWR: Log Writer Process
日志寫進(jìn)程,將緩存中的 Change Vector 寫入到文件 (Online Redo Log) 中
ARCn: Archiver Processes
歸檔進(jìn)程,對 Online Redo Log 進(jìn)行拷貝
Redo Log:
記錄數(shù)據(jù)庫的變更數(shù)據(jù) (Change Vector)。
分為:Online Redo Log 和 Archived Redo Log
OGG 基本原理 - 工作機(jī)制
主要進(jìn)程:
Manager
總控進(jìn)程
管理其它進(jìn)程
管理網(wǎng)絡(luò)端口
管理 TRAIL 文件
管理運行日志
Extract
數(shù)據(jù)抓取
數(shù)據(jù)分發(fā)(Data Pump)
Replicat
數(shù)據(jù)應(yīng)用
Collector
數(shù)據(jù)接收
主要文件:
Trail
數(shù)據(jù)的記錄
Checkpoints
數(shù)據(jù)檢查點信息
OGG 的安裝
環(huán)境: CentOS 6.7/Oracle 11.2.0.4/GoldenGate 11.2.1.0.32
Step 1. 設(shè)置環(huán)境變量
export ORACLE_HOME=/u01/app/oracle/product/database/11.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH
Step 2. 解壓縮軟件包
cd /u01/app/oracle/product/ogg/gghome/11.2.1/gghome_1
tar xf fbo_ggs_Linux_x64_ora11g_64bit.tar
Step 3. 安裝運行目錄
cd /u01/app/oracle/product/ogg/gghome/11.2.1/gghome_1
./ggsci
GGSCI create subdirs
OGG 實施的基本步驟
場景:源庫的表 J.T1 實時同步到目標(biāo)庫的 J.T1
Step 1. 源端 OGG 賬號配置
SQL CREATE TABLESPACE GGS DATAFILE +DATA01 SIZE 4G;
SQL CREATE USER GGS IDENTIFIED BY GGS123 DEFAULT TABLESPACE GGS QUOTA UNLIMITED ON GGS;
SQL GRANT DBA TO GGS;
$ ./keygen 128 1
0xD63ED81A1DA4DA0596004362410C5522
$ cat ENCKEYS
DEFKEY 0xD63ED81A1DA4DA0596004362410C5522
GGSCI encrypt password GGS123 encryptkey DEFKEY
Encrypted password: AADAAAAAAAAAAAGAJDSJTIIEHJJBOBPDNEZBYIAAPDOCCFGILFMAOGNCMCCAXABIQIFIJAXCKBLFQIMC
Algorithm used: AES128
Step 2. 源端數(shù)據(jù)庫配置
SQL ALTER DATABASE FORCE LOGGING;
SQL ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
GGSCI dblogin userid ggs, password AADAAAAAAAAAAAGAJDSJTIIEHJJBOBPDNEZBYIAAPDOCCFGILFMAOGNCMCCAXABIQIFIJAXCKBLFQIMC, encryptkey DEFKEY
GGSCI add trandata J.T1
Step 3. 源端 Manager 進(jìn)程配置
GGSCI edit params MGR
PORT 7809
PURGEOLDEXTRACTS /data01/oracle/ogg/dirdat/ta*, USECHECKPOINTS, MINKEEPDAYS 30
AUTORESTART ER *, RETRIES 5, WAITMINUTES 1, RESETMINUTES 30
LAGREPORTMINUTES 30
LAGCRITICALMINUTES 60
GGSCI start MGR
Step 4. 源端 Extract 進(jìn)程配置
GGSCI edit params EJT
EXTRACT EJT
SETENV (ORACLE_HOME= /u01/app/oracle/product/database/11.2.0/db_1)
SETENV (ORACLE_SID= stest)
USERID GGS, PASSWORD AADAAAAAAAAAAAGAJDSJTIIEHJJBOBPDNEZBYIAAPDOCCFGILFMAOGNCMCCAXABIQIFIJAXCKBLFQIMC, ENCRYPTKEY DEFKEY
TRANLOGOPTIONS DBLOGREADER, DBLOGREADERBUFSIZE 2097152
EXTTRAIL /data01/oracle/ogg/dirdat/ta
DISCARDFILE /u01/app/oracle/product/ogg/gghome/11.2.1/gghome_1/dirrpt/EJT.dsc, APPEND Megabytes 256
DISCARDROLLOVER AT 00:00 on SUNDAY
REPORTROLLOVER AT 00:00 on SUNDAY
REPORTCOUNT EVERY 4 HOURS, RATE
FETCHOPTIONS, FETCHPKUPDATECOLS, USESNAPSHOT, NOUSELATESTVERSION, MISSINGROW REPORT
STATOPTIONS REPORTFETCH
WARNLONGTRANS 1H, CHECKINTERVAL 5M
TABLE J.T1 ;
Step 5. 源端添加 Extract 進(jìn)程
GGSCI add extract EJT, tranlog, begin now
GGSCI add exttrail /data01/oracle/ogg/dirdat/ta, extract EJT, megabytes 256
GGSCI start extract EJT
Step 6. 目標(biāo)端數(shù)據(jù)庫配置
SQL ALTER SYSTEM SET enable_goldengate_replication=TRUE;
Step 7. 目標(biāo)端 OGG 賬號配置
參見 Step 1. 源端 OGG 賬號配置
Step 8. 目標(biāo)端 Checkpoint 配置
GGSCI dblogin userid ggs, password AADAAAAAAAAAAAGAJDSJTIIEHJJBOBPDNEZBYIAAPDOCCFGILFMAOGNCMCCAXABIQIFIJAXCKBLFQIMC, encryptkey DEFKEY
GGSCI add checkpointtable ggs.checkpoint
Step 9. 目標(biāo)端 Manager 進(jìn)程配置
GGSCI edit params ./GLOBALS
CHECKPOINTTABLE ggs.checkpoint
ALLOWOUTPUTDIR /data01/oracle/ogg/dirdat
GGSCI edit params MGR
PORT 7809
PURGEOLDEXTRACTS /data01/oracle/ogg/dirdat/ta*, USECHECKPOINTS, MINKEEPDAYS 30
AUTORESTART ER *, RETRIES 5, WAITMINUTES 1, RESETMINUTES 30
LAGREPORTMINUTES 30
LAGCRITICALMINUTES 60
GGSCI start MGR
Step 10. 源端 Data Pump 進(jìn)程配置
GGSCI edit params PJT
EXTRACT PJT
SETENV (ORACLE_HOME= /u01/app/oracle/product/database/11.2.0/db_1)
PASSTHRU
RMTHOST tj, MGRPORT 7809
RMTTRAIL /data01/oracle/ogg/dirdat/ta
DISCARDFILE /u01/app/oracle/product/ogg/gghome/11.2.1/gghome_1/dirrpt/PJT.dsc, APPEND, MEGABYTES 256
DISCARDROLLOVER AT 00:00 on SUNDAY
REPORTROLLOVER AT 00:00 on SUNDAY
REPORTCOUNT EVERY 4 HOURS, RATE
TABLE J.T1 ;
Step 11. 源端添加 Data Pump 進(jìn)程
GGSCI add extract PJT, exttrailsource /data01/oracle/ogg/dirdat/ta
GGSCI add rmttrail /data01/oracle/ogg/dirdat/ta, extract PJT, megabytes 256
GGSCI start extract PJT
Step 12. 目標(biāo)端 Replicat 進(jìn)程配置
GGSCI edit params RJT
REPLICAT RJT
SETENV (ORACLE_HOME = /u01/app/oracle/product/database/11.2.0/db_1)
SETENV (ORACLE_SID= ttest)
SETENV (NLS_LANG = AMERICAN_CHINA.ZHS16GBK)
USERID GGS, PASSWORD AADAAAAAAAAAAAGAJDSJTIIEHJJBOBPDNEZBYIAAPDOCCFGILFMAOGNCMCCAXABIQIFIJAXCKBLFQIMC, ENCRYPTKEY DEFKEY
DISCARDFILE /u01/app/oracle/product/ogg/gghome/11.2.1/gghome_1/dirrpt/RJT.dsc, APPEND Megabytes 256
DISCARDROLLOVER AT 00:00 on SUNDAY
REPORTROLLOVER AT 00:00 on SUNDAY
REPORTCOUNT EVERY 4 HOURS, RATE
ASSUMETARGETDEFS
MAP J.T1, TARGET J.T1;
Step 13. 目標(biāo)端添加 Replicat 進(jìn)程
GGSCI dblogin userid ggs, password AADAAAAAAAAAAAGAJDSJTIIEHJJBOBPDNEZBYIAAPDOCCFGILFMAOGNCMCCAXABIQIFIJAXCKBLFQIMC, encryptkey DEFKEY
GGSCI add replicat RJT, exttrail /data01/oracle/ogg/dirdat/ta
Step 14. 數(shù)據(jù)初始化 - 源端數(shù)據(jù)導(dǎo)出
SQL SELECT CURRENT_SCN FROM V$DATABASE;
CURRENT_SCN
————-
373926987
$ expdp system/systm123 directory=DUMPDIR dumpfile=JT1.dump tables=J.T1 flashback_scn=373926987 logfile=JT1.expdp.log
Step 15. 數(shù)據(jù)初始化 - 目標(biāo)端數(shù)據(jù)導(dǎo)入
$ impdp system/systm123 directory=DUMPDIR dumpfile=JT1.dump logfile=JT1.impdp.log
Step 16. 目標(biāo)端啟 Replicat 進(jìn)程
GGSCI start replicat RJT, atcsn 373926987
“GoldenGate 的基本原理介紹”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注丸趣 TV 網(wǎng)站,丸趣 TV 小編將為大家輸出更多高質(zhì)量的實用文章!