溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

LINUX環(huán)境OGG同步測試

發(fā)布時間:2020-05-22 10:54:32 來源:網(wǎng)絡 閱讀:466 作者:湛康穎 欄目:關系型數(shù)據(jù)庫

因為剛換工作所以開始有點忙,剛閑下來就把以前的案例又重新測試給大家分享一下。本文主要記錄了測試的過程命令,雖然結果沒截圖,但是結果是ok的而且經(jīng)過多次測試。如果本文中有問題的地方歡迎留言指出

環(huán)境描述

源主機                                                 目的主機
操作系統(tǒng):RatHat Linux 6.5 x64         操作系統(tǒng):RatHat Linux 6.5 x64
主機名:source.zhan                         主機名:target.zhan
IP地址:192.168.214.52                     IP地址:192.168.214.53
數(shù)據(jù)庫版本:11.2.0.4 x64                   數(shù)據(jù)庫版本:11.2.0.4 x64
數(shù)據(jù)庫SID:zhankys                          數(shù)據(jù)庫SID:zhankyt
OGG版本:12.1.2.1                          OGG版本:12.1.2.1

環(huán)境準備(源目的相同)

創(chuàng)建目錄賦權

--賦權歸檔目錄
mkdir -p /u01/archivelog
chown -R oracle:oinstall /u01
chmod -R 775 /u01
--賦權軟件安裝包目錄
mkdir -p /u01/zky
chown -R oracle:oinstall /u01
chmod -R 775 /u01
--創(chuàng)建OGG安裝目錄
mkdir /ogg
chown -R oracle:oinstall /ogg
chmod -R 775 /ogg
--設置OGG環(huán)境變量
echo 'export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib'>>/home/oracle/.bash_profile

數(shù)據(jù)庫準備(源目的相同)

--登錄數(shù)據(jù)庫
sqlplus / as sysdba
--創(chuàng)建ogg賬戶
create tablespace ogg_tablespace datafile '/u01/app/oracle/oradata/ogg01.dbf' size 10m autoextend on next 5m;
create user goldengate identified by goldengate default tablespace ogg_tablespace;
grant dba to goldengate;
--查看歸檔、強制日志模式、數(shù)據(jù)庫級別的補充日志是否開啟(注意歸檔存放目錄)
archive log list;
select force_logging,supplemental_log_data_min from v$database;
show parameter enable_goldengate_replication;
--開啟歸檔方法
shutdow immediate
start mount
alter database archivelog;
--設置歸檔日志路徑
alter system set log_archive_dest_1='location=/u01/archivelog' scope =both;
alter database open;
--開啟數(shù)據(jù)庫強制日志模式、數(shù)據(jù)庫級別的補充日志
alter database force logging;
alter database add supplemental log data;
--修改允許使用ogg的參數(shù)(針對11.2.0.4庫)
ALTER SYSTEM SET ENABLE_GOLDENGATE_REPLICATION = TRUE SCOPE=BOTH;

更改tnsname(源目的相同)

vi /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora 
ZHANKYS =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.214.52)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ZHANKYS)
    )
  )
ZHANKYT =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.214.53)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ZHANKYT)
    )
  )

初始化數(shù)據(jù)(源目的相同)

初始化數(shù)據(jù)準備(源目的相同)(初始化就是保持兩邊數(shù)據(jù)庫的基礎數(shù)據(jù)一樣。ps:這里因為測試等后面有時間在從新弄一份模擬真實環(huán)境初始化)

connect goldengate/goldengate
--創(chuàng)建表
DROP TABLE tcustmer;
CREATE TABLE tcustmer ( cust_code VARCHAR(4) NOT NULL, name VARCHAR(30),
city VARCHAR(20), state CHAR(2), PRIMARY KEY (cust_code));
DROP TABLE tcustord;
CREATE TABLE tcustord ( cust_code VARCHAR(4) NOT NULL, product_code VARCHAR(8) NOT NULL,
order_id INTEGER NOT NULL, product_price DECIMAL(8,2), product_amount INTEGER,
transaction_id INTEGER, PRIMARY KEY (cust_code, product_code, order_id) );

select * from goldengate.tcustmer;
select * from goldengate.tcustord;

圖形化安裝OGG(源目的相同)

OGG軟件安裝(源目的相同)

xhost +
su - oracle
cd /u01/zky/
unzip 121210_ggs_Linux_x64_shiphome.zip
cd fbo_ggs_Linux_x64_shiphome/Disk1/
./runInstaller

LINUX環(huán)境OGG同步測試
LINUX環(huán)境OGG同步測試
LINUX環(huán)境OGG同步測試
LINUX環(huán)境OGG同步測試

配置OGG參數(shù)

創(chuàng)建ogg目錄(源目的相同)

cd /ogg
./ggsci
create subdirs

創(chuàng)建checkpoint表(源目的相同)(如果有多實例的時候需要在dblogin的時候@庫名:dblogin userid goldengate@庫名,password goldengate)

{
dblogin userid goldengate,password goldengate
add checkpointtable goldengate.ggs_checkpoint
}

設置globals(源目的相同)

edit params ./globals
{
CHECKPOINTTABLE goldengate.ggs_checkpoint
UNLOCKEDTRAILFILES
}

配置MGR(源目的相同)

edit params mgr
{
PORT 7809
AUTOSTART ER *
AUTORESTART ER *,RETRIES 3,WAITMINUTES 5,RESETMINUTES 60
LAGREPORTHOURS 1
LAGINFOMINUTES 3
LAGCRITICALMINUTES 10
PURGEOLDEXTRACTS ./dirdat/*,USECHECKPOINTS,MINKEEPDAYS 3
}
start mgr

配置需要trandata的對象(源)

dblogin userid goldengate,password goldengate
add trandata goldengate.tcustmer
add trandata goldengate.tcustord

配置extract(源)

add extract e_cs,tranlog,begin now
add exttrail ./dirdat/cs,extract e_cs,megabytes 5 
edit param e_cs 
{
EXTRACT e_cs
SETENV (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")
GETENV (NLS_LANG)
userid goldengate,password goldengate
EXTTRAIL ./dirdat/cs,FORMAT RELEASE 12.1
DISCARDFILE ./dirrpt/e_cs.dsc,PURGE
--NOCOMPRESSDELETES
NOCOMPRESSUPDATES
GETUPDATEBEFORES
GETUPDATEAFTERS
TRANLOGOPTIONS LOGRETENTION disabled
WARNLONGTRANS 30m,CHECKINTERVAL 3m

table goldengate.tcustmer;
table goldengate.tcustord;
}
start e_cs

配置pump(源)

add extract p_cs,exttrailsource ./dirdat/cs,begin now
add rmttrail ./dirdat/cs,extract p_cs,megabytes 5
edit param p_cs
{
EXTRACT p_cs
SETENV (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")
GETENV (NLS_LANG)
userid goldengate,password goldengate
NOPASSTHRU 
RMTHOST 192.168.214.53,MGRPORT 7809,TIMEOUT 120
RMTTRAIL ./dirdat/cs,format RELEASE 12.1
DISCARDFILE ./dirrpt/p_cs.dsc,PURGE

table goldengate.tcustmer;
table goldengate.tcustord;
}
start p_cs

配置replicat(目的)

add replicat r_cs,exttrail ./dirdat/cs,checkpointtable goldengate.ggs_checkpoint
edit param r_cs
{
REPLICAT b_r_29
SETENV (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")
GETENV (NLS_LANG)
userid goldengate,password goldengate
HANDLECOLLISIONS
ASSUMETARGETDEFS
REPERROR DEFAULT,DISCARD
DBOPTIONS NOSUPPRESSTRIGGERS
DISCARDFILE ./dirrpt/b_r_29.dsc,PURGE

MAP goldengate.TCUSTMER, TARGET goldengate.TCUSTMER;
MAP goldengate.TCUSTORD, TARGET goldengate.TCUSTORD;
}
start r_cs

校驗結果

select * from goldengate.TCUSTMER;
select * from goldengate.TCUSTORD;

INSERT INTO goldengate.tcustmer VALUES ('ZZZ','BG SOFTWARE CO.','SEATTLE','WZ');
INSERT INTO goldengate.tcustord VALUES ('ZZZ','CAR',144,17520,3,100);
COMMIT;

INSERT INTO goldengate.tcustmer VALUES ('ZqZZ','BqG SOFTWARE CO.','SEATTLE','WZ');
INSERT INTO goldengate.tcustord VALUES ('ZqZZ','CAR',144,17520,3,100);
COMMIT;

INSERT INTO goldengate.tcustmer VALUES ('ZbZ','BzG SOFTWARE CO.','SEATTLE','WZ');
INSERT INTO goldengate.tcustord VALUES ('ZbZ','CAR',144,17520,3,100);
COMMIT;

INSERT INTO goldengate.tcustmer VALUES ('ZghZ','BG SOFTWARE CO.','SEATTLE','WZ');
INSERT INTO goldengate.tcustord VALUES ('ZghZ','CAR',144,17520,3,100);
COMMIT;

delete goldengate.tcustmer where cust_code='ZZZ';
delete goldengate.tcustord where cust_code='ZZZ';
delete goldengate.tcustmer where cust_code='ZqZZ';
delete goldengate.tcustord where cust_code='ZqZZ';
delete goldengate.tcustmer where cust_code='ZbZ';
delete goldengate.tcustord where cust_code='ZbZ';
delete goldengate.tcustmer where cust_code='ZghZ';
delete goldengate.tcustord where cust_code='ZghZ';
commit;
向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI