使用变量替换批量部署GoldenGate
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的更多相关文章
- Office 365 系列二 ------- 如何批量部署Office 客户端
针对于第一篇文章所讲的,我们最用使用用户可以单个点击进行安装,但是如果我们终端用户太多的情况,不可能大家都点击单个文件进行安装了,这样子既耗费时间也耗费 公司的网络带宽,那么我们可以采取离线下载的方式 ...
- Cobbler自动化批量部署CentOS6.5系统
Cobbler作为一个预备工具,使批量部署Red Hat/Centos/Fedora系统更容易,同时也支持Suse和Debian系统的部署. 它提供以下服务集成: * PXE服务支持 * DHCP服务 ...
- centos7使用cobbler(2.8)批量部署操作系统之一
一. 批量部署操作系统的前提 要想批量部署操作系统,得具备以下条件: 客户机支持pxe网络引导 服务器端和客户端建立网络通信(DHCP) 服务器端要有可供客户机开机引导的引导文件 服务器端的可引 ...
- 自学Zabbix9.4 zabbix low-level discover底层发现(zabbix批量部署必备)
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix9.4 zabbix low-level discover底层发现(zabbix批 ...
- 批量部署Hadoop集群环境(1)
批量部署Hadoop集群环境(1) 1. 项目简介: 前言:云火的一塌糊涂,加上自大二就跟随一位教授做大数据项目,所以很早就产生了兴趣,随着知识的积累,虚拟机已经不能满足了,这次在服务器上以生产环境来 ...
- Ansible批量部署工具
Ansible:自动化运维工具 你需要在一台机器上yum install 一个包,这时候有一个需求,比如现在有5台机同时需要装apache这个包,那么100台呢,ssh上去就太慢了,这时候就借助到了a ...
- 使用Playbook批量部署多台LAMP环境
1. 安装ansible yum install epel-release -y yum install ansible -y Playbook是一个不同于使用ansible命令行执行方式的模式,功能 ...
- SSH批量部署服务
SSH批量部署服务 1.1在NFS上作为中心分发服务器将私钥分发到其他服务器上 1.1.1NFS部署 [root@nfs-server ~]# useradd zhurui [root@nfs-ser ...
- Oracle的SQL语句中的变量替换
一.问题描述 如下SQL: INSERT INTO tmp(val)VALUES('a&b'); 执行过程中会出现如下提示: 点击"确定"过后我们查看表中的数据: b后面的 ...
随机推荐
- 如何设置session过期时间为30分钟
今天在我的微博(Laruence)上发出一个问题: 我在面试的时候, 经常会问一个问题: “如何设置一个30分钟过期的Session?”, 大家不要觉得看似简单, 这里面包含的知识挺多, 特别适合考察 ...
- Android日常开发60条经验
1. 全部Activity可继承自BaseActivity,便于统一风格与处理公共事件,构建对话框统一构建器的建立,万一需要整体变动,一处修改到处有效. 2. 数据库表段字段常量和SQL逻辑分离,更清 ...
- R语言描述性统计常用函数
- Flask中mongodb实现flask_login保持登录
最近在学习Flask,使用flask-login时,一直无法完成保持登录的状态,网上的例子都是使用SQLAlchemy,但是我用的是mongodb. 网上的例子使用SQLAlchemy时,定义User ...
- (08)odoo继承机制
* 全局的引用 所有的的模型定义外,都在注册中心注册了,我们可以用全局变量来引用这些模型 self.env[mode name] 比如得到合作伙伴这个模型 self.evn['res.pa ...
- hdu----(5056)Boring count(贪心)
Boring count Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- Java 集合系列 09 HashMap详细介绍(源码解析)和使用示例
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- MySql与SqlServer的一些常用用法的差别
MySql与SqlServer的一些常用用法的差别 本文为转载 本文将主要列出MySql与SqlServer不同的地方,且以常用的存储过程的相关内容为主. 1. 标识符限定符 SqlServer [] ...
- Chrome开发,debug的使用方法。(转)
怎样打开Chrome的开发者工具? 你可以直接在页面上点击右键,然后选择审查元素: 或者在Chrome的工具中找到: 或者,你直接记住这个快捷方式: Ctrl+Shift+I (或者Ctrl+Shif ...
- 318. Maximum Product of Word Lengths ——本质:英文单词中字符是否出现可以用26bit的整数表示
Given a string array words, find the maximum value of length(word[i]) * length(word[j]) where the tw ...