一 GoldenGate簡介
Oracle Golden Gate軟件是一種基於日志的結構化數據復制備份軟件,它通過解析源 數據庫在線日志或歸檔日志獲得數據的增量變化,再將這些變化應用到目標數據庫,從而實現源數據庫與目標數據庫同步。Oracle Golden Gate可以在異構的IT基礎結構(包括幾乎 所有常用操作系統平台和數據庫平台)之間實現大量數據亞秒一級的實時復制,從而在可以 在應急系統、在線報表、實時數據倉庫供應、交易跟蹤、數據同步、集中/分發、容災、數據庫升級和移植、雙業務中心等多個場景下應用。同時,Oracle Golden Gate 可以實現一 對一、廣播(一對多)、聚合(多對一)、雙向、點對點、級聯等多種靈活的拓撲結構。
二、技術結構
和傳統的邏輯復制一樣,Oracle GoldenGate 實現原理是通過抽取源端 的redo log或者archive log,然后通過TCP/IP投遞到目標端,最后解析還原應用到目標端,使目標端實現同源端數同步。以下是OracleGoldenGate的技術架。
三、OGG進程
1、Manager進程
Manager進程是GoldenGate的控制進程,運行在源端和目標端上。它主要作用有以下幾個方面:啟動、監控、重啟Goldengate的其他進程, 報告錯誤及事件,分配數據存儲 空間,發布閥值報告等。
2、Extract進程
Extract運行在數據庫源端,負責從源端數據表或者日志中捕獲數據。
3、Pump進程
pump進程運行在數據庫源端。
其作用是如果源端使用了本地的trail文件, 那么pump 進程就會把trail以數據塊的形式通過TCP/IP協議發送到目標端,這通常也是推薦的 方式。pump進程本質是extract進程的一種特殊形式,如果不使用trails文件,那么 就是extract進程在抽取完數據以后,直接投遞到目標端。
4.Trail文件
為了更有效、更安全的把數據庫事務信息從源端投遞到目標端。GoldenGate引進 trail文件的概念。前面提到extract抽取完數據以后Goldengate會將抽取的事務信息轉化為一種GoldenGate專有格式的文件。然后pump負責把源端的trail文件投遞到目標端, 所以源、目標兩端都會存在這種文件。trail文件存在的目的旨在防止單點故障,將事務信 息持久化,並且使用checkpoint機制來記錄其讀寫位置,如果故障發生,則數據可以根據 checkpoint記錄的位置來重傳。
5.Replicat進程
Replicat進程,通常我們也把它叫做應用進程。運行在目標端,是數據傳遞的最后一站,負責讀取目標端trail文件中的內容,並將其解析為DML或DDL語句,然后應用到目標數據庫中。
6.GGSCI
GGSCI是GoldenGate Software Command Interface 的縮寫,它提供了十分豐富的 命令來對Goldengate進行各種操作,如創建、修改、監控GoldenGate進程等等。
四、應用的拓展結構、支持平台和數據庫
五、OGG安裝
1、檢測安裝環境
[oracle@rh6 ogg]$ uname -a
Linux rh6.cuug.net 2.6.32-71.el6.i686 #1 SMP Wed Sep 1 01:26:34 EDT 2010 i686 i686 i386 GNU/Linux
[oracle@rh6 ogg]$ arch
i686
2、安裝OGG軟件
[oracle@rh6 ogg]$ mkdir -p /u01/ogg
[oracle@rh6 ogg]$ ls -l
total 85912
-rw-r----- 1 oracle oinstall 87966150 Sep 10 11:33 ogg112101_fbo_ggs_Linux_x86_ora11g_32bit.zip
注意:下載的OGG 11g版本有32位和64位,如果在操作系統為32位,安裝64位的OGG,將出現以下錯誤
“不可執行的二進制文件”
[oracle@rh6 ogg]$ unzip ogg112101_fbo_ggs_Linux_x86_ora11g_32bit.zip
Archive: ogg112101_fbo_ggs_Linux_x86_ora11g_32bit.zip
inflating: fbo_ggs_Linux_x86_ora11g_32bit.tar
inflating: OGG_WinUnix_Rel_Notes_11.2.1.0.1.pdf
inflating: Oracle GoldenGate 11.2.1.0.1 README.txt
inflating: Oracle GoldenGate 11.2.1.0.1 README.doc
[oracle@rh6 ogg]$ ls -l
total 290704
-rw-rw-r-- 1 oracle oinstall 209367040 Apr 23 2012 fbo_ggs_Linux_x86_ora11g_32bit.tar
-rw-r----- 1 oracle oinstall 87966150 Sep 10 11:33 ogg112101_fbo_ggs_Linux_x86_ora11g_32bit.zip
-rwxrwxrwx 1 oracle oinstall 220546 May 2 2012 OGG_WinUnix_Rel_Notes_11.2.1.0.1.pdf
-rwxrwxrwx 1 oracle oinstall 93696 May 2 2012 Oracle GoldenGate 11.2.1.0.1 README.doc
-rwxrwxrwx 1 oracle oinstall 24390 May 2 2012 Oracle GoldenGate 11.2.1.0.1 README.txt
[oracle@rh6 ogg]$ tar xvf fbo_ggs_Linux_x86_ora11g_32bit.tar
3、執行ggsci腳本,建立相關目錄
[oracle@rh6 ogg]$ ./ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230_FBO
Linux, x86, 32bit (optimized), Oracle 11g on Apr 23 2012 08:09:25
Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
GGSCI (ogg) 2> help
GGSCI Command Summary:
Object: Command:
SUBDIRS CREATE
ER INFO, KILL, LAG, SEND, STATUS, START, STATS, STOP
EXTRACT ADD, ALTER, CLEANUP, DELETE, INFO, KILL,
LAG, REGISTER, SEND, START, STATS, STATUS, STOP
UNREGISTER
EXTTRAIL ADD, ALTER, DELETE, INFO
GGSEVT VIEW
MANAGER INFO, SEND, START, STOP, STATUS
MARKER INFO
PARAMS EDIT, VIEW
REPLICAT ADD, ALTER, CLEANUP, DELETE, INFO, KILL, LAG, SEND,
START, STATS, STATUS, STOP
REPORT VIEW
RMTTRAIL ADD, ALTER, DELETE, INFO
TRACETABLE ADD, DELETE, INFO
TRANDATA ADD, DELETE, INFO
SCHEMATRANDATA ADD, DELETE, INFO
CHECKPOINTTABLE ADD, DELETE, CLEANUP, INFO
Commands without an object:
(Database) DBLOGIN, LIST TABLES, ENCRYPT PASSWORD, FLUSH SEQUENCE
MININGDBLOGIN
(DDL) DUMPDDL
(Miscellaneous) FC, HELP, HISTORY, INFO ALL, OBEY, SET EDITOR, SHELL,
SHOW, VERSIONS, ! (note: you must type the word
COMMAND after the ! to display the ! help topic.)
i.e.: GGSCI (sys1)> help ! command
For help on a specific command, type HELP <command> <object>.
Example: HELP ADD REPLICAT
GGSCI (ogg) 3> create subdirs
Creating subdirectories under current directory /u01/ogg
Parameter files /u01/ogg/dirprm: already exists
Report files /u01/ogg/dirrpt: created
Checkpoint files /u01/ogg/dirchk: created
Process status files /u01/ogg/dirpcs: created
SQL script files /u01/ogg/dirsql: created
Database definitions files /u01/ogg/dirdef: created
Extract data files /u01/ogg/dirdat: created
Temporary files /u01/ogg/dirtmp: created
Stdout files /u01/ogg/dirout: created
GGSCI>create subdirs --不需要指定路徑,默認在當前目錄下(所以進入ggsci的時候,一定要在gg的當前目錄)
新建出來的目錄有:
name Purpose
--dirchk Checkpoint files存放檢查點(Checkpoint)文件 (和Oracle的checkpoint含義不同,如oralce的一個實例失敗,從最近一次的checkpoint開始recorver, oracle的一次 checkpoint是讓dbwrt進程把被修改的數據從數據緩沖區中寫入數據文件。而OGG的checkpoint是OGG捕捉了很多事務日志,哪些被 傳輸了,哪些未被傳輸。每隔一段時間,執行一次checkpoint,之前的所有數據都要傳送過去。如果soure or target db斷電了,那下次啟動的時候,就要支持斷點續傳,那那個斷點位置就是最后一次OGG執行checkpoint的位置)
--dirdat GoldenGate trails, 存放Trail與Extract文件
--dirdef Data Definition files,過DEFGEN工具生成的源或目標的數據定義文件
--dirprm Parameter files, 存放參數文件
--dirpcs Process status files, 存放進程狀態文件
--dirrpt Report files, 存放進程報告文件
--dirsql SQL script files,存放SQL腳本文件
--dirtmp Temporary files,當事務所需要的內存超過已分配內存時,缺省存儲於此
@至此,OGG在linux下安裝基本完成,后面將進入OGG的基本配置
OGG基本配置(單向傳輸)
1、數據庫配置(Source DB)
建立Tablespace:
11:58:56 SYS@ prod >create tablespace ogg_tbs
11:59:12 2 datafile '/u01/app/Oracle/oradata/prod/oggtbs1.dbf' size 100m ;
建立ogg用戶:
12:01:17 SYS@ prod >create user ogg identified by ogg default tablespace ogg_tbs temporary tablespace temp quota unlimited on ogg_tbs;
User created.
用戶授權:
12:01:39 SYS@ prod >grant connect,resource to ogg;
Grant succeeded.
12:01:55 SYS@ prod >grant create session,alter session to ogg;
Grant succeeded.
12:02:18 SYS@ prod >grant select any dictionary,select any table to ogg;
Grant succeeded.
12:02:42 SYS@ prod >grant alter any table to ogg;
Grant succeeded.
12:02:53 SYS@ prod >grant flashback any table to ogg;
Grant succeeded.
12:03:03 SYS@ prod >grant execute on dbms_flashback to ogg;
Grant succeeded.
在Database上啟用附加日志功能:
12:19:26 SYS@ prod >select SUPPLEMENTAL_LOG_DATA_MIN from v$database;
SUPPLEME
--------
NO
12:20:53 SYS@ prod >alter database add supplemental log data;
Database altered.
數據庫應為歸檔模式:
12:21:10 SYS@ prod >archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /dsk4/arch_prod
Oldest online log sequence 78
Next log sequence to archive 80
Current log sequence 80
13:22:45 SYS@ prod >select force_logging from v$database;
FOR
---
NO
13:24:22 SYS@ prod >alter database force logging;
Database altered.
13:24:30 SYS@ prod >select force_logging from v$database;
FOR
---
YES
建立用於傳輸測試的Table:
12:12:26 SCOTT@ prod >create table emp_ogg as select * from emp;
Table created.
12:12:40 SCOTT@ prod >alter table emp_ogg add constraint pk_ogg primary
key(empno);
注意:Oracle建議給所有要復制的表建立主鍵或唯一鍵
2、數據庫配置(Target DB)
建立Tablespace:
12:07:50 SYS@ prod >create tablespace ogg_tbs
12:08:09 2 datafile '/u01/app/oracle/oradata/prod/oggtbs1.dbf' size 100m;
建立ogg用戶:
12:08:47 SYS@ prod >create user ogg identified by ogg default tablespace ogg_tbs temporary tablespace temp quota unlimited on ogg_tbs;
User created.
用戶授權:
12:09:44 SYS@ prod >grant connect,resource to ogg;
Grant succeeded.
12:10:06 SYS@ prod >grant create session ,alter session to ogg;
Grant succeeded.
12:10:20 SYS@ prod >grant select any table,select any dictionary to ogg;
Grant succeeded.
12:10:45 SYS@ prod >grant create table to ogg;
創建測試Table:
12:13:47 SCOTT@ prod >create table emp_ogg as select * from emp;
Table created.
12:14:04 SCOTT@ prod >grant all on emp_ogg to ogg;
Grant succeeded.
3、OGG配置(source)
配置MGR:
[oracle@ogg ogg]$ ./ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230_FBO
Linux, x86, 32bit (optimized), Oracle 11g on Apr 23 2012 08:09:25
Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
添加用於capture data change的table
GGSCI (ogg) 2> dblogin userid ogg,password ogg;
Successfully logged into database.
GGSCI (ogg) 9> add trandata scott.emp_ogg
Logging of supplemental redo data enabled for table SCOTT.EMP_OGG.
查看在table上是否啟用了supplemental log
GGSCI (ogg) 11> info trandata scott.emp_ogg
Logging of supplemental redo log data is enabled for table SCOTT.EMP_OGG.
Columns supplementally logged for table SCOTT.EMP_OGG: EMPNO.
GGSCI (ogg) 13> edit params mgr
port 7809
dynamicportlist 7800-8000
autorestart extract *,waitminutes 2,resetminutes 5
編輯mgr參數文件,並寫入以上信息!
GGSCI (ogg) 14> start mgr
Manager started.
GGSCI (ogg) 16> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
配置Extract:
添加extract服務,並啟動extract服務:
GGSCI (ogg) 11> add extract eini_1,sourceistable
EXTRACT added.
校驗Extract process
GGSCI (ogg) 14> info extract *,tasks
EXTRACT EINI_1 Initialized 2014-09-10 14:28 Status STOPPED
Checkpoint Lag Not Available
Log Read Checkpoint Not Available
First Record Record 0
Task SOURCEISTABLE
編輯extract參數文件
GGSCI (ogg) 18>EDIT PARAMS EINI_1
EXTRACT EINI_1
SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
USERID ogg, PASSWORD ogg
RMTHOST 192.168.8.249,MGRPORT 7809
RMTTASK REPLICAT, GROUP RINI_1
TABLE scott.EMP_OGG;
GGSCI (ogg) 15> start eini_1
Sending START request to MANAGER ...
EXTRACT EINI_1 starting
GGSCI (ogg) 16> info eini_1
EXTRACT EINI_1 Initialized 2014-09-10 14:28 Status RUNNING
Checkpoint Lag Not Available
Log Read Checkpoint Not Available
First Record Record 0
Task SOURCEISTABLE
GGSCI (ogg) 17> view report eini_1
2014-09-10 14:30:34 INFO OGG-01017 Wildcard resolution set to IMMEDIATE because SOURCEISTABLE is used.
*********************************************************************
Oracle GoldenGate Capture for Oracle
Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230_FBO
Linux, x86, 32bit (optimized), Oracle 11g on Apr 23 2012 08:20:38
Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
Starting at 2014-09-10 14:30:34
*********************************************************************
Operating System Version:
Linux
Version #1 SMP Wed Sep 1 01:26:34 EDT 2010, Release 2.6.32-71.el6.i686
Node: ogg
Machine: i686
soft limit hard limit
Address Space Size : unlimited unlimited
Heap Size : unlimited unlimited
File Size : unlimited unlimited
CPU Time : unlimited unlimited
Process id: 6159
Description:
*********************************************************************
** Running with the following parameters **
*********************************************************************
2014-09-10 14:30:34 INFO OGG-03035 Operating system character set identified as UTF-8. Locale: en_US, LC_ALL:.
EXTRACT EINI_1
SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
Set environment variable (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
USERID ogg,PASSWORD ***
RMTHOST 192.168.8.249,MGRPORT 7809
RMTTASK REPLICAT,GROUP RINI_1
TABLE scott.EMP_OGG;
Using the following key columns for source table SCOTT.EMP_OGG: EMPNO.
2014-09-10 14:30:36 INFO OGG-01815 Virtual Memory Facilities for: COM
anon alloc: mmap(MAP_ANON) anon free: munmap
file alloc: mmap(MAP_SHARED) file free: munmap
target directories:
/u01/ogg/dirtmp.
CACHEMGR virtual memory values (may have been adjusted)
CACHESIZE: 2G
CACHEPAGEOUTSIZE (normal): 4M
PROCESS VM AVAIL FROM OS (min): 2.75G
CACHESIZEMAX (strict force to disk): 2.47G
Database Version:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
Database Language and Character Set:
NLS_LANG = "AMERICAN_AMERICA.ZHS16GBK"
NLS_LANGUAGE = "AMERICAN"
NLS_TERRITORY = "AMERICA"
NLS_CHARACTERSET = "ZHS16GBK"
2014-09-10 14:30:36 WARNING OGG-01223 TCP/IP error 111 (Connection refus
Source Context :
SourceModule : [er.idlx]
SourceID : [/net/ap1109nap-vlan900/vol/ifarm_ports/ifarm_views/aime_oggcore_210874/oggcore/OpenSys/src/app/er/idlx.c]
SourceFunction : [idlx_tcp_error]
SourceLine : [1414]
ThreadBacktrace : [10] elements
: [/u01/ogg/libgglog.so(CMessageContext::AddThreadContext()+0x26) [0x1f9166]]
: [/u01/ogg/libgglog.so(CMessageFactory::CreateMessage(CSourceContext*, unsigned int, ...)+0x2c5) [0x1f5125]]
: [/u01/ogg/libgglog.so(_MSG_ERR_TCP_GENERIC(CSourceContext*, char const*, CMessageFactory::MessageDisposition)+0x36) [0
x1d755c]]
: [/u01/ogg/extract() [0x8148d0c]]
: [/u01/ogg/extract(IDLX_tcp_send_data+0xf4) [0x8149ae0]]
: [/u01/ogg/extract(IDLX_send_session_begin_cmd+0xa6) [0x8149e12]]
: [/u01/ogg/extract(process_source_files()+0x584) [0x819662e]]
: [/u01/ogg/extract(main+0x5fc) [0x819820c]]
: [/lib/libc.so.6(__libc_start_main+0xe6) [0x8aecc6]]
: [/u01/ogg/extract(__gxx_personality_v0+0x3ad) [0x81144e1]]
2014-09-10 14:32:35 ERROR OGG-01224 TCP/IP error 111 (Connection refused); retries exceeded.
2014-09-10 14:32:35 ERROR OGG-01668 PROCESS ABENDING.
注意:出現以上tcp/ip錯誤,是因為目標端未配置mgr,無法通訊!
源端配置extract進程,用於數據同步:
GGSCI (ogg) 25> edit params eora_1
EXTRACT EORA_1
SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
USERID ogg,PASSWORD ogg
EXTTRAIL ./dirdat/aa
TABLE scott.emp_ogg;
添加extract primary group
GGSCI (ogg) 27> add extract eora_1,tranlog,begin now
EXTRACT added.
定義goldengate local trail
注意:‘aa’ is prefix for local trail file
GGSCI (ogg) 29> add exttrail ./dirdat/aa,extract eora_1,megabytes 5
EXTTRAIL added.
GGSCI (ogg) 30> start extract eora_1
Sending START request to MANAGER ...
EXTRACT EORA_1 starting
GGSCI (ogg) 31> info extract eora_1
EXTRACT EORA_1 Initialized 2014-09-10 14:47 Status STOPPED
Checkpoint Lag 00:00:00 (updated 00:02:06 ago)
Log Read Checkpoint Oracle Redo Logs
2014-09-10 14:47:22 Seqno 0, RBA 0
SCN 0.0 (0)
在源端配置pump進程,用於數據同步:
GGSCI (ogg) 41> edit params pora_1
EXTRACT PORA_1
SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
PASSTHRU
RMTHOST 192.168.8.249,MGRPORT 7809
RMTTRAIL ./dirdat/pa
TABLE scott.emp_ogg;
添加pump extract group
GGSCI (ogg) 35> add extract pora_1,exttrailsource ./dirdat/pa
EXTRACT added.
添加remote trail file在source system
ggsci> ADD RMTTRAIL ./dirdat/pa,EXTRACT PORA_1, MEGABYTES 5
RMTTRAIL added.
GGSCI (ogg) 36> info extract pora_1
EXTRACT PORA_1 Initialized 2014-09-10 15:01 Status STOPPED
Checkpoint Lag 00:00:00 (updated 00:00:22 ago)
Log Read Checkpoint File ./dirdat/pa000000
First Record RBA 0
GGSCI (ogg) 42> start extract pora_1
Sending START request to MANAGER ...
EXTRACT PORA_1 starting
GGSCI (ogg) 43> info extract pora_1
EXTRACT PORA_1 Initialized 2014-09-10 15:01 Status STOPPED
Checkpoint Lag 00:00:00 (updated 00:03:35 ago)
Log Read Checkpoint File ./dirdat/pa000000
First Record RBA 0
以上eora_1和pora_1服務都處於stop狀態,正常應為running,通過以下方式進行糾正;
解決方法:
GGSCI (rh6.cuug.net) 7> delete extract eora_1,tranlog,begin now
2014-09-10 16:16:15 WARNING OGG-01753 Cannot unregister EXTRACT EORA_1 from database because no database login was provided. You can manually unregister this group later with the UNREGISTER EXTRACT command with LOGRETENTION. Issue DBLOGIN first.
Deleted EXTRACT EORA_1.
GGSCI (rh6.cuug.net) 8> dblogin userid ogg,password ogg
Successfully logged into database.
GGSCI (rh6.cuug.net) 9> delete extract eora_1,tranlog,begin now
ERROR: EXTRACT EORA_1 does not exist.
GGSCI (rh6.cuug.net) 10> add extract eora_1,tranlog,begin now
EXTRACT added.
GGSCI (rh6.cuug.net) 11> add exttrail ./dirdat/aa ,extract eora_1,megabytes 5
EXTTRAIL added.
GGSCI (rh6.cuug.net) 12> start extract eora_1
Sending START request to MANAGER ...
EXTRACT EORA_1 starting
GGSCI (rh6.cuug.net) 13> info extract eora_1
EXTRACT EORA_1 Last Started 2014-09-10 16:17 Status RUNNING
Checkpoint Lag 00:00:54 (updated 00:00:07 ago)
Log Read Checkpoint Oracle Redo Logs
2014-09-10 16:16:51 Seqno 80, RBA 42201104
SCN 0.0 (0)
GGSCI (rh6.cuug.net) 27> edit params pora_1
RMTTRAIL
EXTRACT PORA_1
SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
PASSTHRU
RMTHOST 192.168.8.249,MGRPORT 7809
RMTTRAIL ./dirdat/pa
TABLE scott.emp_ogg;
GGSCI (rh6.cuug.net) 28> start extract pora_1
Sending START request to MANAGER ...
EXTRACT PORA_1 starting
GGSCI (rh6.cuug.net) 29> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING EORA_1 00:00:00 00:00:04
EXTRACT RUNNING PORA_1 00:00:00 00:03:18
@至此,Source端,Extract、Pump服務配置基本完畢 !
4、OGG配置(Target)
配置MGR
GGSCI (rh6.cuug.net) 4> edit params mgr
port 7809
dynamicportlist 7800-8000
autorestart extract *,waitminutes 2,resetminutes 5
~
GGSCI (rh6.cuug.net) 5> start mgr
Manager started.
GGSCI (rh6.cuug.net) 6> info mgr
Manager is running (IP port rh6.cuug.net.7809).
配置Replicate服務
[oracle@rh6 ogg]$ ./ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230_FBO
Linux, x86, 32bit (optimized), Oracle 11g on Apr 23 2012 08:09:25
Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
GGSCI (rh6.cuug.net) 1> add replicat rini_1,specialrun
REPLICAT added.
GGSCI (rh6.cuug.net) 2> info replicat *,tasks
REPLICAT RINI_1 Initialized 2014-09-10 14:33 Status STOPPED
Checkpoint Lag 00:00:00 (updated 00:00:13 ago)
Log Read Checkpoint Not Available
Task SPECIALRUN
GGSCI (rh6.cuug.net) 3> edit params rini_1
REPLICAT RINI_1
SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
ASSUMETARGETDEFS
USERID ogg,PASSWOR ogg
DISCARDFILE ./dirrpt/RINIaa.dsc,PURGE
MAP scott.emp_ogg,TARGET scott.emp_ogg;
注意:在源端啟動eini_1 process,目標端rini_1 process將會被自動啟動
添加replicate checkpoint table
GGSCI (rh6.cuug.net) 1> edit params ./GLOBALS
CHECKPOINTTABLE ogg.oggchkpt
GGSCI (rh6.cuug.net) 2> exit
必須退出ggsci,checkpoint table 才會生效
[oracle@rh6 ogg]$ ./ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230_FBO
Linux, x86, 32bit (optimized), Oracle 11g on Apr 23 2012 08:09:25
Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
GGSCI (rh6.cuug.net) 1> dblogin userid ogg,password ogg
Successfully logged into database.
GGSCI (rh6.cuug.net) 2> add checkpointtable
No checkpoint table specified, using GLOBALS specification (ogg.oggchkpt)...
Successfully created checkpoint table ogg.oggchkpt.
添加replicate group
GGSCI (rh6.cuug.net) 4> add replicat rora_1,exttrail ./dirdat/pa
REPLICAT added.
編輯replicate parameterfile
GGSCI (rh6.cuug.net) 5> edit param rora_1
REPLICAT RORA_1
SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
USERID ogg,PASSWORD ogg
HANDLECOLLISIONS
ASSUMETARGETDEFS
DISCARDFILE ./dirrpt/RORA_aa.DSC,PURGE
MAP scott.oem_ogg,TARGET scott.emp_ogg;
啟動replicate process
GGSCI (rh6.cuug.net) 7> start replicat rora_1
Sending START request to MANAGER ...
REPLICAT RORA_1 starting
GGSCI (rh6.cuug.net) 10> info replicat rora_1
REPLICAT RORA_1 Last Started 2014-09-10 15:53 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:05 ago)
Log Read Checkpoint File ./dirdat/pa000000
First Record RBA 0
GGSCI (rh6.cuug.net) 9> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
REPLICAT RUNNING RORA_1 00:00:00 00:00:00
5、同步測試
源端對表emp_ogg進行insert、delete、update,啟動eini_1進程查看,目標端emp_ogg表數據是否同步一致。