Linux安裝使用GoldenGate

如何安裝使用goldengate

一.環境:

OS:linux CentOS_Final_5.5(64bit)

DB:oracle11gR2(單機模式)

goldengate: ggs_Linux_x64_ora11g_64bit_v11_1_1_0_0_078.tar

網絡:局域網,源端IP 192.168.128.100  鏡像端IP  192.168.128.101

二.目標:

實現源端到鏡像端的數據同步(單向)

三.源端數據庫實施:

1數據庫準備

1.1開啓數據庫歸檔日誌

查看數據庫當前日誌模式

archive log list;

更改爲歸檔模式

shutdown immediate;

start mount;

alter database archivelog;

alter database open;



開啓第二歸檔路徑(可選)

alter system set log_archive_dest_2=’location=/archive_2OPTIONAL’ scope=spfile;

alter system archive log start tolog_archive_dest_2;

查看第二歸檔日誌是否生效(重啓數據庫)

show parameter archive;


1.2開啓supplemental logging和force logging

查看當前數據庫是否開啓supplementallogging

select SUPPLEMENTAL_LOG_DATA_MIN fromv$database;

開啓數據庫級別的最小supplementallogging

alter database add supplemental log data;


查看當前數據庫forcelogging的狀態

select force_logging from v$database;

開啓forcelogging

alter database force logging;

1.3創建goldengate管理用戶,並賦予相關權限

創建管理用戶的表空間

create tablespace tbs_ggmgr datafiel ‘/u01/app/oracle/goldengate/ggmgr.dbf’size 50M autoextend on;

創建goldengate管理用戶

create user ggmgr identified by oracledefault tablespace tbs_ggmgr temporary tablespace TEMP quota unlimited ontbs_ggmgr;

賦予ggmgr相關權限(想簡單的話,可以賦予DBA權限)

grant CONNECT,RESOURCE to ggmgr;

grant CREATE SESSION,ALTER SESSION toggmgr;

grant SELECT ANY DICTIONARY,SELECT ANYTABLE to ggmgr;

grant CREATE TABLE,ALTER ANY TABLE to ggmgr;


1.4創建測試用戶和表

create user test identified by test;

conn test/test;

create table test(

stuid number(8),

stuname varchar2(20),

stupasswd varchar2(20)

);

insert into test values(1,’test1’,’test1);

insert into test values(2,’test2’,’test2’);

commit;

2goldengate安裝及參數設置

2.1設置goldengate運行所需的環境變量

編輯oracle的home目錄下.bash_profile文件

vi .bash_profile

添加如下內容

exportLD_LIBRARY_PATH=$ORACLE_BASE/goldengate:$ORACLE_HOME/lib

2.2創建goldengate安裝目錄

通常將goldengate安裝在ORACLE_BASE目錄下

mkdir –p /u01/app/oracle/goldengate/

2.3解壓並初始化goldengate

將goldengate壓縮文件解壓到goldengate得安裝目錄

tar vxf ggs_Linux_x64_ora11g_64bit_v11_1_1_0_0_078.tar

執行./ggsci進入GGSCI

創建目錄結構

create subdirs  --只在第一次啓動執行

2.4 添加trandata

在GGSCI中

dbloign userid ggmgr,password oracle

對要進行復制的表添加表級supplemental logging

add trandata test.*

查看

info trandata test.*

2.5添加並配置mgr進程

edit param mgr

添加如下內容

port 7809

purgeoldextracts ./dirdat/*,usecheckpoints, minkeepfiles 20

2.6添加並配置extract進程

添加一個extract進程

add extract exts100,tranlog,begin now

給extract進程指定trail文件

add exttrail ./dirdat/s1,extract exts100,megabytes 100

配置extract的參數

edit param exts100

添加如下內容(開啓第二歸檔的情況下)

extract exts100

userid ggmgr,password oracle

tranlogoptions archivedlogonly

tranlogoptions altarchivelogdest instanceorcl /archive_2

tranlogoptions altarchivedlogformat%t_%s_%r.dbf

gettruncates

reportcount every 30 minutes,rate

discardfile./dirrpt/exts100.dsc,APPEND,MEGABYTES 100

exttail ./dirdat/s1

table TEST.TEST;


2.7添加並配置pump進程

add extract dps100 exttrailsource./dirdat/s1

add rmttrail ./dirdat/t1,extract dps100

配置pump進程參數

edit param dps100

extract dps100

userid ggmgr,password oracle

rmthost 192.168.128.101,mgrport7809,compress

numfiles 5000

DYNAMICRESOLUTION

rmttrail ./dirdat/t1

table TEST.TEST;

2.8檢查進程是否能夠成功啓動

start <進程名>

start mgr

start exts100

start dps100


查看進程狀態

info all


四.鏡像端數據庫的初始化

1.從源端數據庫導出相關的數據和表結構(需要相關權限,可以使用有DBA權限的用戶)

exp username/password file=test_1203013.dmpowner=test triggers=n indexes=n log=test_120313.log;

2.將導出的數據文件傳到鏡像端

可以使用ftp

3.在鏡像端創建和源端對應的用戶和表空間,要保持表空間的名字一致

create user test identified by test;

4.在鏡像端導入數據文件(需要相關權限,可以使用有DBA權限的用戶)

imp username/password file=test_120313.dmpfromuser=test touser=test log=test_120313.log;


查看數據是否導入成功

五.鏡像端數據庫實施

1數據庫準備

創建管理用戶的表空間

create tablespace tbs_ggmgr datafiel ‘/u01/app/oracle/goldengate/ggmgr.dbf’size 50M autoextend on;

創建goldengate管理用戶

create user ggmgr identified by oracledefault tablespace tbs_ggmgr temporary tablespace TEMP quota unlimited ontbs_ggmgr;

賦予ggmgr相關權限(想簡單的話,可以賦予DBA權限)

grant CONNECT,RESOURCE to ggmgr;

grant CREATE SESSION,ALTER SESSION toggmgr;

grant SELECT ANY DICTIONARY,SELECT ANYTABLE to ggmgr;

grant CREATE TABLE to ggmgr;

2goldengate安裝及參數設置


2.1.設置goldengate運行所需的環境變量


編輯oracle的home目錄下.bash_profile文件

vi .bash_profile

添加如下內容

exportLD_LIBRARY_PATH=$ORACLE_BASE/goldengate:$ORACLE_HOME/lib

2.2.創建goldengate安裝目錄

通常將goldengate安裝在ORACLE_BASE目錄下

mkdir –p /u01/app/oracle/goldengate/

2.3.解壓並初始化goldengate

將goldengate壓縮文件解壓到goldengate得安裝目錄

tar vxf ggs_Linux_x64_ora11g_64bit_v11_1_1_0_0_078.tar

執行./ggsci進入GGSCI

創建目錄結構

create subdirs  --只在第一次啓動執行

2.4編輯全局參數文件

dblogin userid ggmgr,password oracle

edit params ./GLOBALS

添加如下內容

checkpointtable ggmgr.ogg_checkpointtable

添加檢查點表

add checkpointtableggmgr.ogg_checkpointtable

2.5.添加並配置mgr進程

edit param mgr

添加如下內容

port 7809

(這裏沒有加入清除trail文件的設置)

2.6.添加並配置replicat進程

add replicat rept101,exttrail ./dirdat/t1

編輯replicat進程的參數文件

edit param rept101

添加如下內容

replicat rept101

userid ggmgr,password oracle

ASSUMETARGETDEFS

DISCARDFILE ./dirrpt/rept101.dsc,PURGE

MAP TEST.TEST, TARGET TEST.TEST;

2.7檢查進程能否成功啓動

start <進程名>

start mgr

start rept101


查看進程狀態

info all

六.測試

1.在源端數據庫插入數據

insert into test values(3,’test3,’test3’);

commit;

2.生成歸檔日誌

alter system switch logfile;

3.查看鏡像端數據庫

select * from test;



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章