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的好处是在大批量的数据复制环境中,可以使用同一参数文件,通过环境变量来适应不同的主机,提升了维护性,也便于批量拷贝部署。

使用变量替换批量部署GoldenGate的更多相关文章

  1. Office 365 系列二 ------- 如何批量部署Office 客户端

    针对于第一篇文章所讲的,我们最用使用用户可以单个点击进行安装,但是如果我们终端用户太多的情况,不可能大家都点击单个文件进行安装了,这样子既耗费时间也耗费 公司的网络带宽,那么我们可以采取离线下载的方式 ...

  2. Cobbler自动化批量部署CentOS6.5系统

    Cobbler作为一个预备工具,使批量部署Red Hat/Centos/Fedora系统更容易,同时也支持Suse和Debian系统的部署. 它提供以下服务集成: * PXE服务支持 * DHCP服务 ...

  3. centos7使用cobbler(2.8)批量部署操作系统之一

    一.    批量部署操作系统的前提 要想批量部署操作系统,得具备以下条件: 客户机支持pxe网络引导 服务器端和客户端建立网络通信(DHCP) 服务器端要有可供客户机开机引导的引导文件 服务器端的可引 ...

  4. 自学Zabbix9.4 zabbix low-level discover底层发现(zabbix批量部署必备)

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix9.4 zabbix low-level discover底层发现(zabbix批 ...

  5. 批量部署Hadoop集群环境(1)

    批量部署Hadoop集群环境(1) 1. 项目简介: 前言:云火的一塌糊涂,加上自大二就跟随一位教授做大数据项目,所以很早就产生了兴趣,随着知识的积累,虚拟机已经不能满足了,这次在服务器上以生产环境来 ...

  6. Ansible批量部署工具

    Ansible:自动化运维工具 你需要在一台机器上yum install 一个包,这时候有一个需求,比如现在有5台机同时需要装apache这个包,那么100台呢,ssh上去就太慢了,这时候就借助到了a ...

  7. 使用Playbook批量部署多台LAMP环境

    1. 安装ansible yum install epel-release -y yum install ansible -y Playbook是一个不同于使用ansible命令行执行方式的模式,功能 ...

  8. SSH批量部署服务

    SSH批量部署服务 1.1在NFS上作为中心分发服务器将私钥分发到其他服务器上 1.1.1NFS部署 [root@nfs-server ~]# useradd zhurui [root@nfs-ser ...

  9. Oracle的SQL语句中的变量替换

    一.问题描述 如下SQL: INSERT INTO tmp(val)VALUES('a&b'); 执行过程中会出现如下提示: 点击"确定"过后我们查看表中的数据: b后面的 ...

随机推荐

  1. LF CRLF

    在git提交的时候 有时候会提示这个 LF will be replaced by CRLF 这是因为window的结束符是:回车和换行 crlfmac和linux的结束符是 lf, 于是当代码在这两 ...

  2. js简单模仿队列

    window.meng = window.meng || {}; (function () { var items = []; meng.queue = { /** * * @param {Funct ...

  3. Azure 云平台用 SQOOP 将 SQL server 2012 数据表导入 HIVE / HBASE

    My name is Farooq and I am with HDinsight support team here at Microsoft. In this blog I will try to ...

  4. 工作日志 jquery slideDown slideUp

    jquery里面使用 slideDown 和  slideUp会有一个像素的偏差

  5. python 电影下载链接爬虫

    V1.0 功能:从比较知名的几个电影下载网站爬取下载链接,并自动打印出来: 代码: # -*- coding: utf8 -*- from bs4 import BeautifulSoup impor ...

  6. Merkle Tree学习

    /*最近在看Ethereum,其中一个重要的概念是Merkle Tree,以前从来没有听说过,所以查了些资料,学习了Merkle Tree的知识,因为接触时间不长,对Merkle Tree的理解也不是 ...

  7. poj1190 生日蛋糕(深搜+剪枝)

    题目链接:poj1190 生日蛋糕 解题思路: 深搜,枚举:每一层可能的高度和半径 确定搜索范围:底层蛋糕的最大可能半径和最大可能高度 搜索顺序:从底层往上搭蛋糕,在同一层尝试时,半径和高度都是从大到 ...

  8. 137. Single Number II——问题是查找,本质是hash查找,只是记录的是32 bit中各个位出现次数而已

    Given an array of integers, every element appears three times except for one. Find that single one. ...

  9. Stylus Studio的安装与卸载

  10. visual2012 快捷键

    代码格式化:Ctrl+K+D 注释:VS2010是(Ctrl+E,C),VS2012是(Ctrl+K, Ctrl+C) 反注释:VS2010是(Ctrl+E,U),VS2012是(Ctrl+K, Ct ...