OGG基礎
分類: Oracle
GoldenGate技術架構圖
從圖中可以看到:GoldenGate主要包含Manager程式、Extract程式、Pump程式、Replicat程式,下面對其一一說明:
Manager程式是GoldenGate的控制程式,它主要作用有以下幾個方面:啟動、監控、重啟GoldenGate的其他程式,報告錯誤及時間,分配資料儲存空間,釋出閥值報告等。
Extract程式執行在資料庫源端,負責從源端資料表或日誌中捕獲資料。Extract程式利用其內在的checkpoint機制,週期性地檢查並記錄其讀寫的位置,通常是寫入到本地的trail檔案。這種機制是為了保證如果Extract程式終止或者作業系統當機,我們重啟Extract程式後,GoldenGate能夠恢復到以前的狀態,從上一個斷點處繼續往下執行,而不會有任何資料損失。
Pump程式執行在資料庫源端,其作用非常簡單。如果源端使用了本地trail檔案,那麼Pump程式就會把Trail檔案以資料塊的形式透過TCP/IP協議傳送到目標端,我們下面的配置都是這種方式。Pump程式本質是Extract程式的一種特殊形式,如果不使用Trail檔案,那麼Extract程式在抽取完資料後,直接投遞到目標端。
與Pump程式相對應的叫Server Collector程式,這個程式不需要引起我們關注,因為在實際操作過程中無需對其進行任何配置,它執行在目標端,任務就是把Extract/Pump程式投遞過來的資料塊重新組裝成Trail檔案。
Replicat程式執行在目標端,是資料投遞的最後一站,負責讀取目標端Trail檔案中的內容,並將解析其解析為DML或DDL語句,然後應用到目標資料庫中。
RAC到單機複製的配置
源端安裝
在GoldenGate安裝目錄(OCFS2目錄/ggate)解壓安裝檔案
unzip ogg112101_fbo_ggs_Linux_x64_ora10g_64bit.zip
tar –xvf fbo_ggs_Linux_x64_ora10g_64bit.tar
設定環境變數
在使用者引數檔案中新增以下內容:
export GGATE_HOME=/ggate
export LD_LIBRARY_PATH=$GGATE_HOME:$ORACLE_HOME/lib
注意:新增後需使引數檔案生效
安裝GoldenGate
進入OGG控制檯建立OGG工作目錄
然後在安裝目錄下執行 ./ggsci 進入OGG控制檯
執行命令 create subdirs建立工作目錄,顯示如下:
GGSCI (node1) 1> create subdirs
Creating subdirectories under current directory /ggate
Parameter files /ggate/dirprm: already exists
Report files /ggate/dirrpt: created
Checkpoint files /ggate/dirchk: created
Process status files /ggate/dirpcs: created
SQL script files /ggate/dirsql: created
Database definitions files /ggate/dirdef: created
Extract data files /ggate/dirdat: created
Temporary files /ggate/dirtmp: created
Stdout files /ggate/dirout: created
目標端安裝
參考源端安裝
配置源端資料庫
資料庫模式配置
源端資料庫必須開啟歸檔模式
Alter database archivelog;
開啟最小附加日誌
Alter database add supplemental log data;
使用SELECT SUPPLEMENTAL_LOG_DATA_MIN FROM V$DATABASE;
可檢視是否開啟了最小附加日誌;
源端資料庫建立GoldenGate資料庫使用者並授權:(我們這裡以ogg為例,使用其他亦可)
create user ogg identified by oracle default tablespace DATA_OL;
grant connect,resource,unlimited tablespace to ogg;
grant execute on utl_file 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;
新增表級transdata
GGSCI (node1) 1> dblogin userid ogg,password oracle
Successfully logged into database.
GGSCI (node1) 2> add trandata SCOTT.DEPT
Logging of supplemental redo data enabled for table SCOTT.DEPT.
GGSCI (node1) 3> add trandata SCOTT.EMP
Logging of supplemental redo data enabled for table SCOTT.EMP.
配置源端程式組
配置管理程式mgr:
GGSCI (node1) 1> edit param mgr
(貼上下面這段配置)
PORT 7839
DYNAMICPORTLIST 7840-7939
--AUTOSTART ER *
AUTORESTART EXTRACT *,RETRIES 5,WAITMINUTES 3
PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 3
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45
啟動管理程式:
GGSCI (node1) 2> start mgr
Manager started.
GGSCI (node1) 3> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
配置抽取程式:
GGSCI (node1) 6> add extract extnd,tranlog,begin now,threads 2
EXTRACT added.
GGSCI (node1) 7> add exttrail ./dirdat/nd,extract extnd,megabytes 100
EXTTRAIL added.
GGSCI (node1) 8> edit params extnd
(貼上下面這段配置)
EXTRACT extnd
SETENV (NLS_LANG = "AMERICAN_AMERICA.UTF8")
SETENV (ORACLE_HOME = "/u01/app/oracle/product/10.2.0/db_1")
USERID ogg@RAC, PASSWORD oracle
--GETTRUNCATES
REPORTCOUNT EVERY 1 MINUTES, RATE
DISCARDFILE ./dirrpt/extnd.dsc,APPEND,MEGABYTES 1024
--THREADOPTIONS MAXCOMMITPROPAGATIONDELAY 60000 IOLATENS 60000
DBOPTIONS ALLOWUNUSEDCOLUMN
WARNLONGTRANS 2h,CHECKINTERVAL 3m
EXTTRAIL ./dirdat/nd
--TRANLOGOPTIONS EXCLUDEUSER USERNAME
FETCHOPTIONS NOUSESNAPSHOT
TRANLOGOPTIONS CONVERTUCS2CLOBS
TABLE scott.dept;
TABLE scott.emp;
注意:threads與RAC節點數相同即可,RAC中不再使用ORACLE_SID設定,而使用USERID ogg@RAC,注意兩個節點均可連線資料庫。
新增傳輸程式,配置引數
GGSCI (node1) 2> add extract dpend,exttrailsource ./dirdat/nd
EXTRACT added.
GGSCI (node1) 3> add rmttrail /uo1/app/ogg/dirdat/nd, EXTRACT DPEND
RMTTRAIL added.
GGSCI (node1) 4> edit params dpend
(貼上下面這段配置)
EXTRACT dpend
SETENV (NLS_LANG = AMERICAN_AMERICA.UTF8)
USERID ogg@RAC, PASSWORD oracle
PASSTHRU
RMTHOST 10.123.112.235, MGRPORT 7839, compress
RMTTRAIL /uo1/app/ogg/dirdat/nd
TABLE scott.dept;
TABLE scott.emp;
配置目標資料庫
目標庫建立GoldenGate資料庫使用者並授權:
create user ogg identified by oracle default tablespace USERS;
grant connect,resource,unlimited tablespace to ogg;
grant execute on utl_file 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;
新增checkpoint表
GGSCI (sun.linux) 2> edit params GLOBALS
然後在引數檔案中輸入
GGSCHEMA ogg
CHECKPOINTTABLE ogg.checkpoint
GGSCI (sun.linux) 4> dblogin userid ogg,password oracle
Successfully logged into database.
GGSCI (sun.linux) 5> add checkpointtable ogg.checkpoint
Successfully created checkpoint table ogg.checkpoint.
配置目標程式組
配置MGR引數
GGSCI (sun.linux) 6> edit params mgr
(貼上下面這段配置)
PORT 7839
DYNAMICPORTLIST 7840-7939
--AUTOSTART ER *
AUTORESTART EXTRACT *,RETRIES 5,WAITMINUTES 3
PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 3
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45
配置複製佇列
GGSCI (sun.linux)8> add replicat repnd,exttrail /uo1/app/ogg/dirdat/nd,checkpointtable ogg.checkpoint
REPLICAT added.
GGSCI (sun.linux) 10> edit params repnd
(貼上下面這段配置)
REPLICAT repnd
SETENV (NLS_LANG = AMERICAN_AMERICA.UTF8)
USERID ogg, PASSWORD oracle
ASSUMETARGETDEFS
REPERROR default,discard
discardfile ./dirrpt/repnd.dsc,append,megabytes 50
map scott.*,target pmsbi.*;
啟動源端程式組
啟動抽取程式和傳輸程式:
start extnd
start dpend
啟動後使用info all檢視程式狀態,正常status應該RUNNING,顯示如下:
GGSCI (node1) 19> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING DPEND 00:00:00 00:00:09
EXTRACT RUNNING EXTND 00:00:00 00:00:04
啟動目標端程式
start repnd
顯示如下:
GGSCI (sun.linux) 2> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
REPLICAT RUNNING REPND 00:00:00 00:00:03
到此RAC到單點OGG的安裝配置就完成了,可以進行資料同步測試了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29913993/viewspace-1364571/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 在原ogg基礎上重新搭建ogg
- Oracle 19C OGG基礎運維-09OGG-15121錯誤Oracle運維
- Oracle 19C OGG基礎運維-03DML操作同步Oracle運維3D
- Oracle 19C OGG基礎運維-05DDL操作同步Oracle運維
- Oracle 19C OGG基礎運維-06增加複製表Oracle運維
- Oracle 19C OGG基礎運維-08Error code [942]Oracle運維Error
- Oracle 19C OGG基礎運維-01環境準備Oracle運維
- Oracle 19C OGG基礎運維-02資料初始化Oracle運維
- Oracle 19C OGG基礎運維-07減少複製表Oracle運維
- Oracle 19C OGG基礎運維-04DML同步常見問題Oracle運維
- 【FPGA基礎】Latch基礎FPGA
- Java基礎-語法基礎Java
- Pandas 基礎 (2) - Dataframe 基礎
- 前端基礎之jQuery基礎前端jQuery
- [今日白學]元件的基礎的基礎的基礎元件
- 【web前端基礎 | JS基礎】物件Web前端JS物件
- scala基礎語法-----Spark基礎Spark
- Java基礎-物件導向基礎Java物件
- 【基礎篇索引】索引基礎(四)索引
- 【基礎篇索引】索引基礎(三)索引
- 【基礎篇索引】索引基礎(二)索引
- 【基礎篇索引】索引基礎(一)索引
- python基礎中的基礎Python
- 基礎
- JavaScript 基礎卷(一):基礎語法JavaScript
- 前端基礎入門四(JavaScript基礎)前端JavaScript
- 測試基礎(四)Jmeter基礎使用JMeter
- Python基礎:語法基礎(3)Python
- ASM常用基礎管理命令[ASM基礎]ASM
- 【Java基礎】--深入剖析基礎語法Java
- 【Vim】基礎之基礎——指尖的舞蹈
- 基礎表-底表-基礎資料
- Oracle OGG 到 Kafka OGG-01431 OGG-01003 OGG-01151 OGG-01296 OGG-01668OracleKafka
- 【OGG】OGG的下載和安裝篇
- Go 基礎教程--2-基礎知識Go
- Web測試基礎-Html基礎知識WebHTML
- Linux基礎學習——檔案基礎Linux
- 多執行緒基礎-基礎實現執行緒