使用變數替換批量部署GoldenGate

margiex發表於2014-11-11

 

GoldenGate執行時允許在引數檔案中動態指定一個值,即在引數檔案中使用一個變數,而不是一個靜態的值,當啟動OGG程式時,根據環境動態載入此變數的值,達到在不同環境中,通過變數定義,實現多個環境的相同配置部署。對於一對多或多對一的場景,此配置可以降低維護的複雜性。

如下,是一個標準的data pump引數設定:

extract peast

rmthost oelora114, mgrport 15051

rmttrail ./dirdat/pe

passthru

table east.*;

在上面的引數中,我們將目標端主機、埠、遠端佇列檔案字首等都寫死在了配置檔案中,但如果我們要從開發環境遷移到測試環境,或繼續遷移到生產環境,是否又把引數檔案重改一遍呢?這還只是只有幾臺主機的環境,如果有幾十臺或上百臺呢,維護量和保持一致性就是個大問題。此時,使用引數變數化將可以解決此問題。

下面,我們修改data pump程式為:

extract peast

rmthost ?OGGTarget, mgrport ?OGGListener

rmttrail ?TrailPIEAST

passthru

table ?PIEASTList;

? 表示此單詞對應的是一個變數,當OGG啟動程式時,OGG將從作業系統的環境變數中獲取值,如果作業系統中沒有建立這些環境變數,OGG程式將會abended.

下面是本文示例中設定的環境變數:

[oracle@oelora114 ~]$ echo $OGGTarget $OGGListener $TrailPIEAST $PIEASTList

oelora114 15051 ./dirdat/pe east.*

為了讓變數替換生效,輸入GGSCI進入命令列,如果MGR程式在環境變數設定之前啟動,則需要重啟MGR程式,這樣才能保證環境變數的值能獲取到。

GGSCI (oelora114) 3> stop mgr !

Sending STOP request to MANAGER ...

Request processed.

Manager stopped.

 

GGSCI (oelora114) 4> start mgr

Manager started.

 

GGSCI (oelora114) 5> start peast

 

Sending START request to MANAGER ...

EXTRACT P_IEAST starting

 

GGSCI (oelora114) 6> status peast

EXTRACT P_IEAST: RUNNING

如果檢視pump程式的日誌報告,可以看到變數已經被替換設定的值:

GGSCI (oelora114) 7> view report peast

 

***********************************************************************

                 Oracle GoldenGate Capture for Oracle

 Version 12.1.2.0.0 17185003 OGGCORE_12.1.2.0.0_PLATFORMS_130924.1316_FBO

   Linux, x64, 64bit (optimized), Oracle 11g on Sep 25 2013 00:44:16

 

Copyright (C) 1995, 2013, Oracle and/or its affiliates. All rights reserved.

 

                    Starting at 2014-04-08 10:00:41

***********************************************************************

 

Operating System Version:

Linux

Version #1 SMP Wed Jul 17 10:58:36 PDT 2013, Release 2.6.32-400.29.2.el5uek

Node: oelora114

Machine: x86_64

                         soft limit   hard limit

Address Space Size   :    unlimited    unlimited

Heap Size            :    unlimited    unlimited

File Size            :    unlimited    unlimited

CPU Time             :    unlimited    unlimited

 

Process id: 11136

 

Description:

 

***********************************************************************

**            Running with the following parameters                  **

***********************************************************************

 

2014-04-08 10:00:41 INFO    OGG-03059 Operating system character set identified as UTF-8.

 

2014-04-08 10:00:41 INFO    OGG-02695 ANSI SQL parameter syntax is used for parameter parsing.

extract peast

rmthost oelora114, mgrport 15051

?OGGTarget = oelora114

?OGGListener = 15051

rmttrail ./dirdat/pe

?TrailPIEAST = ./dirdat/pe

passthru

table east.*;

?PIEASTList = east.*

在上面的日誌中,可以看到變數已經被替換為當前作業系統中的環境變數對應的值。

使用變數替換部署OGG的好處是在大批量的資料複製環境中,可以使用同一引數檔案,通過環境變數來適應不同的主機,提升了維護性,也便於批量拷貝部署。


相關文章