使用变量替换批量部署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后面的 ...
随机推荐
- aspcms标签使用经验
1.调用导航栏标签写法,sort是网站后台栏目管理的编号{aspcms:type sort=19} <a href="[type:link]" title="[ty ...
- [maven] 跳过单元测试
1.mvn命令 $ mvn install -Dmaven.test.skip=true 2.通过配置pom <project> [...] <build> <plugi ...
- Java初学之华容道游戏
package hhuarongdao; public class example { public static void main(String args[]) { new Hua_Rong_Ro ...
- Java 流笔记
BufferedReader 从字符输入流中读取文本,缓冲各个字符,从而实现字符.数组和行的高效读取.操作: Reader BufferedWriter 将文本写入字符输出流,缓冲各个字符,从而提供单 ...
- 5月18日 HTML 个人简历
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JavaScript实现冒泡排序、快速排序、插入排序
JavaScript实现冒泡排序.快速排序.插入排序 时间:2014-01-09 18:05:51 来源: 作者:胡晗 冒泡排序的基本思想:所谓冒泡就是泡泡一个一个往上冒,让体积最轻的泡泡浮在最上 ...
- AJAX是什么? AJAX的交互模型(流程)?同步和异步的区别? AJAX跨域的解决办法?
AJAX是什么? AJAX的交互模型(流程)?同步和异步的区别? AJAX跨域的解决办法? 分类: web前端面试题2013-07-20 22:40 630人阅读 评论(0) 收藏 举报 目录(? ...
- CI框架 输入类
1.$this->input->post() 第一个参数是所要取得的post中的数据: $this->input->post('some_data'); 如果数据不存在,方法将 ...
- JVM优化之调整大内存分页(LargePage)
转自:http://cjjwzs.iteye.com/blog/1059381 本文将从内存分页的原理,如何调整分页大小两节内容,向你阐述LargePage对JVM的性能有何提升作用,并在文末点明了大 ...
- RAID在数据库存储上的应用-转
随着单块磁盘在数据安全.性能.容量上呈现出的局限,磁盘阵列(Redundant Arrays of Inexpensive/Independent Disks,RAID)出现了,RAID把多块独立的磁 ...