GoldenGate Extract+datapump+replicat 配置

GoldenGate的安裝很簡單,下面一起來學習下GG的一些簡單配置。


GG軟件主要是通過抓取redo log 和 archive log 日誌的信息,然後傳輸到目標庫重做來實現數據的同步。

1.前提條件: 開啓歸檔日誌、force logging和supplemental 日誌


### 用以下命令查看歸檔日誌是否開啓
SQL> archive log list          ##如果不是enable可以使用如下命令開啓歸檔日誌功能;
SQL>shutdown immediate;
SQL>startup mount;
SQL>alter database archivelog;   ##歸檔日誌需要在mount模式下開啓
## 查看force logging 和 supplemental 日誌是否開啓
SQL> select name,open_mode,force_logging,supplemental_log_data_min from v$database;
NAME      OPEN_MODE            FOR SUPPLEME
--------- -------------------- --- --------
NODE1     READ WRITE           NO  NO
SQL> alter database force logging;
Database altered.
SQL> select name,open_mode,force_logging,supplemental_log_data_min from v$database;
NAME      OPEN_MODE            FOR SUPPLEME
--------- -------------------- --- --------
NODE1     READ WRITE           NO  NO
SQL> alter database force logging;
Database altered.
SQL> select name,open_mode,force_logging,supplemental_log_data_min from v$database;
NAME      OPEN_MODE            FOR SUPPLEME
--------- -------------------- --- --------
NODE1     READ WRITE           YES YES


2.創建GG與Oracle交互的用戶ggadmin

SQL> create tablespace ggtb datafile '/paic/app/oracle/oradata/ggtb.dbf' size 100M autoextend off;
Tablespace created.
SQL> create user ggadmin identified by ggadmin default tablespace ggtb;
User created.
SQL> grant connect,resource,dba to ggadmin;
Grant succeeded.


3.創建GG角色並授予給GG用戶。(注直接這個腳本必須到GG目錄下,不然可能不成功)

SQL> !pwd
/paic/app/gg
SQL> @role_setup
GGS Role setup script
This script will drop and recreate the role GGS_GGSUSER_ROLE
To use a different role name, quit this script and then edit the params.sql script to change the gg_role parameter to the preferred name. (Do not run the script.)
You will be prompted for the name of a schema for the GoldenGate database objects.
NOTE: The schema must be created prior to running this script.
NOTE: Stop all DDL replication before starting this installation.
Enter GoldenGate schema name:ggadmin
Wrote file role_setup_set.txt
PL/SQL procedure successfully completed.
Role setup script complete
Grant this role to each user assigned to the Extract, GGSCI, and Manager processes, by using the following SQL command:
GRANT GGS_GGSUSER_ROLE TO <loggedUser>
where <loggedUser> is the user assigned to the GoldenGate processes.
SQL> grant GGS_GGSUSER_ROLE to ggadmin;
Grant succeeded.

   在目標端和源端最好都配置。


4.在源端和目標端創建EXTRACT、DATAPUMP、REPLICAt對象並配置相關參數文件


#####################源端配置如下信息#########################
1)創建MGR參數文件
[oracle@node1 gg]$ ggsci
GGSCI (node1) 1> edit params mgr
###配置如下信息:
port 7809
2)配置全局參數文件
GGSCI (node1) 2> edit params ./GLOBALS
###配置如下信息:
GGSCHEMA ggadmin
3)配置EXTRACT文件
GGSCI (node1) 3> edit params ext1
###配置如下信息:
extract ext1
userid ggadmin,password ggadmin
exttrail /paic/app/gg/dirdat/ex
table keeny.*;
4)配置DataPump參數文件
GGSCI (node1) 5> edit params dp1
###配置如下信息:
extract dp1
userid ggadmin,password ggadmin
rmthost 192.168.1.152,mgrport 7809
rmttrail /paic/app/gg/dirdat/rt
table keeny.*;
#####################目標端配置如下信息#########################
1)創建MGR參數文件
[oracle@node1 gg]$ ggsci
GGSCI (node1) 1> edit params mgr
###配置如下信息:
port 7809
2)配置全局參數文件
GGSCI (node1) 2> edit params ./GLOBALS
###配置如下信息:
GGSCHEMA ggadmin
3)配置EXTRACT文件
GGSCI (node2) 1> edit params rep1
###配置如下信息:
replicat rep1
userid ggadmin,password ggadmin
assumetargetdefs
discardfile /paic/app/gg/dirdat/discard.dsc,purge
map keeny.*,target keeny.*;


5.整合上面所創建的對象


##1)在源端配置
GGSCI (node1) 1> info all
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
MANAGER     STOPPED                  ###只有一個MGR
##2)將表開啓附加日誌和強制日誌
GGSCI (node1) 13> dblogin userid ggadmin,password ggadmin
Successfully logged into database.
GGSCI (node1) 14> add trandata keeny.test;
##3)向MGR裏面添加EXTRACT
GGSCI (node1) 2> view params ext1
extract ext1
userid ggadmin,password ggadmin
exttrail /paic/app/gg/dirdat/ex
table keeny.*;
GGSCI (node1) 3> add extract ext1,tranlog,begin now
EXTRACT added.
##4)添加TRAIL文件
GGSCI (node1) 4> add exttrail /paic/app/gg/dirdat/ex,extract ext1  ### 這裏還不太明白爲什麼ext1參數文件裏面指定了,這裏還要添加
##5)添加DATAPUMP文件
GGSCI (node1) 8> add extract dp1,exttrailsource /paic/app/gg/dirdat/ex
EXTRACT added.
##6)指定遠程TRAIL文件的目錄
GGSCI (node1) 9> add rmttrail /paic/app/gg/dirdat/rt,extract dp1
RMTTRAIL added.
##7)添加REPLICAT
GGSCI (node2) 1> dblogin userid ggadmin,password ggadmin
Successfully logged into database.
GGSCI (node2) 4> add replicat rep1,exttrail /paic/app/gg/dirdat/rt,checkpointtable ggadmin.checkptable
REPLICAT added.
##8)開啓源端進程
GGSCI (node1) 15> info all
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
MANAGER     STOPPED                                        
EXTRACT     STOPPED     DP1         00:00:00      00:16:04 
EXTRACT     STOPPED     EXT1        00:00:00      00:21:27
GGSCI (node1) 17> info all
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
MANAGER     RUNNING                                        
EXTRACT     STOPPED     DP1         00:00:00      00:16:31 
EXTRACT     STOPPED     EXT1        00:00:00      00:21:54
GGSCI (node1) 18> start ext1
Sending START request to MANAGER ...
EXTRACT EXT1 starting
GGSCI (node1) 19> start dp1
Sending START request to MANAGER ...
EXTRACT DP1 starting
GGSCI (node1) 21> info all
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
MANAGER     RUNNING                                        
EXTRACT     RUNNING     DP1         00:00:00      00:17:01 
EXTRACT     RUNNING     EXT1        00:00:00      00:00:00 
##9)開啓目標端進程
GGSCI (node2) 7> start mgr
Manager started.
GGSCI (node2) 8> start rep1
Sending START request to MANAGER ...
REPLICAT REP1 starting
GGSCI (node2) 9> info
ERROR: Invalid command.
GGSCI (node2) 10> info all
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
MANAGER     RUNNING                                        
REPLICAT    RUNNING     REP1        01:31:51      00:00:04



    以上步驟完成之後,就可以驗證一 下了。

######################

    alter extract ext1,extseqno 0,extrba 0

   alter replicat rep1,extseqno 0,extrba 0

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