時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)
一、前言
GoldenGate軟件是一種基于日志的結(jié)構(gòu)化數(shù)據(jù)復(fù)制軟件,它通過(guò)解析源數(shù)據(jù)庫(kù)在線日志或歸檔日志獲得數(shù)據(jù)的增量變化,再將這些變化應(yīng)用到目標(biāo)數(shù)據(jù)庫(kù),從而實(shí)現(xiàn)源數(shù)據(jù)庫(kù)與目標(biāo)數(shù)據(jù)庫(kù)同步。GoldenGate 可以在異構(gòu)的IT基礎(chǔ)結(jié)構(gòu)(包括幾乎所有常用操作系統(tǒng)平臺(tái)和數(shù)據(jù)庫(kù)平臺(tái))之間實(shí)現(xiàn)大量數(shù)據(jù)亞秒一級(jí)的實(shí)時(shí)復(fù)制,從而在可以在應(yīng)急系統(tǒng)、在線報(bào)表、實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù)供應(yīng)、交易跟蹤、數(shù)據(jù)同步、集中/分發(fā)、容災(zāi)等多個(gè)場(chǎng)景下應(yīng)用。
同時(shí),GoldenGate可以實(shí)現(xiàn)一對(duì)一、廣播(一對(duì)多)、聚合(多對(duì)一)、雙向、點(diǎn)對(duì)點(diǎn)、級(jí)聯(lián)等多種靈活的拓?fù)浣Y(jié)構(gòu)
二、環(huán)境要求
1. 支持的平臺(tái)
支持的Oracle Database 版本
在當(dāng)前的Oracle GoldenGate 10.4版本中,支持如下Oracle Database版本
Oracle 8i (DML support only)
Oracle 9.1 and 9.2 (DML and DDL support)
Oracle 10.1 and 10.2 (DML and DDL support)
Oracle 11g (DML and DDL support)
支持的操作系統(tǒng)平臺(tái)
幾乎所有主流的操作系統(tǒng),GoldenGate都支持
Windows 2000, 2003, XP,Linux,Sun Solaris,HP NonStop,HP-UX
2.? 操作系統(tǒng)需求
?。?)內(nèi)存要求
GoldenGate對(duì)操作系統(tǒng)內(nèi)存的需求主要取決于Extract和Replicat進(jìn)程數(shù),一般建議>2G。
?。?)DISK空間需求
由于要數(shù)據(jù)庫(kù)必須設(shè)置為歸檔模式,所以要求至少保存7天以上的日志,建議剩余空間在10G~100G之間。
(3)對(duì)于RAC環(huán)境
GoldenGate的相關(guān)軟件和工作目錄需要配置在shared disk環(huán)境中,從而保證對(duì)所有node都是可用的,從任何一個(gè)node都可以啟動(dòng)GoldenGate的進(jìn)程,當(dāng)其中一個(gè)node出現(xiàn)異常時(shí),可以在剩余的node啟動(dòng)而無(wú)須修改任何配置參數(shù)。否則如果運(yùn)行在單個(gè)node上的話,需要將剩余node中的歸檔日志通過(guò)一定的技術(shù)共享出來(lái)并加載到GoldenGate運(yùn)行節(jié)點(diǎn)。
對(duì)于RAC環(huán)境,GoldenGate要求所有node必須保持時(shí)鐘同步,同時(shí)必須保持所有RAC node和運(yùn)行extract進(jìn)程的node節(jié)點(diǎn)保持時(shí)鐘同步。因?yàn)镚oldenGate會(huì)比較本地的系統(tǒng)時(shí)間和commit的時(shí)間戳。所以不能忽略這個(gè)設(shè)置。否則可能導(dǎo)致數(shù)據(jù)復(fù)制的紊亂。
3.?? 數(shù)據(jù)庫(kù)需求
(1)數(shù)據(jù)庫(kù)客戶端
GoldenGate需要安裝full Oracle client,以便于GoldenGate程序訪問(wèn)Oracle XDK libraries。
?。?)數(shù)據(jù)庫(kù)用戶
建議使用sys或任何其他具有sysdba/sysasm權(quán)限的用戶。
?。?)數(shù)據(jù)庫(kù)配置
對(duì)于Source Oracle Database要求,數(shù)據(jù)庫(kù)處于歸檔模式下,打開(kāi)補(bǔ)充日志,打開(kāi)force logging
分別配置連接源數(shù)據(jù)庫(kù)和目標(biāo)數(shù)據(jù)庫(kù)的主機(jī)字符串
建立一個(gè)專門(mén)的用戶如Goldengate來(lái)負(fù)責(zé)將所需的數(shù)據(jù)同步到遠(yuǎn)端,而不是用已有的業(yè)務(wù)用戶
這個(gè)用戶需要哪些權(quán)限呢?
Create user goldengate identified by goldengate? default tablespace users temporary tablespace temp quota unlimited on users ;
GRANT CONNECT TO goldengate;
GRANT ALTER ANY TABLE TO goldengate;
GRANT ALTER SESSION TO goldengate;
GRANT CREATE SESSION TO goldengate;
GRANT FLASHBACK ANY TABLE TO goldengate;
GRANT SELECT ANY DICTIONARY TO goldengate;
GRANT SELECT ANY TABLE TO goldengate;
GRANT RESOURCE TO goldengate;
GRANT drop ANY TABLE TO goldengate;
GRANT DBA TO goldengate;
注*
補(bǔ)充日志是否打開(kāi)查詢語(yǔ)句:
select supplemental_log_data_min from v$database;
打開(kāi)補(bǔ)充日志語(yǔ)句:
alter database add supplemental log data;
打開(kāi)force logging語(yǔ)句:
alter database force logging;
四、配置Golengate
1. 安裝goldengate 軟件
進(jìn)入到GoldenGate的安裝目錄.
c:\gss1\GGSCI
In GGSCI, issue the following command to create the GoldenGate working directories.
GGSCI> CREATE SUBDIRS
Issue the following command to exit GGSCI.
EXIT
2. 配置進(jìn)程
第一步: 在源數(shù)據(jù)庫(kù)和目標(biāo)數(shù)據(jù)庫(kù)分別配置管理進(jìn)程mgr
GGSCI> edit params mgr
port 7809
(保存退出)
GGSCI> start mgr
Manager started.
GGSCI> info all
ProgramStatus? Group? Lag? ime Since Chkpt
MANAGER? RUNNING
(可以正常啟動(dòng))
第二步:源數(shù)據(jù)庫(kù)增加兩個(gè)進(jìn)程
*.一般源數(shù)據(jù)庫(kù)需要應(yīng)配置兩個(gè)進(jìn)程,一個(gè)負(fù)責(zé)抽取數(shù)據(jù)(ZLE_01),另一個(gè)負(fù)責(zé)投遞數(shù)據(jù)(ZLE_02),默認(rèn)只支持DML,如果要支持DDL需要執(zhí)行一些單獨(dú)的配置。
GGSCI> add extract
其中g(shù)roup name表示這個(gè)Extract group的名字
TRANLOG 表示使用事務(wù)日志的方式
BEGIN NOW 表示從現(xiàn)在開(kāi)始,你也可以指定一個(gè)具體的開(kāi)始時(shí)間
THREADS 表示從哪個(gè)instance上運(yùn)行,只對(duì)RAC環(huán)境有用,單機(jī)環(huán)境比需要指定該Option
(1) 配置抽取進(jìn)程
我這里是單機(jī)環(huán)境,extract group name定義為zle_01
GGSCI > DBLOGIN USERID goldengate@orcl1, PASSWORD goldengate
GGSCI > add extract ZLE_01, tranlog,begin now
EXTRACT added.
GGSCI > add RMTTRAIL ./dirdat/ra, extract? zle_01,? megabytes 50
查看一下剛才定義的這個(gè)extract process的結(jié)果
GGSCI > info extract zle_01
EXTRACT??? ZLE_01??? Initialized?? 2010-01-19 11:50?? Status STOPPED
Checkpoint Lag 00:00:00 (updated 00:00:22 ago)
Log Read Checkpoint? Oracle Redo Logs
2010-01-19 11:50:39? Seqno 0, RBA 0
補(bǔ)充一個(gè)命令: info extract zle_01, showch 看的更詳細(xì)
為該抽取Extract進(jìn)程配置參數(shù)文件,在源數(shù)據(jù)庫(kù)執(zhí)行如下命令
GGSCI> edit param zle_01
增加如下內(nèi)容
EXTRACT ZLE_01
SETENV (ORACLE_SID=ORCL)
USERID goldengate@ORCL1, PASSWORD goldengate
RMTHOST 192.168.8.1, MGRPORT 9001
RMTTRAIL ./dirdat/ra
TABLE ZLHIS.TEST;
RMTTRAIL告訴extract process需要將trail文件寫(xiě)到哪里
TABLE部分說(shuō)明我這個(gè)Extract 進(jìn)程只處理ZLHIS用戶下的TEST表
好了,到這里就可以啟動(dòng)上面定義的Capture 進(jìn)程了,執(zhí)行如下命令
GGSCI> start extract zle_01
Sending START request to MANAGER ('mgr') ...
EXTRACT ZLE_01 starting
GGSCI>
Verify the results:
GGSCI> info EXTRACT ZLE_01, DETAIL
GGSCI> view REPORT ZLE_01
GGSCI> info extract ZLE_01
好了,到這里就完成了一個(gè)最簡(jiǎn)單的抽取Extract process的配置并啟動(dòng),下面來(lái)配置投遞Extract process進(jìn)程。
(2) 配置投遞進(jìn)程
在Source系統(tǒng)執(zhí)行如下命令
GGSCI> ADD EXTRACT ZLE_02, EXTTRAILSOURCE ./dirdat/ra, BEGIN now
GGSCI> ADD RMTTRAIL ./dirdat/la, EXTRACT ZLE_02
*(./dirdat/la為遠(yuǎn)端接收目錄,必須存在)
GGSCI> edit params zle_02
添加內(nèi)容如下:
extract ZLE_02
dynamicresolution
PASSTHRU
rmthost 192.168.8.2, mgrport 9001, compress
rmttrail? ./dirdat/la
numfiles 3000
TABLE ZLHIS.TEST ;
GGSCI> start extract zle_02
Sending START request to MANAGER ('mgr') ...
EXTRACT ZLE_02 starting
查看下?tīng)顟B(tài):
GGSCI> info all
Program???? Status????? Group Lag???? Time Since Chkpt
MANAGER???? RUNNING
EXTRACT???? RUNNING???? ZLE_01???? 00:00:00????? 00:00:05
EXTRACT???? RUNNING???? ZLE_02???? 00:00:00????? 00:00:07
(3) 配置接收進(jìn)程
在目標(biāo)系統(tǒng)(Target system)上執(zhí)行如下命令增加一個(gè)復(fù)制組(Replicat Group)關(guān)鍵詞標(biāo)簽:Oracle,GoldenGate,備
相關(guān)閱讀
熱門(mén)文章 Oracle中使用alter table來(lái)增加,刪除,修改列的語(yǔ)法 oracle中使用SQL語(yǔ)句修改字段類型-oracle修改SQL語(yǔ)句案例 誤刪Oracle數(shù)據(jù)庫(kù)實(shí)例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索
人氣排行 oracle中使用SQL語(yǔ)句修改字段類型-oracle修改SQL語(yǔ)句案例 Oracle中使用alter table來(lái)增加,刪除,修改列的語(yǔ)法 ORACLE SQL 判斷字符串是否為數(shù)字的語(yǔ)句 ORACLE和SQL語(yǔ)法區(qū)別歸納(1) oracle grant 授權(quán)語(yǔ)句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法