天天看點

Oracle GoldenGate學習之--基本概念和配置(3)

系統架構:

<a href="http://s3.51cto.com/wyfs02/M00/49/41/wKioL1QRaXmgN3CsAAAxaYRcYLA038.png" target="_blank"></a>

OGG基本配置(單向傳輸)

1、資料庫配置(Source DB)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

<code>建立Tablespace:</code>

<code>11</code><code>:</code><code>58</code><code>:</code><code>56</code> <code>SYS@ prod &gt;create tablespace ogg_tbs</code>

<code>11</code><code>:</code><code>59</code><code>:</code><code>12</code>   <code>2</code>  <code>datafile </code><code>'/u01/app/oracle/oradata/prod/oggtbs1.dbf'</code> <code>size 100m ;</code>

<code>建立ogg使用者:</code>

<code>12</code><code>:</code><code>01</code><code>:</code><code>17</code> <code>SYS@ prod &gt;create user ogg identified by ogg default tablespace ogg_tbs temporary tablespace temp quota unlimited </code><code>on</code> <code>ogg_tbs;</code>

<code>User created.</code>

<code>使用者授權:</code>

<code>12</code><code>:</code><code>01</code><code>:</code><code>39</code> <code>SYS@ prod &gt;grant connect,resource to ogg;</code>

<code>Grant succeeded.</code>

<code>12</code><code>:</code><code>01</code><code>:</code><code>55</code> <code>SYS@ prod &gt;grant create session,alter session to ogg;</code>

<code>12</code><code>:</code><code>02</code><code>:</code><code>18</code> <code>SYS@ prod &gt;grant select any dictionary,select any table to ogg;</code>

<code>12</code><code>:</code><code>02</code><code>:</code><code>42</code> <code>SYS@ prod &gt;grant alter any table to ogg;</code>

<code>12</code><code>:</code><code>02</code><code>:</code><code>53</code> <code>SYS@ prod &gt;grant flashback any table to ogg;</code>

<code>12</code><code>:</code><code>03</code><code>:</code><code>03</code> <code>SYS@ prod &gt;grant execute </code><code>on</code> <code>dbms_flashback to ogg;</code>

<code>在Database上啟用附加日志功能:</code>

<code>12</code><code>:</code><code>19</code><code>:</code><code>26</code> <code>SYS@ prod &gt;select SUPPLEMENTAL_LOG_DATA_MIN </code><code>from</code> <code>v$database;</code>

<code>SUPPLEME</code>

<code>--------</code>

<code>NO</code>

<code>12</code><code>:</code><code>20</code><code>:</code><code>53</code> <code>SYS@ prod &gt;alter database add supplemental log data;</code>

<code>Database altered.</code>

<code>資料庫應為歸檔模式:</code>

<code>12</code><code>:</code><code>21</code><code>:</code><code>10</code> <code>SYS@ prod &gt;archive log list;</code>

<code>Database log mode              Archive Mode</code>

<code>Automatic archival             Enabled</code>

<code>Archive destination            /dsk4/arch_prod</code>

<code>Oldest online log sequence     </code><code>78</code>

<code>Next log sequence to archive   </code><code>80</code>

<code>Current log sequence           </code><code>80</code>

<code>13</code><code>:</code><code>22</code><code>:</code><code>45</code> <code>SYS@ prod &gt;select force_logging </code><code>from</code> <code>v$database;</code>

<code>FOR</code>

<code>---</code>

<code>13</code><code>:</code><code>24</code><code>:</code><code>22</code> <code>SYS@ prod &gt;alter database force logging;</code>

<code>13</code><code>:</code><code>24</code><code>:</code><code>30</code> <code>SYS@ prod &gt;select force_logging </code><code>from</code> <code>v$database;</code>

<code>YES</code>

<code>建立用于傳輸測試的Table:</code>

<code>12</code><code>:</code><code>12</code><code>:</code><code>26</code> <code>SCOTT@ prod &gt;create table emp_ogg </code><code>as</code> <code>select * </code><code>from</code>  <code>emp;</code>

<code>Table created.</code>

<code>12</code><code>:</code><code>12</code><code>:</code><code>40</code> <code>SCOTT@ prod &gt;alter table emp_ogg add constraint pk_ogg primary</code>

<code> </code><code>key(empno);</code>

<code>注意:Oracle建議給所有要複制的表建立主鍵或唯一鍵</code>

2、資料庫配置(Target DB)

<code>12</code><code>:</code><code>07</code><code>:</code><code>50</code> <code>SYS@ prod &gt;create tablespace ogg_tbs</code>

<code>12</code><code>:</code><code>08</code><code>:</code><code>09</code>   <code>2</code>  <code>datafile </code><code>'/u01/app/oracle/oradata/prod/oggtbs1.dbf'</code> <code>size 100m;</code>

<code>12</code><code>:</code><code>08</code><code>:</code><code>47</code> <code>SYS@ prod &gt;create user ogg identified by ogg default tablespace ogg_tbs temporary tablespace temp quota unlimited </code><code>on</code> <code>ogg_tbs;</code>

<code>12</code><code>:</code><code>09</code><code>:</code><code>44</code> <code>SYS@ prod &gt;grant connect,resource to ogg;</code>

<code>12</code><code>:</code><code>10</code><code>:</code><code>06</code> <code>SYS@ prod &gt;grant create session ,alter session to ogg;</code>

<code>12</code><code>:</code><code>10</code><code>:</code><code>20</code> <code>SYS@ prod &gt;grant select any table,select any dictionary to ogg;</code>

<code>12</code><code>:</code><code>10</code><code>:</code><code>45</code> <code>SYS@ prod &gt;grant create table to ogg;</code>

<code>建立測試Table:</code>

<code>12</code><code>:</code><code>13</code><code>:</code><code>47</code> <code>SCOTT@ prod &gt;create table emp_ogg </code><code>as</code> <code>select * </code><code>from</code>  <code>emp;</code>

<code>12</code><code>:</code><code>14</code><code>:</code><code>04</code> <code>SCOTT@ prod &gt;grant all </code><code>on</code> <code>emp_ogg to ogg;</code>

3、OGG配置(source)

<code>配置MGR:</code>

<code>[oracle@ogg ogg]$ ./ggsci</code>

<code>Oracle GoldenGate Command Interpreter </code><code>for</code> <code>Oracle</code>

<code>Version </code><code>11.2.</code><code>1.0.</code><code>1</code> <code>OGGCORE_11</code><code>.2.1.</code><code>0.</code><code>1_PLATFORMS_120423.0230_FBO</code>

<code>Linux, x86, 32bit (optimized), Oracle 11g </code><code>on</code> <code>Apr </code><code>23</code> <code>2012</code> <code>08</code><code>:</code><code>09</code><code>:</code><code>25</code>

<code>Copyright (C) </code><code>1995</code><code>, </code><code>2012</code><code>, Oracle </code><code>and</code><code>/</code><code>or</code> <code>its affiliates. All rights reserved.</code>

<code>添加用于capture data change的table</code>

<code>GGSCI (ogg) </code><code>2</code><code>&gt; dblogin userid ogg,password ogg;</code>

<code>Successfully logged </code><code>into</code> <code>database.</code>

<code>GGSCI (ogg) </code><code>3</code><code>&gt; add trandata scott.emp_ogg;</code>

<code>ERROR: No viable tables matched specification.</code>

<code>goldengate add trandata 提示找不到表  ERROR: No viable tables matched specification</code>

<code> </code><code>goldengate對符号比較敏感,在add trandata時不要用分号</code>

<code> </code> 

<code>GGSCI (ogg) </code><code>4</code><code>&gt; add trandata scott.emp_ogg</code>

<code>2014</code><code>-09</code><code>-10</code> <code>14</code><code>:</code><code>00</code><code>:</code><code>25</code>  <code>WARNING OGG</code><code>-00869</code>  <code>No unique key is defined </code><code>for</code> <code>table </code><code>'EMP_OGG'</code><code>. All viable columns will be used to represent the key, but may </code><code>not</code> <code>guarantee uniqueness.  KEYCOLS may be used to define the key.</code>

<code>Logging of supplemental redo data enabled </code><code>for</code> <code>table SCOTT.EMP_OGG.</code>

<code>注意:提示table:emp_ogg未建立primary key,建立primary key後重新add</code>

<code>GGSCI (ogg) </code><code>8</code><code>&gt; </code><code>delete</code> <code>trandata scott.emp_ogg</code>

<code>Logging of supplemental redo log data disabled </code><code>for</code> <code>table SCOTT.EMP_OGG.</code>

<code>GGSCI (ogg) </code><code>9</code><code>&gt; add trandata scott.emp_ogg</code>

<code>檢視在table上是否啟用了supplemental log</code>

<code>GGSCI (ogg) </code><code>11</code><code>&gt; info trandata scott.emp_ogg</code>

<code>Logging of supplemental redo log data is enabled </code><code>for</code> <code>table SCOTT.EMP_OGG.</code>

<code>Columns supplementally logged </code><code>for</code> <code>table SCOTT.EMP_OGG: EMPNO.</code>

<code>GGSCI (ogg) </code><code>13</code><code>&gt; edit params mgr</code>

<code>port </code><code>7809</code>

<code>dynamicportlist </code><code>7800</code><code>-8000</code>

<code>autorestart extract *,waitminutes </code><code>2</code><code>,resetminutes </code><code>5</code>

<code>編輯mgr參數檔案,并寫入以上資訊!</code>

<code>GGSCI (ogg) </code><code>14</code><code>&gt; start mgr</code>

<code>Manager started.</code>

<code>GGSCI (ogg) </code><code>16</code><code>&gt; info all</code>

<code>Program     Status      Group       Lag </code><code>at</code> <code>Chkpt  Time Since Chkpt</code>

<code>MANAGER     RUNNING</code>

<a href="http://s3.51cto.com/wyfs02/M02/49/9B/wKiom1QWlFqhw4W4AAG61Nh2r3c690.jpg" target="_blank"></a>

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

<code>配置Extract:</code>

<code>添加extract服務,并啟動extract服務:</code>

<code>GGSCI (ogg) </code><code>11</code><code>&gt; add extract eini_1,sourceistable</code>

<code>EXTRACT added.</code>

<code>校驗Extract process</code>

<code>GGSCI (ogg) </code><code>14</code><code>&gt; info extract *,tasks</code>

<code>EXTRACT    EINI_1    Initialized   </code><code>2014</code><code>-09</code><code>-10</code> <code>14</code><code>:</code><code>28</code>   <code>Status STOPPED</code>

<code>Checkpoint Lag       Not Available</code>

<code>Log Read Checkpoint  Not Available</code>

<code>                     </code><code>First Record         Record </code><code>0</code>

<code>Task                 SOURCEISTABLE</code>

<code>編輯extract參數檔案</code>

<code>GGSCI (ogg) </code><code>18</code><code>&gt;EDIT PARAMS EINI_1</code>

<code>EXTRACT EINI_1</code>

<code>SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)</code>

<code>USERID ogg, PASSWORD ogg</code>

<code>RMTHOST </code><code>192.168.</code><code>8.249</code><code>,MGRPORT </code><code>7809</code>

<code>RMTTASK REPLICAT, GROUP RINI_1</code>

<code>TABLE scott.EMP_OGG;</code>

<code>GGSCI (ogg) </code><code>15</code><code>&gt; start eini_1</code>

<code>Sending START request to MANAGER ...</code>

<code>EXTRACT EINI_1 starting</code>

<code>GGSCI (ogg) </code><code>16</code><code>&gt; info eini_1</code>

<code>EXTRACT    EINI_1    Initialized   </code><code>2014</code><code>-09</code><code>-10</code> <code>14</code><code>:</code><code>28</code>   <code>Status RUNNING</code>

<code>GGSCI (ogg) </code><code>17</code><code>&gt; view report eini_1</code>

<code>2014</code><code>-09</code><code>-10</code> <code>14</code><code>:</code><code>30</code><code>:</code><code>34</code>  <code>INFO    OGG</code><code>-01017</code>  <code>Wildcard resolution set to IMMEDIATE because SOURCEISTABLE is used.</code>

<code>***********************************************************************</code>

<code>                 </code><code>Oracle GoldenGate Capture </code><code>for</code> <code>Oracle</code>

<code>    </code><code>Version </code><code>11.2.</code><code>1.0.</code><code>1</code> <code>OGGCORE_11</code><code>.2.1.</code><code>0.</code><code>1_PLATFORMS_120423.0230_FBO</code>

<code>   </code><code>Linux, x86, 32bit (optimized), Oracle 11g </code><code>on</code> <code>Apr </code><code>23</code> <code>2012</code> <code>08</code><code>:</code><code>20</code><code>:</code><code>38</code>

<code>                    </code><code>Starting </code><code>at</code> <code>2014</code><code>-09</code><code>-10</code> <code>14</code><code>:</code><code>30</code><code>:</code><code>34</code>

<code>Operating System Version:</code>

<code>Linux</code>

<code>Version #</code><code>1</code> <code>SMP Wed Sep </code><code>1</code> <code>01</code><code>:</code><code>26</code><code>:</code><code>34</code> <code>EDT </code><code>2010</code><code>, Release </code><code>2.6.</code><code>32</code><code>-71.</code><code>el6.i686</code>

<code>Node: ogg</code>

<code>Machine: i686</code>

<code>                         </code><code>soft limit   hard limit</code>

<code>Address Space Size   :    unlimited    unlimited</code>

<code>Heap Size            :    unlimited    unlimited</code>

<code>File Size            :    unlimited    unlimited</code>

<code>CPU Time             :    unlimited    unlimited</code>

<code>Process id: </code><code>6159</code>

<code>Description:</code>

<code>**            Running </code><code>with</code> <code>the following parameters                  **</code>

<code>2014</code><code>-09</code><code>-10</code> <code>14</code><code>:</code><code>30</code><code>:</code><code>34</code>  <code>INFO    OGG</code><code>-03035</code>  <code>Operating system character set identified </code><code>as</code> <code>UTF</code><code>-8.</code> <code>Locale: en_US, LC_ALL:.</code>

<code>Set environment variable (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)</code>

<code>USERID ogg,PASSWORD ***</code>

<code>RMTTASK REPLICAT,GROUP RINI_1</code>

<code>Using the following key columns </code><code>for</code> <code>source table SCOTT.EMP_OGG: EMPNO.</code>

<code>2014</code><code>-09</code><code>-10</code> <code>14</code><code>:</code><code>30</code><code>:</code><code>36</code>  <code>INFO    OGG</code><code>-01815</code>  <code>Virtual Memory Facilities </code><code>for</code><code>: COM</code>

<code>    </code><code>anon alloc: mmap(MAP_ANON)  anon free: munmap</code>

<code>    </code><code>file alloc: mmap(MAP_SHARED)  file free: munmap</code>

<code>    </code><code>target directories:</code>

<code>    </code><code>/u01/ogg/dirtmp.</code>

<code>CACHEMGR virtual memory values (may have been adjusted)</code>

<code>CACHESIZE:                                2G</code>

<code>CACHEPAGEOUTSIZE (normal):                4M</code>

<code>PROCESS VM AVAIL FROM OS (min):        </code><code>2.</code><code>75G</code>

<code>CACHESIZEMAX (strict force to disk):   </code><code>2.</code><code>47G</code>

<code>Database Version:</code>

<code>Oracle Database 11g Enterprise Edition Release </code><code>11.2.</code><code>0.1.</code><code>0</code> <code>- Production</code>

<code>PL/SQL Release </code><code>11.2.</code><code>0.1.</code><code>0</code> <code>- Production</code>

<code>CORE    </code><code>11.2.</code><code>0.1.</code><code>0</code>      <code>Production</code>

<code>TNS </code><code>for</code> <code>Linux: Version </code><code>11.2.</code><code>0.1.</code><code>0</code> <code>- Production</code>

<code>NLSRTL Version </code><code>11.2.</code><code>0.1.</code><code>0</code> <code>- Production</code>

<code>Database Language </code><code>and</code> <code>Character</code> <code>Set:</code>

<code>NLS_LANG         = </code><code>"AMERICAN_AMERICA.ZHS16GBK"</code>

<code>NLS_LANGUAGE     = </code><code>"AMERICAN"</code>

<code>NLS_TERRITORY    = </code><code>"AMERICA"</code>

<code>NLS_CHARACTERSET = </code><code>"ZHS16GBK"</code>

<code>2014</code><code>-09</code><code>-10</code> <code>14</code><code>:</code><code>30</code><code>:</code><code>36</code>  <code>WARNING OGG</code><code>-01223</code>  <code>TCP/IP error </code><code>111</code> <code>(Connection refus</code>

<code>Source Context :</code>

<code>  </code><code>SourceModule            : [er.idlx]</code>

<code>  </code><code>SourceID                : [/net/ap1109nap-vlan900/vol/ifarm_ports/ifarm_views/aime_oggcore_210874/oggcore/OpenSys/src/app/er/idlx.c]</code>

<code>  </code><code>SourceFunction          : [idlx_tcp_error]</code>

<code>  </code><code>SourceLine              : [</code><code>1414</code><code>]</code>

<code>  </code><code>ThreadBacktrace         : [</code><code>10</code><code>] elements</code>

<code>                          </code><code>: [/u01/ogg/libgglog.so(CMessageContext::AddThreadContext()+</code><code>0x26</code><code>) [</code><code>0x1f9166</code><code>]]</code>

<code>                          </code><code>: [/u01/ogg/libgglog.so(CMessageFactory::CreateMessage(CSourceContext*, unsigned int, ...)+</code><code>0x2c5</code><code>) [</code><code>0x1f5125</code><code>]]</code>

<code>                          </code><code>: [/u01/ogg/libgglog.so(_MSG_ERR_TCP_GENERIC(CSourceContext*, char const*, CMessageFactory::MessageDisposition)+</code><code>0x36</code><code>) [</code><code>0</code>

<code>x1d755c]]</code>

<code>                          </code><code>: [/u01/ogg/extract() [</code><code>0x8148d0c</code><code>]]</code>

<code>                          </code><code>: [/u01/ogg/extract(IDLX_tcp_send_data+</code><code>0xf4</code><code>) [</code><code>0x8149ae0</code><code>]]</code>

<code>                          </code><code>: [/u01/ogg/extract(IDLX_send_session_begin_cmd+</code><code>0xa6</code><code>) [</code><code>0x8149e12</code><code>]]</code>

<code>                          </code><code>: [/u01/ogg/extract(process_source_files()+</code><code>0x584</code><code>) [</code><code>0x819662e</code><code>]]</code>

<code>                          </code><code>: [/u01/ogg/extract(main+</code><code>0x5fc</code><code>) [</code><code>0x819820c</code><code>]]</code>

<code>                          </code><code>: [/lib/libc.so</code><code>.6</code><code>(__libc_start_main+</code><code>0xe6</code><code>) [</code><code>0x8aecc6</code><code>]]</code>

<code>                          </code><code>: [/u01/ogg/extract(__gxx_personality_v0+</code><code>0x3ad</code><code>) [</code><code>0x81144e1</code><code>]]</code>

<code>2014</code><code>-09</code><code>-10</code> <code>14</code><code>:</code><code>32</code><code>:</code><code>35</code>  <code>ERROR   OGG</code><code>-01224</code>  <code>TCP/IP error </code><code>111</code> <code>(Connection refused); retries exceeded.</code>

<code>2014</code><code>-09</code><code>-10</code> <code>14</code><code>:</code><code>32</code><code>:</code><code>35</code>  <code>ERROR   OGG</code><code>-01668</code>  <code>PROCESS ABENDING.</code>

注意:出現以上tcp/ip錯誤,是因為目标端未配置mgr,無法通訊!

109

110

111

<code>源端配置extract程序,用于資料同步:</code>

<code>GGSCI (ogg) </code><code>25</code><code>&gt; edit params eora_1</code>

<code>EXTRACT EORA_1</code>

<code>USERID ogg,PASSWORD ogg EXTTRAIL</code>

<code>./dirdat/aa</code>

<code>TABLE scott.emp_ogg;</code>

<code>添加extract primary group</code>

<code>GGSCI (ogg) </code><code>27</code><code>&gt; add extract eora_1,tranlog,begin now</code>

<code>定義goldengate local trail</code>

<code>注意:‘aa’ is prefix </code><code>for</code> <code>local trail file</code>

<code>GGSCI (ogg) </code><code>29</code><code>&gt; add exttrail ./dirdat/aa,extract eora_1,megabytes </code><code>5</code>

<code>EXTTRAIL added.</code>

<code>GGSCI (ogg) </code><code>30</code><code>&gt; start extract eora_1</code>

<code>EXTRACT EORA_1 starting</code>

<code>GGSCI (ogg) </code><code>31</code><code>&gt; info extract eora_1</code>

<code>EXTRACT    EORA_1    Initialized   </code><code>2014</code><code>-09</code><code>-10</code> <code>14</code><code>:</code><code>47</code>   <code>Status STOPPED</code>

<code>Checkpoint Lag       </code><code>00</code><code>:</code><code>00</code><code>:</code><code>00</code> <code>(updated </code><code>00</code><code>:</code><code>02</code><code>:</code><code>06</code> <code>ago)</code>

<code>Log Read Checkpoint  Oracle Redo Logs</code>

<code>                     </code><code>2014</code><code>-09</code><code>-10</code> <code>14</code><code>:</code><code>47</code><code>:</code><code>22</code>  <code>Seqno </code><code>0</code><code>, RBA </code><code>0</code>

<code>                     </code><code>SCN </code><code>0.0</code> <code>(</code><code>0</code><code>)</code>

<code>                     </code> 

<code>在源端配置pump程序,用于資料同步:                    </code>

<code>GGSCI (ogg) </code><code>41</code><code>&gt; edit params pora_1</code>

<code>EXTRACT PORA_1</code>

<code>PASSTHRU</code>

<code>RMTTRAIL</code>

<code>./dirdat/pa</code>

<code>添加pump extract group</code>

<code>GGSCI (ogg) </code><code>35</code><code>&gt; add extract pora_1,exttrailsource ./dirdat/pa</code>

<code>添加remote trail file在source system</code>

<code>ggsci&gt; ADD RMTTRAIL ./dirdat/pa,EXTRACT PORA_1, MEGABYTES </code><code>5</code>

<code>RMTTRAIL added.</code>

<code>GGSCI (ogg) </code><code>36</code><code>&gt; info extract pora_1</code>

<code>EXTRACT    PORA_1    Initialized   </code><code>2014</code><code>-09</code><code>-10</code> <code>15</code><code>:</code><code>01</code>   <code>Status STOPPED</code>

<code>Checkpoint Lag       </code><code>00</code><code>:</code><code>00</code><code>:</code><code>00</code> <code>(updated </code><code>00</code><code>:</code><code>00</code><code>:</code><code>22</code> <code>ago)</code>

<code>Log Read Checkpoint  File ./dirdat/pa000000</code>

<code>                     </code><code>First Record  RBA </code><code>0</code>

<code>GGSCI (ogg) </code><code>42</code><code>&gt; start extract pora_1</code>

<code>EXTRACT PORA_1 starting</code>

<code>GGSCI (ogg) </code><code>43</code><code>&gt; info extract pora_1</code>

<code>Checkpoint Lag       </code><code>00</code><code>:</code><code>00</code><code>:</code><code>00</code> <code>(updated </code><code>00</code><code>:</code><code>03</code><code>:</code><code>35</code> <code>ago)</code>

<code>以上eora_1和pora_1服務都處于stop狀态,正常應為running,通過以下方式進行糾正;</code>

<code>解決方法:</code>

<code>GGSCI (rh6.cuug.net) </code><code>7</code><code>&gt; </code><code>delete</code> <code>extract eora_1,tranlog,begin now</code>

<code>2014</code><code>-09</code><code>-10</code> <code>16</code><code>:</code><code>16</code><code>:</code><code>15</code>  <code>WARNING OGG</code><code>-01753</code>  <code>Cannot unregister EXTRACT EORA_1 </code><code>from</code> <code>database because no database login was provided. You can manually unregister </code><code>this</code> <code>group later </code><code>with</code> <code>the UNREGISTER EXTRACT command </code><code>with</code> <code>LOGRETENTION. Issue DBLOGIN </code><code>first</code><code>.</code>

<code>Deleted EXTRACT EORA_1.</code>

<code>GGSCI (rh6.cuug.net) </code><code>8</code><code>&gt; dblogin userid ogg,password ogg</code>

<code>GGSCI (rh6.cuug.net) </code><code>9</code><code>&gt;  </code><code>delete</code> <code>extract eora_1,tranlog,begin now</code>

<code>ERROR: EXTRACT EORA_1 does </code><code>not</code> <code>exist.</code>

<code>GGSCI (rh6.cuug.net) </code><code>10</code><code>&gt; add extract eora_1,tranlog,begin now</code>

<code>GGSCI (rh6.cuug.net) </code><code>11</code><code>&gt; add exttrail ./dirdat/aa ,extract eora_1,megabytes </code><code>5</code>

<code>GGSCI (rh6.cuug.net) </code><code>12</code><code>&gt; start extract eora_1</code>

<code>GGSCI (rh6.cuug.net) </code><code>13</code><code>&gt; info extract eora_1</code>

<code>EXTRACT    EORA_1    Last Started </code><code>2014</code><code>-09</code><code>-10</code> <code>16</code><code>:</code><code>17</code>   <code>Status RUNNING</code>

<code>Checkpoint Lag       </code><code>00</code><code>:</code><code>00</code><code>:</code><code>54</code> <code>(updated </code><code>00</code><code>:</code><code>00</code><code>:</code><code>07</code> <code>ago)</code>

<code>                     </code><code>2014</code><code>-09</code><code>-10</code> <code>16</code><code>:</code><code>16</code><code>:</code><code>51</code>  <code>Seqno </code><code>80</code><code>, RBA </code><code>42201104</code>

<code>GGSCI (rh6.cuug.net) </code><code>27</code><code>&gt; edit params pora_1</code>

<code>RMTTRAIL ./dirdat/pa</code>

<code>~</code>

<code>GGSCI (rh6.cuug.net) </code><code>28</code><code>&gt; start extract pora_1</code>

<code>GGSCI (rh6.cuug.net) </code><code>29</code><code>&gt; info all</code>

<code>EXTRACT     RUNNING     EORA_1      </code><code>00</code><code>:</code><code>00</code><code>:</code><code>00</code>      <code>00</code><code>:</code><code>00</code><code>:</code><code>04</code>

<code>EXTRACT     RUNNING     PORA_1      </code><code>00</code><code>:</code><code>00</code><code>:</code><code>00</code>      <code>00</code><code>:</code><code>03</code><code>:</code><code>18</code>

<a href="http://s3.51cto.com/wyfs02/M00/49/9D/wKioL1QWlG_BWF-2AAJ2zf1R8xY613.jpg" target="_blank"></a>

@至此,Source端,Extract、Pump服務配置基本完畢 !

4、OGG配置(Target)

<code>配置MGR</code>

<code>GGSCI (rh6.cuug.net) </code><code>4</code><code>&gt; edit params mgr</code>

<code>GGSCI (rh6.cuug.net) </code><code>5</code><code>&gt; start mgr</code>

<code>GGSCI (rh6.cuug.net) </code><code>6</code><code>&gt; info mgr</code>

<code>Manager is running (IP port rh6.cuug.net</code><code>.7809</code><code>).</code>

<code>配置Replicate服務</code>

<code>[oracle@rh6 ogg]$ ./ggsci</code>

<code>GGSCI (rh6.cuug.net) </code><code>1</code><code>&gt; add replicat rini_1,specialrun</code>

<code>REPLICAT added.</code>

<code>GGSCI (rh6.cuug.net) </code><code>2</code><code>&gt; info replicat *,tasks</code>

<code>REPLICAT   RINI_1    Initialized   </code><code>2014</code><code>-09</code><code>-10</code> <code>14</code><code>:</code><code>33</code>   <code>Status STOPPED</code>

<code>Checkpoint Lag       </code><code>00</code><code>:</code><code>00</code><code>:</code><code>00</code> <code>(updated </code><code>00</code><code>:</code><code>00</code><code>:</code><code>13</code> <code>ago)</code>

<code>Task                 SPECIALRUN</code>

<code>GGSCI (rh6.cuug.net) </code><code>3</code><code>&gt; edit params rini_1</code>

<code>REPLICAT RINI_1</code>

<code>ASSUMETARGETDEFS</code>

<code>USERID ogg,PASSWOR ogg</code>

<code>DISCARDFILE ./dirrpt/RINIaa.dsc,PURGE</code>

<code>MAP scott.emp_ogg,TARGET scott.emp_ogg;</code>

<code>注意:在源端啟動eini_1 process,目标端rini_1 process将會被自動啟動</code>

<code>添加replicate checkpoint table</code>

<code>GGSCI (rh6.cuug.net) </code><code>1</code><code>&gt; edit params ./GLOBALS</code>

<code>CHECKPOINTTABLE ogg.oggchkpt</code>

<code>GGSCI (rh6.cuug.net) </code><code>2</code><code>&gt; exit</code>

<code>必須退出ggsci,checkpoint table 才會生效</code>

<code>GGSCI (rh6.cuug.net) </code><code>1</code><code>&gt; dblogin userid ogg,password ogg</code>

<code>GGSCI (rh6.cuug.net) </code><code>2</code><code>&gt; add checkpointtable</code>

<code>No checkpoint table specified, using GLOBALS specification (ogg.oggchkpt)...</code>

<code>Successfully created checkpoint table ogg.oggchkpt.</code>

<code>添加replicate group</code>

<code>GGSCI (rh6.cuug.net) </code><code>4</code><code>&gt; add replicat rora_1,exttrail ./dirdat/pa</code>

<code>編輯replicate parameterfile</code>

<code>GGSCI (rh6.cuug.net) </code><code>5</code><code>&gt; edit param rora_1</code>

<code>REPLICAT RORA_1</code>

<code>USERID ogg,PASSWORD ogg</code>

<code>HANDLECOLLISIONS</code>

<code>DISCARDFILE ./dirrpt/RORA_aa.DSC,PURGE</code>

<code>MAP scott.oem_ogg,TARGET scott.emp_ogg;</code>

<code>啟動replicate process</code>

<code>GGSCI (rh6.cuug.net) </code><code>7</code><code>&gt; start replicat rora_1</code>

<code>REPLICAT RORA_1 starting</code>

<code>GGSCI (rh6.cuug.net) </code><code>10</code><code>&gt; info replicat rora_1</code>

<code>REPLICAT   RORA_1    Last Started </code><code>2014</code><code>-09</code><code>-10</code> <code>15</code><code>:</code><code>53</code>   <code>Status RUNNING</code>

<code>Checkpoint Lag       </code><code>00</code><code>:</code><code>00</code><code>:</code><code>00</code> <code>(updated </code><code>00</code><code>:</code><code>00</code><code>:</code><code>05</code> <code>ago)</code>

<code>GGSCI (rh6.cuug.net) </code><code>9</code><code>&gt; info all</code>

<code>REPLICAT    RUNNING     RORA_1      </code><code>00</code><code>:</code><code>00</code><code>:</code><code>00</code>      <code>00</code><code>:</code><code>00</code><code>:</code><code>00</code>

5、同步測試

<code>source:</code>

<code>16</code><code>:</code><code>27</code><code>:</code><code>33</code> <code>SCOTT@ prod &gt;select * </code><code>from</code> <code>emp_ogg;</code>

<code>     </code><code>EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO</code>

<code>---------- ---------- --------- ---------- --------- ---------- ---------- ----------</code>

<code>      </code><code>7369</code> <code>SMITH      CLERK           </code><code>7902</code> <code>17</code><code>-DEC</code><code>-80</code>        <code>800</code>                    <code>20</code>

<code>      </code><code>7499</code> <code>ALLEN      SALESMAN        </code><code>7698</code> <code>20</code><code>-FEB</code><code>-81</code>       <code>1600</code>        <code>300</code>         <code>30</code>

<code>      </code><code>7521</code> <code>WARD       SALESMAN        </code><code>7698</code> <code>22</code><code>-FEB</code><code>-81</code>       <code>1250</code>        <code>500</code>         <code>30</code>

<code>      </code><code>7566</code> <code>JONES      MANAGER         </code><code>7839</code> <code>02</code><code>-APR</code><code>-81</code>       <code>2975</code>                    <code>20</code>

<code>      </code><code>7654</code> <code>MARTIN     SALESMAN        </code><code>7698</code> <code>28</code><code>-SEP</code><code>-81</code>       <code>1250</code>       <code>1400</code>         <code>30</code>

<code>      </code><code>7698</code> <code>BLAKE      MANAGER         </code><code>7839</code> <code>01</code><code>-MAY</code><code>-81</code>       <code>2850</code>                    <code>30</code>

<code>      </code><code>7782</code> <code>CLARK      MANAGER         </code><code>7839</code> <code>09</code><code>-JUN</code><code>-81</code>       <code>2450</code>                    <code>10</code>

<code>      </code><code>7788</code> <code>SCOTT      ANALYST         </code><code>7566</code> <code>19</code><code>-APR</code><code>-87</code>       <code>3000</code>                    <code>20</code>

<code>      </code><code>7839</code> <code>KING       PRESIDENT            </code><code>17</code><code>-NOV</code><code>-81</code>       <code>5000</code>                    <code>10</code>

<code>      </code><code>7844</code> <code>TURNER     SALESMAN        </code><code>7698</code> <code>08</code><code>-SEP</code><code>-81</code>       <code>1500</code>          <code>0</code>         <code>30</code>

<code>      </code><code>7876</code> <code>ADAMS      CLERK           </code><code>7788</code> <code>23</code><code>-MAY</code><code>-87</code>       <code>1100</code>                    <code>20</code>

<code>      </code><code>7900</code> <code>JAMES      CLERK           </code><code>7698</code> <code>03</code><code>-DEC</code><code>-81</code>        <code>950</code>                    <code>30</code>

<code>      </code><code>7902</code> <code>FORD       ANALYST         </code><code>7566</code> <code>03</code><code>-DEC</code><code>-81</code>       <code>3000</code>                    <code>20</code>

<code>      </code><code>7934</code> <code>MILLER     CLERK           </code><code>7782</code> <code>23</code><code>-JAN</code><code>-82</code>       <code>1300</code>                    <code>10</code>

<code>14</code> <code>rows selected.</code>

<code>16</code><code>:</code><code>27</code><code>:</code><code>41</code> <code>SCOTT@ prod &gt;update emp_ogg set deptno=</code><code>40</code> <code>where</code> <code>empno=</code><code>7788</code><code>;</code>

<code>1</code> <code>row updated.</code>

<code>16</code><code>:</code><code>28</code><code>:</code><code>06</code> <code>SCOTT@ prod &gt;commit;</code>

<code>Commit complete.</code>

<code>target:</code>

<code>16</code><code>:</code><code>26</code><code>:</code><code>31</code> <code>SCOTT@ prod &gt;truncate table emp_ogg;</code>

<code>Table truncated.</code>

<code>16</code><code>:</code><code>26</code><code>:</code><code>44</code> <code>SCOTT@ prod &gt;select * </code><code>from</code> <code>emp_ogg;</code>

<code>no rows selected</code>

<code>16</code><code>:</code><code>28</code><code>:</code><code>23</code> <code>SCOTT@ prod &gt;/</code>

<code>      </code><code>7788</code> <code>SCOTT      ANALYST         </code><code>7566</code> <code>19</code><code>-APR</code><code>-87</code>       <code>3000</code>                    <code>40</code>

@至此,目标端同源端的資料同步成功,OGG的單向傳輸基本配置完成!

本文轉自 客居天涯 51CTO部落格,原文連結:http://blog.51cto.com/tiany/1551263,如需轉載請自行聯系原作者