Linux/Centos6.5 Orace 11g R2 ogg 單向同步配置過程

文中涉及的安裝包以及任何問題請加下方二維碼免費獲取提問sql

1.環境準備數據庫

源Oracle:11g R2 64位 ip:192.168.40.66 操做系統:Centos6.5 64位vim

目標Oracle:11g R2 64位 ip:192.168.40.67 操做系統:Centos6.5 64位bash

2.下載OGG軟件並解壓安裝服務器

源服務器session

#mkdir -p /u01/app/oracle/ogg oracle

#unzip ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zipapp

#tar -xvf fbo_ggs_Linux_x64_ora11g_64bit.tar -C /u01/app/oracle/ogg/ ide

#chown -R oracle:oinstall /u01/app/oracle/ogg性能

目標服務器

#mkdir -p /u01/app/oracle/ogg 

#unzip ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip

#tar –xvf fbo_ggs_Linux_x64_ora11g_64bit.tar -C /u01/app/oracle/ogg/ 

#chown -R oracle:oinstall /u01/app/oracle/ogg

 準備OGG環境變量

 1)源服務器

#vim /home/oracle/.bash_profile

增長以下兩行:

export GGATE=$ORACLE_BASE/ogg

export LD_LIBRARY_PATH=$ORACLE_HOME/lib
Linux/Centos6.5 Orace 11g R2 ogg 單向同步配置過程
生效環境變量

#source /home/oracle/.bash_profile

目標服務器

 #vim /home/oracle/.bash_profile

 增長以下兩行:

 export GGATE=$ORACLE_BASE/ogg

export LD_LIBRARY_PATH=$ORACLE_HOME/lib
Linux/Centos6.5 Orace 11g R2 ogg 單向同步配置過程
生效環境變量

 #source /home/oracle/.bash_profile

配置日誌模式

 只要配置源服務器,目標服務器不用配置

配置爲規檔模式

#su – oracle

#sqlplus / as sysdba

SQL> shutdown immediate;

SQL> startup mount;

SQL> alter database archivelog;

SQL> alter database open;

SQL> alter system set log_archive_dest_1='location=/u01/archive' scope=both;

 配置日誌模式(打開強制規檔與補充日誌模式)

SQL> alter database add supplemental log data;  

SQL> alter database force logging; 

3)查看配置結果:

SQL> select log_mode,supplemental_log_data_min,force_logging from v$database;
Linux/Centos6.5 Orace 11g R2 ogg 單向同步配置過程
建立GoldenGate用戶賬號

 1) 源服務器

#su - oracle

#sqlplus / as sysdba

SQL>create tablespace tbs_ogg datafile '/u01/app/oracle/oradata/orcl/tbs_ogg.dbf' size 10M autoextend on next 10M;

 SQL>create user ogg identified by ogg default tablespace tbs_ogg temporary tablespace TEMP quota unlimited on tbs_ogg;

 SQL>grant connect,resource to ogg;

 SQL>grant create session,alter session to ogg;

 SQL>grant select any dictionary,select any table to ogg;

 SQL>grant alter any table to ogg;

 SQL>grant flashback any table to ogg;

 SQL>grant execute on dbms_flashback to ogg;

目標服務器

 #su - oracle

 #sqlplus / as sysdba

 SQL>create tablespace tbs_ogg datafile '/u01/app/oracle/oradata/orcl/tbs_ogg.dbf' size 10M autoextend on next 10M;

 SQL>create user ogg identified by ogg default tablespace tbs_ogg temporary tablespace TEMP quota unlimited on tbs_ogg;

 SQL>grant connect,resource to ogg;

 SQL>grant create session,alter session to ogg;

 SQL>grant select any dictionary,select any table to ogg;

 SQL>grant alter any table to ogg;

 SQL>grant flashback any table to ogg;

 SQL>grant execute on dbms_flashback to ogg;

 SQL>grant insert any table to ogg;

 SQL>grant delete any table to ogg;

 SQL>grant update any table to ogg;

安裝GoldenGate軟件

 源服務器配置

 #su – oracle

#cd /u01/app/oracle/ogg

#./ggsci

GGSCI  1>create subdirs
Linux/Centos6.5 Orace 11g R2 ogg 單向同步配置過程
GGSCI 2> quit

目標服務器都要配置

#su - oracle

#cd /u01/app/oracle/ogg

#./ggsci

GGSCI 1> create subdirs
Linux/Centos6.5 Orace 11g R2 ogg 單向同步配置過程
GoldenGate DML同步源端配置

#cd /u01/app/oracle/ogg

#./ggsci

 源MGR進程

編輯主進程組

GGSCI  1>edit params mgr

 輸入i進入編輯模式,在文件中增長以下參數:

port 7809

dynamicportlist 7800-8000

autorestart extract *,retries 5,waitminutes 2,resetminutes 5

按ESC鍵退出編輯模式,輸入:wq進行保存。

說明:

 port 指定mgr進程通訊端口;

 dynamicportlist 表示mgr進程能夠爲源與目的端動態通訊指定端口;

 autorestart extract 表示自動重啓extract進程組,每2分鐘嘗試重啓全部進程,重試5次,每5分鐘清零。

 配置參數後,重啓mgr進程生效

啓動主管理進程

GGSCI 2>start mgr

配置Extract進程組

編輯eora配置文件

GGSCI  4>edit params eora

輸入i進入編輯模式,在文件中增長以下參數:

extract eora

dynamicresolution

setenv (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK) 

userid ogg,password ogg  

exttrail /u01/app/oracle/ogg/dirdat/et  

table scott.*; 

按ESC鍵退出編輯模式,輸入:wq進行保存。

說明:

 extract eora定義extract進程別名

 dynamicresolution 

setenv設置環境變量

 userid 登陸數據庫

 exttrail指定本地trail文件地址

 table 定義同步的表  scott.* 表示 同步scott用戶下的全部表

添加抽取進程

GGSCI 2>add extract eora, tranlog,begin now

添加本地trail文件

GGSCI  2>add exttrail /u01/app/oracle/ogg/dirdat/et,extract eora

說明:

 建立本地trail文件,主extract進程負責寫這部分文件,pump負責把這部分文件傳到目標服務器端。

 啓動eora服務

GGSCI 2>start extract eora 

配置Pump進程組 

編輯pump配置文件

GGSCI  2>edit params pump_so

輸入i進入編輯模式,在文件中增長以下參數:

extract pump_so

dynamicresolution

passthru

rmthost 192.168.40.66,mgrport 7809,compress

rmttrail /u01/app/oracle/ogg/dirdat/pt

table scott.*;

按ESC鍵退出編輯模式,輸入:wq進行保存。

上面文件中的ip(192.168.40.66),要換成目標端的ip。

添加pump進程  源端路徑

GGSCI 2>add extract pump_so,exttrailsource  /u01/app/oracle/ogg/dirdat/et

添加遠程trail文件  目標路徑

GGSCI  2>add rmttrail /u01/app/oracle/ogg/dirdat/pt,extract pump_so

說明: 指定遠程trail文件

啓動pump進程

GGSCI  2>start extract pump_so

GoldenGate DML同步目標端配置

#cd /u01/app/oracle/ogg

#./ggsci

目標端MGR進程

編輯MGR配置文件

GGSCI  2>edit params mgr

輸入i進入編輯模式,在文件中增長以下參數:

port 7809

dynamicportlist 7800-8000

autostart er *

autorestart extract *, waitminutes 2, resetminutes 5

lagreporthours 1

laginfominutes 3

lagcriticalminutes 5

purgeoldextracts /u01/app/oracle/ogg/dirdat/rt*, usecheckpoints, minkeepdays 3

按ESC鍵退出編輯模式,輸入:wq進行保存。

2) 啓動MGR

GGSCI  2>start mgr

 添加檢查表

說明: 當咱們在GLOBALS 文件裏指定了默認的checkpoint 以後,新的Replicat groups 在建立時會自動使用這個參數,不須要其餘指令

 編輯全局配置文件

GGSCI 2>edit params ./GLOBALS 

輸入i進入編輯模式,在文件中增長以下參數:

CHECKPOINTTABLE ogg.checkpoint

按ESC鍵退出編輯模式,輸入:wq進行保存。

這裏須要退出ggsci終端 

GGSCI 2>exit

從新進入

#./ggsci 

添加checkpoint表

GGSCI 1> dblogin userid ogg,password ogg 

Successfully logged into database.

GGSCI  2> add checkpointtable ogg.checkpoint

Successfully created checkpoint table OGG.CHECKPOINT.

配置目標端Peplicat進程組

 編輯配置文件

GGSCI 1>edit params repl

輸入i進入編輯模式,在文件中增長以下參數:

replicat repl

userid ogg,password ogg

assumetargetdefs

reperror default,discard

discardfile /u01/app/oracle/ogg/dirrpt/repl.dsc,append,megabytes 50

dynamicresolution

map scott., target scott.;

按ESC鍵退出編輯模式,輸入:wq進行保存。

添加複製進程

GGSCI 1>add replicat repl,exttrail /u01/app/oracle/ogg/dirdat/pt, CHECKPOINTTABLE ogg.checkpoint

啓動進程

GGSCI  1>start repl

目標端查看checkpoint狀態

#su - oracle

#sqlplus ogg/ogg

SQL>select tname from tab; 

TNAME 

------------------------------------- 

CHECKPOINT TABLE

CHECKPOINT_LOX TABLE

SQL>exit;
Linux/Centos6.5 Orace 11g R2 ogg 單向同步配置過程
 DML配置測試     

源端和目標端同時建立t1表

 源端建立t1表

#sqlplus scott/123456

SQL>create table t1 (id char(10));

目標端建立t1表

#sqlplus scott/123456

SQL>create table t1 (id char(10));

源端執行DML操做後提交

SQL>insert into t1 values(100);

SQL>insert into t1 values(300);

SQL>commit;

4)目標端查看

SQL> select * from t1;

能查到下面兩條數據,便可
Linux/Centos6.5 Orace 11g R2 ogg 單向同步配置過程
說明:到此goldengate DML單向配置已經配置完畢,經過簡單的測試示例來進行測試。

GoldenGate DDL同步源端配置 

服務器源端操做

指定數據庫模式

SQL>exit

#cd /u01/app/oracle/ogg/ 

#./ggsci

GGSCI  1> edit param ./GLOBALS

輸入i進入編輯模式,在文件中增長以下參數:

ggschema ogg

按ESC鍵退出編輯模式,輸入:wq進行保存。 

GGSCI  2> view param ./GLOBALS 查看 

ggschema ogg

GGSCI  3> stop mgr 

oralce 11gR2數據庫須要關閉回收站。

GGSCI  3>quit

#sqlplus / as sysdba;

在關以前能夠先看一下,若是是on,以下圖所示,則回收站是開啓的。

SQL>show parameter recyclebin
Linux/Centos6.5 Orace 11g R2 ogg 單向同步配置過程
SQL>alter system set recyclebin=off deferred;

改完須要把數據庫重啓一下才會生效

SQL>shutdown immediate

SQL>startup

SQL>show parameter recyclebin
Linux/Centos6.5 Orace 11g R2 ogg 單向同步配置過程
3) 安裝DDL對象

SQL> grant dba to ogg;

說明: 如下各執行如提示:Enter Oracle GoldenGate schema name,均指定用戶:ogg

SQL>@marker_setup
Linux/Centos6.5 Orace 11g R2 ogg 單向同步配置過程
SQL>@ddl_setup

SQL>@role_setup 

SQL>grant GGS_GGSUSER_ROLE to ogg;

SQL>@ddl_enable

SQL>@marker_status.sql

注1: 執行dbmspool包將在數據庫中建立DBMS_SHARED_POOL包,以後ddl_pin包須要用到

SQL>@?/rdbms/admin/dbmspool.sql

Package created.

Grant succeeded.

View created.

Package body created.

注2: 執行ddl_pin.sql經過dbms_shared_pool.keep存儲過程將DDLReplication相關對象keep在共享池中,以保證這些對象不要RELOAD,提高性能。

SQL>@ddl_pin.sql ogg

PL/SQL procedure successfully completed.

PL/SQL procedure successfully completed.

PL/SQL procedure successfully completed.

源端操做-修改eora(抽取)進程的params文件

中止eora(抽取)進程

GGSCI  2> stop extract eora

編輯配置文件

GGSCI  3> edit params eora

輸入i進入編輯模式,在文件中增長以下黑色背景參數:

extract eora

dynamicresolution

setenv (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)

userid ogg,password ogg

exttrail /u01/app/oracle/ogg/dirdat/et

ddl include all

ddloptions addtrandata, report

table scott.*; 

按ESC鍵退出編輯模式,輸入:wq進行保存。

啓動mgr,eora進程

GGSCI  4> start mgr 

GGSCI  5> start extract eora

查看eora進程啓動狀況

GGSCI  6> info extract eora
Linux/Centos6.5 Orace 11g R2 ogg 單向同步配置過程
目標端操做-修改replicat進程的params文件

中止mgr進程

GGSCI 1>stop mgr

 中止repl進程

GGSCI  1> stop replicat repl 

 編輯repl配置文件

GGSCI  1> edit params repl 

輸入i進入編輯模式,在文件中增長以下黑色背景參數:

replicat repl

userid ogg, password ogg

assumetargetdefs

reperror default, discard

discardfile /u01/app/oracle/ogg/dirrpt/repl.dsc, append, megabytes 50

dynamicresolution

ddloptions report

ddlerror default ignore retryop maxretries 3 retrydelay 5

ddlerror default discard

ddlerror default ignore retryop

map scott., target scott.;

按ESC鍵退出編輯模式,輸入:wq進行保存。

啓動repl進程 

GGSCI  4>start mgr

啓動mgr進程後,系統會自動啓動repl進程

GGSCI  5> info all
Linux/Centos6.5 Orace 11g R2 ogg 單向同步配置過程
DDL測試

本節驗證源端t1表增長字段後,目標端自動改變。

添加字段前:

源端查看:

#sqlplus scott/123456

SQL> desc t1;
Linux/Centos6.5 Orace 11g R2 ogg 單向同步配置過程
目標端查看

#sqlplusscott/123456

SQL> desc t1;
Linux/Centos6.5 Orace 11g R2 ogg 單向同步配置過程
源端添加字段test

SQL>alter table t1 add(test number(10));

SQL>desc t1;
Linux/Centos6.5 Orace 11g R2 ogg 單向同步配置過程
目標端驗證

SQL> desc t1;
Linux/Centos6.5 Orace 11g R2 ogg 單向同步配置過程到此配置完成。若是對此有興趣或者有問題須要問,請添加:15149813470,免費解答。

相關文章
相關標籤/搜索