GoldenGate的基本配置流程

如此相信發表於2022-03-09

GoldenGate的基本配置流程

本例子也是參考其他前輩的文件整理而成。例子中包含了DDL的同步。

平臺與環境
源端: 
   作業系統: Window 7 64bit. 需要設定環境變數 ORACLE_HOME, ORACLE_SID
   資料庫: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
  GoldenGate:  
      Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230
      Windows x64 (optimized), Oracle 11g on Apr 23 2012 04:55:02
目標端: 
  作業系統: Window 7 32bit. 需要設定環境變數 ORACLE_HOME, ORACLE_SID
   資料庫: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 32bit Production
  GoldenGate: 
      Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230
      Windows, Oracle 11g on Apr 23 2012 04:55:02
必須確保源端資料庫執行於歸檔日誌模式:
開啟歸檔日誌模式:

SQL> archive log list

SQL> shutdown immediate

SQL> startup mount

SQL> alter database archivelog;

SQL> alter database open



開啟force logging:
   SQL> select force_logging from v$database;

 

FOR

---

NO

 

SQL> alter database force logging;

 

Database altered.

 

SQL> select force_logging from v$database;

 

FOR

---

YES

 開啟supplemental log

SQL> select supplemental_log_data_min from v$database;

 

SUPPLEME

--------

NO

 

SQL> alter database add supplemental log data;

 

Database altered.

切換日誌使更改生效:
   SQL> alter system switch logfile;

 

System altered.

 

SQL> select supplemental_log_data_min from v$database;

 

SUPPLEME

--------

YES

11gR2版本Oracle資料庫已經不需要關閉回收站
1. 下載最新版本的GoldenGate壓縮包。源端跟目標端都需要安裝。解壓到C:\ggs
     啟動命令列,切換到c:\ggs目錄下,執行ggsci, 輸入create subdirs.這樣就完成了安裝。
     Windows 7, Windows 2008平臺需要將GoldenGate的Manager程式安裝為服務,否則,可能出現沒有許可權讀取redo log或歸檔日誌的情況(windows 7的oracle目錄檔案許可權問題).
   在命令列環境下,切換到c:\ggs, 執行install addservice. 在管理工具的windows服務列表中會新增一個名為GGSMGR的服務
 2. 建立源端的GoldenGate資料庫使用者
      SQL> create user ggs identified by ggs default tablespace users temporary tablespace temp;

SQL> grant connect ,resource,unlimited tablespace to ggs;

SQL> grant execute on utl_file to ggs;

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

SQL> grant alter any table to ggs;

SQL> grant flashback any table to ggs;

SQL> grant execute on dbms_flashback to ggs;

  如果需要支援DDL同步,在ggs使用者建立完成後,執行以下步驟(所有指令碼都位於c:\ggs目錄下,以DBA賬戶執行):
     SQL> grant execute on utl_file to ggate;
  • marker_setup.sql
  • ddl_setup.sql
  • role_setup.sql
  • Grant the role to all GoldenGate Extract users
    指令碼:grant GGS_GGSUSER_ROLE to ggs
  • ddl_enable.sql
    指令碼最好都在SQL*Plus下執行,有的指令碼執行過程中會要求輸入DDL schema的名稱,本例即ggs
 3. 建立目標端GoldenGate資料庫使用者
     SQL> create user ggs identified by ggs default tablespace users temporary tablespace temp;

SQL> grant dba to ggs

  4. 配置源端的GoldenGate Manager
     命令列,切換到目錄c:\ggs,啟動ggsci, 建立mgr的引數檔案。mgr啟動時會讀取此檔案
     edit params ./GLOBALS
     以下是我的引數檔案內容:
      MGRSERVNAME GGMGR
     checkpointtable ggs.checkpoint --checkpoint的表名
     GGSCHEMA ggs   --DDL複製用
    
     引數檔案mgr:
     edit params mgr
     
      port 7500
     dynamicportlist 7501-7505
     autorestart extract *,waitminutes 2,retries 5
     儲存完成後,可以啟動mgr:
     start mgr
     
    
  5.配置目標端的GoldenGate Manager
    與源端類似,不過GLOBALS的內容為:
       MGRSERVNAME GGMGR
     checkpointtable ggs.checkpoint --checkpoint的表名 
    
    配置引數檔案mgr(mgr程式組所用引數檔案):
     edit params mgr
     port 7500
    dynamicportlist 7501-7505
    autostart er *
    autorestart extract *,waitminutes 2,retries 5
    lagreporthours 1
    laginfominutes 3
    lagcriticalminutes 5
    purgeoldextracts c:\ggs\dirdat\et*,usecheckpoints,minkeepdays 3
      
   6. 配置源端的extract程式組
    edit params eora
   
     extract eora
    dynamicresolution
    userid ggs,password ggs
    DDL INCLUDE ALL --支援DDL操作
    exttrail c:\ggs\dirdat\et
    table scott.*;
   
  其中eora可以改為其他更有意義的名稱
  新增extract程式:
  add extract eora,tranlog,begin now
建立本地 trail 檔案, extract 程式組負責寫這部分檔案, pump 程式負責讀它:
   add exttrail c:\ggs\dirdat\et,extract eora
    start extract eora
   7. 配置源端data pump程式組
     edit param pump_so
    
      extract pump_so
     dynamicresolution
     userid ggs, password ggs
     rmthost 192.168.0.17, mgrport 7500
     rmttrail c:\ggs\dirdat\et
     table scott.*;
    
     192.168.0.17是目標端的IP,7500是埠號
      add extract pump_so,exttrailsource c:\ggs\dirdat\et
      add rmttrail c:\ggs\dirdat\et,extract pump_so
    start extract pump_so
   8. 配置目標端replicat程式組
      edit param rep1

      replicat rep1

userid ggs,password ggs

assumetargetdefs

reperror default,discard

discardfile ./dirrpt/repl.dsc,append,megabytes 50

dynamicresolution

MAP scott.*, target scott.*;

 
  在目標端增加checkpoint table:
   dblogin userid ggs,password ggs
   add checkpointtable ggs.checkpoint
  新增replicat程式組:
    add replicat repl exttrail c:\ggs\dirdat\et, checkpointtable ggs.checkpoint
   start rep1


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70014873/viewspace-2868082/,如需轉載,請註明出處,否則將追究法律責任。

相關文章