配置:源數據庫100.100.100.21 實例名dbsid2
目標數據庫100.100.100.41 實例名db1
實驗目標:源數據庫中的 scott用戶 emp表同步到目標數據庫 scott中的test表
安裝包為文件ogg112101_fbo_ggs_Linux_x64_ora10g_64bit.zip
解壓之後,然後再tar解壓tar -xvf fbo_ggs_Linux_x64_ora10g_64bit.tar -C /oracle/ogg/
1. 源數據庫(dbsid2)配置:
(1) 用戶權限:grant dba to scott
(2) 打開歸檔模式
(3)附加日志:
alter database add supplemental log data;
alter database force logging;
(4)將目標數據庫db1信息添加到 tnsnames.ora中
2. 目標數據庫(db1)配置:
(1) scott用戶建立空表test,表結構和emp相同
(2) 打開歸檔模式
(3) 附加日志:
alter database add supplemental log data;
alter database force logging;
(4) 將源數據庫(dbsid2)的信息添加到 tnsnames.ora中
3. 源數據庫服務器 goldengate安裝
(1) 解壓到/oracle/ogg目標下面
(2) 運行./ggsci
(3) 新建子目錄: GGSCI (host2) 1> create subdirs
Creating subdirectories under current directory /oracle/ogg
Parameter files /oracle/ogg/dirprm: already exists
Report files /oracle/ogg/dirrpt: created
Checkpoint files /oracle/ogg/dirchk: created
Process status files /oracle/ogg/dirpcs: created
SQL script files /oracle/ogg/dirsql: created
Database definitions files /oracle/ogg/dirdef: created
Extract data files /oracle/ogg/dirdat: created
(4) 配置字符管理的Port參數
GGSCI (host2) 6> edit params mgr
輸入: PORT 7809 然後保存
檢查輸入情況:
GGSCI (host2) 7> view params mgr
PORT 7809
(5) 啟動Start mgr:
GGSCI (host2) 8> start mgr
MGR is already running.
GGSCI (host2) 9> info mgr
Manager is running (IP port host2.7809).
4. 目標數據庫服務器 goldengate安裝(和源目標服務器相同)
(1) 解壓到/oracle/ogg目標下面
(2) 運行./ggsci
(3) 新建子目錄: GGSCI (host2) 1> create subdirs
Creating subdirectories under current directory /oracle/ogg
Parameter files /oracle/ogg/dirprm: already exists
Report files /oracle/ogg/dirrpt: created
Checkpoint files /oracle/ogg/dirchk: created
Process status files /oracle/ogg/dirpcs: created
SQL script files /oracle/ogg/dirsql: created
Database definitions files /oracle/ogg/dirdef: created
Extract data files /oracle/ogg/dirdat: created
(4) 配置字符管理的Port參數
GGSCI (host2) 6> edit params mgr
輸入: PORT 7809 然後保存
檢查輸入情況:
GGSCI (host2) 7> view params mgr
PORT 7809
(4) 啟動Start mgr:
GGSCI (host2) 8> start mgr
MGR is already running.
GGSCI (host2) 9> info mgr
Manager is running (IP port host2.7809).
5. 配置源數據庫服務器(dbsid2)傳輸進程extract
(1)添加名字為source1的進程
GGSCI (host2) 19> add extract source1,sourceistable
EXTRACT added.
(3) 修改source1參數
GGSCI (host2) 20> edit params source1
添加如下,並且保存
extract source1
setenv (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
userid scott,password tiger
rmthost 100.100.100.41,mgrport 7809
rmttask replicat,group target1
table scott.emp;
注:1、需要復制表的用戶名為scott,密碼tiger
2、目標數據庫(db1)的IP為100.100.100.41,端口為7809
3. 目標數據庫(db1)的接收進程名字為 target1
4. 需要復制的table為: scott.emp表。
查看修改的參數
GGSCI (host2) 21> view params source1
6. 配置目標數據庫db1 replicat接收進程
(1) 添加replicat進程,名字為source1
GGSCI (host2) 9> add replicat target1,specialrun
REPLICAT added.
(2) 添加修改參數:GGSCI (host2) 13> edit params target1
replicat target1
setenv (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
assumetargetdefs
userid scott,password tiger
discardfile ./dirrpt/target1.dsc,purge
map scott.emp,target scott.test;
注:1. 目標數據庫賬號為scott,tiger
2. 將源數據庫的表scott.emp同步到scott.test表中
查看修改之後
GGSCI (host2) 1> view params target1
7. 源數據庫(dbsid2)開始同步
(1) 開始同步
GGSCI (host2) 11> start extract source1
Sending START request to MANAGER ...
EXTRACT SOURCE1 starting
(2) 監控同步過程
GGSCI (host2) 12> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
(3) 源數據庫查看同步日志
GGSCI (host2) 13> view report source1
8. 目標數據庫(db1)查看同步情況
SQL> select * from test;