GoldenGate实施参考

合集下载

Oracle GoldenGate技术详解

Oracle GoldenGate技术详解

Oracle GoldenGate技术详解<Insert Picture Here>Agenda •Oracle GoldenGate 整体架构•各模块的作用和结构•Filter/Map &转换•初始装载•高可用性结构•使用方法(Oracle Database to Oracle Database )•注意事项Manager源端Trail 文件: 保存变更信息的中间文件Extract (Capture ): 从REDO 日志文件获取变更信息,以最小10ms 间隔读取Redo 日志,将变更信息输出到Trail 文件Extract (Data Pump ): 变更信息的传输读取Trail 文件,将变更信息传输到远端REDO (Archive )日志文件Trail TrailExtract (Data Pump )Replicat端DB源DBNetwork(TCP/IP)Collector ManagerManager:管理GoldenGate 整体各进程的起动/停止、监视/管理Capture (Capture )Collector:接收Extract 传输过来的数据存为Trail 文件远程Trail 文件:保存变更信息的中间文件Replicat: 从Trail 文件获得变更信息,转换成目标DB 的SQL 语句在目标DB 上运行(以行为单位)TrailTrailExtractExtractReplicat端DB源DB Network (TCP/IP)Collector双向可同等配置,实现双向复制TrailTrailExtractExtractReplicat源DBNetwork (TCP/IP)CollectorTrailTrailCollectorExtractNetwork (TCP/IP)Oracle GoldenGate 的部署通过Capture/Data Pump、Replicat的各种组合灵活配置多主复制单向双向(Active-Active)分发集中多层分发<Insert Picture Here>Agenda •Oracle GoldenGate 整体架构•各模块的作用和结构•Filter/Map &转换•初始装载•高可用性结构•使用方法(Oracle Database to Oracle Database )•注意事项各模块结构TrailTrailExtract (主)Extract (Data Pump )Replicat端DB源DBNetwork(TCP/IP)Collector ManagerManagerExtract (Capture )-获取DB 的变更信息的变更信息--Extract (Capture )Extract (Capture )‐Extract 的两个功能的两个功能‐‐Extract(Capture)源DBREDO归档日志Trail 文件(本地本地))Extract (data Pump )Trail 文件(远程远程))Trail 文件(远程远程))Network (TCP/IP)Network (TCP/IP)•Extract 的功能•Capture从REDO/归档日志取得DB 的变更信息输出到Trail 文件•Data Pump将Trail 文件传输到远端机器Extract (Capture )‐DB 变更信息的获取变更信息的获取((1)-Extract源DBREDO归档日志•变更信息的来源在线REDO 日志(缺省)归档日志(Windows 环境的缺省)•取得的信息主键(或唯一键)的值 变更前后的值•注意:数据库并不要求必须是归档模式附加日志模式下主键和变更值输出到REDO 日志将DB 设为附加日志模式(将主键的值输出到REDO 日志日志))変更変更值值+主键值Extract (Capture )‐DB 变更信息的获取变更信息的获取((2)-Extract (Capture )源DBREDO归档日志•获取方法•以一定间隔读取REDO 日志,获取变更信息•间隔:用参数(EOFDELAY or EOFDELAYCSECS )设置•缺省:1秒、最小:10 毫秒•变更信息的输出•输出位置:本地或者远程的Trail 文件•输出时机:满足以下任一条件•Extract 的缓冲区(内存)写满的话•设置参数(FLUSHSECS or FLUSHCSECS )来指定间隔•缺省:1秒、最小:10毫秒最小最小以以10毫秒间隔定期获取变更信息缓冲缓冲((内存内存))写满or最小最小以以10毫秒间隔输出Trail 文件Extract(Capture)‐双向复制双向复制•双向复制场合的注意事项•为避免重复应用、应设置不捕获GoldenGate(Replicat)的SQL语句通过Extract(Capture)的参数可指定GETAPPLOPS /IGNOREAPPLOPS指定捕获/忽略Replicat以外的更新数据库进程的动作GETREPLICATES /IGNOREREPLICATES指定捕获/忽略Replicat对数据库的更新动作各组件的结构Trail Trail Replicat端DB源DBNetwork (TCP/IP)Collector (Server)Manager ManagerExtract (Data Pump )→ Collector-数据库变更信息的收发-Data Pump &CollectorExtract (Capture )Extract (Data Pump )Collector‐变更信息的收发变更信息的收发‐‐Extract(Data Pump )Trail 文件Network (TCP/IP)从Extract 向Collector 发送、输出Trail 文件•发送间隔:满足以下任一条件•缓存写满的时候Extract 的RMHOST 参数(TCPBUFSIZE 选项)可指定缓存尺寸缺省:30,000Byte•参数(FLUSHSECS or FLUSHCSECS )的指定间隔缺省:1秒、最小:10毫秒数据•发送时数据可压缩CollectorManager①请求②起动(动态分配端口动态分配端口,,起动进程起动进程))Data Pump‐变更信息的发送变更信息的发送((两种方式两种方式))‐Extract(Capture )Trail 文件(本地本地))Extract (data Pump )Trail 文件(远程远程))Trail 文件(远程远程))Network(TCP/IP)Network (TCP/IP)方式1:另外起动发送专用的Extract (即Data Pump )•先保存到本地的Trail 文件然后发送方式2:一个Extract 兼Capture 和Data Pump 之职•从REDO 日志取得信息然后直接向远端发送REDO方式2方式1CollectorCollectorData Pump‐多个目标发送(两种方式两种方式))‐ExtractTrail文件(本地本地))Extract(data Pump)Trail文件(远程远程))Trail文件(远程远程))Network(TCP/IP)方式2:采用一个Data Pump向多个目标发送的方式有一个进程停止的话就整体停止Extract Trail文件(本地本地))Extract(data Pump)Trail文件(远程远程))Trail文件(远程远程))Network(TCP/IP)推荐方式1:每个目标起动一个Data Pump的方式一个进程停止的话也不会影响整体CollectorCollectorCollectorCollector各部件的结构Trail TrailReplicat端DB源DBNetwork(TCP/IP)Collector Manager ManagerReplicat-应用到数据库-ReplicatExtract (Capture )Extract (Data Pump )Replicat ‐Replicat 的功能‐•Replicat 的功能•从Trail 文件生成SQL 语句在目标DB 执行•以变更的行为单位生成SQL 语句、执行•基于主键(或唯一键)和变更前的值(可选)更新(主键或唯一键的值是在源端通过附加日志方式从日志中获得)TrailReplicat端DB各部件结构Trail TrailReplicat端DB源DBNetwork(TCP/IP)CollectorManagerManagerManager-GoldenGate 整体的监控/管理-ManagerExtract (Capture )Extract (Data Pump )ManagerManager ‐GoldenGate 整体的监控/管理‐•Manager 的作用Trail 文件的管理•Trail 文件的生成/删除 进程的监控/管理•定期监控进程•进程的启动/停止、再启动 GoldenGate 整体的监控/报表执行用户的命令TrailTrailReplicat端DBNetwork (TCP/IP)CollectorExtract (Capture )Extract (Data Pump )源DBManagerManagerManager整体的监控/管理 ‐ GoldenGate整体的监控 管理 ‐ 整体的监控• Manager与各部件之间通信 • UI ⇔ Manager : TCP/IP • Extract/Replicat ⇔ Manager(本地) :共享内存• 各进程状况(如处理完的检查点等等)都保存在共享内存, Manager查询后产生相关报表• Extract(Data Pump)⇔ Manager(远端):TCP/IPGGSCI(命令行) or GUI (命令行)TCP/IP参考处理状況生成报表 参考处理状況生成报表 状況 共享内存 ・进程状况状况随时更新ManagerExtract/Replicat21Agenda • • • • • • • Oracle GoldenGate 整体架构 各模块的作用和结构 <Insert Picture Here> Filter/Map & 转换 初始装载 高可用性结构 使用方法(Oracle Database to Oracle Database) 注意事项22Filter/Map&变换 &• 可以配置Filter/Map以及变换的部件 Capture(推荐) Data Pump ReplicatFilter/Map & Transform Filter/Map & Transform Filter/Map & TransformNetwork (TCP/IP) DB Extract Trail Extract (Capture) ) (Data Pump) ) Collector Trail Replicat 端DB23Filter/Map&变换 & • 可配置的Filter/Map&变换(1)表:以表为单位指定例:MAP scott.emp TARGET james.emp MAP scott.* TARGET james.* (支持通配符)列:仅指定特定的列例:MAP scott.emp TARGET james.emp COLS (empno, ename) MAP scott.emp TARGET james.emp COLEXCEPT (salgrade)24Filter/Map&变换 &• 可配置的Filter/Map&变换(2) 行:指定满足特定条件的行 可以在特定操作(UPDATE或者INSERT等等)时来应用Filter 条件中可指定GoldenGate的函数和宏例:MAP scott.emp TARGET james.emp WHERE (sal > 100000); MAP scott.emp TARGET james.emp FILTER(ON UPDATE, @COMPUTE (sal * 100) > 100000);数据变换:可以对列进行映射和列值的变换 数据变换可以利用GoldenGate的函数和宏例:MAP hr.contact, TARGET hr.phone, COLMAP (USEDEFAULTS, name = cust_name, phone_number= @STRCAT( “(”, area_code, “)”, ph_prefix, “-”, ph_number) );注意: 注意:不支持多字节的列名或文字串作为条件25函数 • 主要函数 • 条件判断函数IF, CASE, EVAL, VALONEOF 等 例:FILTER (@IF (sal > 100, sal, 0) >100);• 文字列/数値操作函数COMPUTE, STRCAT, STRCMP, STRLEN, STRFIND等 注意: 注意:不支持对多字节文字列进行操作 例:FILTER (@STRLEN(ename ) > 40);• 日期函数DATE, DATENOW等 例:FILTER (hiredate > @DATENOW);26Agenda • • • • • • • Oracle GoldenGate 整体架构 各模块的作用和结构 <Insert Picture Here> Filter/Map & 转换 初始装载 高可用性结构 使用方法(Oracle Database to Oracle Database) 注意事项27初始装载( 初始装载(Init Load) ) • 初始装载的方法 • 利用数据库的功能• 传输表空间、备份/恢复、exp/imp等• 利用GoldenGate的功能GoldenGate的功能 的功能 File to Replicat File to Database Utility Direct load Direct bulk load Extract 的输出 Trail (GoldenGate格式) 文本文件 向Replicat直接传输 向Replicat直接传输 装载的方法 Replicat (SQL) Database utility Replicat(SQL) Replicat (SQL*Loader API)28在线初始化装载举例 • GoldenGate内部是按CSN(Change Sequence Number) 来管理事务的顺序的 • 指定CSN将特定时间的变更应用到目标端,以使源和目 标实现同步 • Step1. 在源端开始Capture时的CSN是222当前的CSN= 222CSN=222源DBCaptureTrailPumpTrail端DB29在线初始化装载举例 • Step2. 取得所有的事务的静止点 • Step3. 取得源DB的备份(RMAN Backup/传输表空间等等...) •当前的CSN= 245此时的CSN是245CSN=222开始源DBCaptureTrailPumpTrail 源DBCSN=245时的备份恢复CSN=245时的备份30在线初始化装载举例 • Step4. 通过Replicat从CSN=245开始应用Trail文件 • 与源DB同步到相同的状态,初始化装载结束当前的CSN= 300 CSN=222开始 应用CSN=245~300 部分源DBCaptureTrailPumpTrail 端DBTake Backup as of CSN 245Apply Backup as of CSN 24531Agenda • • • • • • • Oracle GoldenGate 整体架构 各模块的作用和结构 <Insert Picture Here> Filter/Map & 转换 初始装载 高可用性结构 使用方法(Oracle Database to Oracle Database) 注意事项32可用性‐故障解决‐ 故障解决‐• 各种故障的解决方法• GoldeGate的故障 • 进程故障 -> 进程自动重启 • Trail文件故障 -> Checkpoint • GoldenGate以外的故障 • 服务器/DB/网络的故障 -> Checkpoint自動重启 自動重启 自動重启 自動重启源DBExtract Trail Extract (Capture) (Data Pump) ) ) CheckpointNetwork (TCP/IP)Collector TrailReplicat端DBCheckpointCheckpoint33可用性‐进程故障的解决‐ 进程故障的解决‐• 由Manager重启GoldenGate的进程 • 対象进程Extract(Capture/Data Pump) Replicat 注意:Manager进程本身不会重启• 相关配置参数重试次数(缺省=2次) 等待时间(缺省= 20分) 等待重试次数清零的时间(缺省=20分)Manager 重启 重启Network (TCP/IP)Manager 重启源DBExtract Trail Extract (Capture) (Data Pump) ) )Collector TrailReplicat端DB34可用性文件/其他故障的解决 ‐Trail文件 其他故障的解决‐ 文件 其他故障的解决‐ 为解决Trail文件/服务器/网络故障、 GoldenGate使用Checkpoint机制• Checkpoint记录各进程处理到哪个位置的信息• Extract(Capture)最早未提交的事务的位置(SCN) 当前读取的更新位置(SCN) 已写到Trail文件的更新位置(SCN)• Extract(Data Pump)从Trail文件已读到的事务位置(SCN) 记录已写到远程Trail文件的位置• Replicat从Trail文件已读到的事务位置(SCN) 已反映到目标DB的位置• 故障恢复时,会参考Checkpoint从最后的处理位置重新开始35可用性‐Checkpoint‐ ‐最早Open的事务 的事务 最早 (未Commit)的开始点 )Begin, TX 1 Insert, TX 1 Begin, TX 2 Update, TX 1 Insert, TX 2 Commit, TX 2 Begin, TX 3 Insert, TX 3 Begin, TX 4 Commit, TX 3 Delete, TX 4Begin, TX 2 Insert, TX 2 Commit, TX 2Capture CheckpointBegin, TX 3 Insert, TX 3 Commit, TX 3当前Trail File的写 当前 的写 入点 当前的日志读 取点源DBCaptureTrail File36可用性Begin, TX 1 Insert, TX 1 Begin, TX 2 Update, TX 1 Insert, TX 2 Commit, TX 2 Begin, TX 3 Insert, TX 3 Begin, TX 4 Commit, TX 3 Delete, TX 4‐Checkpoint‐ ‐最早Open的事务 的事务 最早 (未Commit)的开始点 ) Pump CheckpointBegin, TX 2 Insert, TX 2 Commit, TX 2Begin, TX 2 Insert, TX 2 Commit, TX 2Capture CheckpointBegin, TX 3 Insert, TX 3 Commit, TX 3当前的Trail 当前的 File的读取点 的读取点当前的Trail 当前的 File的Write 点 的当前Trail File 当前 的写入点 当前的日志读 取点源DBCaptureTrail FilePumpTrail File37可用性‐Checkpoint‐ ‐Begin, TX 1 Insert, TX 1 Begin, TX 2 Update, TX 1 Insert, TX 2 Commit, TX 2 Begin, TX 3 Insert, TX 3 Begin, TX 4 Commit, TX 3 Delete, TX 4最早Open的事务 的事务 最早 (未Commit)的开始点 )Begin, TX 2 Insert, TX 2Pump CheckpointBegin, TX 2 Insert, TX 2 Commit, TX 2Delivery CheckpointCapture CheckpointCommit, TX 2 Begin, TX 3 Insert, TX 3 Commit, TX 3当前的Trail 当前的 File的读取点 的读取点当前的Trail File的 当前的 的 写入点当前的Trail File 当前的 的读取点当前Trail File 当前 的写入点 当前的日志读 取点Capture 源DBTrail FilePumpTrail FileReplicat 端DB38Agenda • • • • • • • Oracle GoldenGate 整体架构 各模块的作用和结构 <Insert Picture Here> Filter/Map & 转换 初始装载 高可用性结构 使用方法(Oracle Database to Oracle Database) 注意事项39安装步骤 • 安装 ① 介质下载包含在Fusion Middleware的Pack中 根据不同平台以及DB安装媒质也不同 源/端的服务器各自都要安装GoldenGate软件② 在安装的机器上解压• 解压到GoldenGate的安装目录 gzip -dc V18159-01.zip | tar -xvo③ 相关目录的生成• 在GoldenGate的安装目录下执行以下脚本 (利用GoldenGate的GGSCI)$ ./ggsci GGSCI () 1> CREATE SUBDIRS EXIT40备注页用GoldenGate 配置复制的例子以下环境下配置GoldenGate 复制•OS :Oracle Enterprise Linux 5、DB :11g R2•源/端主机名:ggdemo01a/ •源/端DB 名:db1 / db2•复制Schema :SCOTT (仅复制DML 操作)•GoldenGate 的DB 用户:用户名=“gg”、密码=”gg”•Capture 名:capdb1、Data Pump 名:pumpdb12、Replicat 名:repdb2•GoldenGate 安装目录:“/oracle/ggs/”Trail Trail Replicat Capture Pump SCOTT 用户源DB (db1)SCOTT 用户端DB(db2)配置步骤Step1.Manager的配置(源/端都要配置)•编辑参数文件•在GGSCI中执行以下命令编辑参数文件GGSCI> EDIT PARAM mgr参数文件例子:PORT 7809 <-Manager使用的端口号(必须)AUTORESTART ER*, WAITMINUTES 1, RETRIES 3<-指定Extract/Replicat进程的自动重启源端配置步骤Step2.源DB 的配置①指定需要复制的对象(在源端)(需要打开表级的附加日志方式)•在GGSCI 中对SCOTT 用户执行以下命令(预先配置ORACLE_HOME 和SID 等环境变量)②附加日志模式的设置(在源端)•用Sqlplus 登录到源DB 执行以下命令(需要用有ALTER SYSTEM 权限的用户登录)GGSCI> DBLOGIN USERID gg, PASSWORD ggGGSCI> ADD TRANDATA scott.*SQL>ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;SQL>ALTER SYSTEM SWITCH LOGFILE;Capture配置步骤Step3.Capture的配置(GGSCI中执行)①启动ManagerGGSCI> START MGR②增加Capture任务(capdb1)GGSCI> ADD EXTRACT capdb1, TRANLOG, BEGIN NOW③本地Trail文件的位置指定GGSCI> ADD EXTTRAIL /oracle/ggs/dirdat/lt, EXTRACT capdb1Capture 配置步骤配置步骤((续)④配置参数文件参数文件例-EXTRACT :Extract (Capture )名-SETENV :环境参数的配置(指定ORACLE_HOME 和SID )-USERID gg, PASSWORD gg :GoldenGate 使用的DB 用户名密码-EXTTRAIL /oracle/ggs/dirdat/lt :本地Trail 文件目录以及Prefix-TABLE :复制对象(用Schema.Table 名指定。

GoldenGate使用指南 -修订版

GoldenGate使用指南 -修订版

部署GoldenGate PUMP方式支持DDL单向复制DDL复制概述:①Goldengate开启DDL复制后,不需要对原有的表和以后新加的表执行add trandata操作这一点根据经验得出。

②目标端默认支持DDL复制,故目标端Replicat进程参数文件中不需要添加DDL 语句,当然源端Data Pump进程参数文件中也不需要加DDL相关的参数③开启DDL复制后,目标端Replicat进程参数文件中必须配置忽略或者过滤DDLERROR的参数④Goldengate数据库(dblogin userid xxx)用户和Oracle数据库自带的用户的DDL 操作将不会被复制⑤当开启Full DDL支持时,不要在参数文件中使用GETTRUNCATES参数⑥默认情况下ALTER DATABASE、ALTER SYSTEM不会被复制⑦注意:在target DB上,ggsusr必须授予DBA的角色给他,否则dblogin登录不了数据库注:红色字体是不需要操作的步骤下图是这次配置架构图:一、软件安装(这两步源端和目标端步骤一样)安装平台:redhat linux x86 32bitgoldengate:Oracle_GoldenGate_V11.1.1.1.0_for_Oracle_11g_on_Linux_x86 oracle版本:11.2.0.1.0(建议使用oracle用户安装goldengate)解压软件cd /u01/app上传V26188-01.zip到/u01/app目录$unzip V26188-01.zip$mkdir oggchown -R oracle:oinstall fbo_ggs_Linux_x86_ora11g_32bit.tarchmod 755 fbo_ggs_Linux_x86_ora11g_32bit.tarmv fbo_ggs_Linux_x86_ora11g_32bit.tar ./oggcd ogg[oracle@hxzg1 ogg]$ tar –xvf fbo_ggs_Linux_x86_ora11g_32bit.tar设置环境变量export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/u01/app/oggexport PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:/u01/app/ogg[oracle@hxzg1 ~]$ source .bash_profile二、安装goldengate$cd /u01/app/ogg$./ggsci> CREATE SUBDIRS//创建goldengate安装目录> exit至此,goldengate已安装完成。

基于GoldenGate技术实现关键业务容灾的解决方案

基于GoldenGate技术实现关键业务容灾的解决方案
信 息通 信 服 务 来 关 闭 网络 访 问服 务 ,关 闭 容 灾 端 到 生 产 端 Go l d e n G a t e 进 程 。数 据 同步 如 下 : ( 1 ) 在 生 产 系 统 上 运 行 Go l d e n G a t e 捕获进程 , 负 责 实 时 读
武 冬春 : 基 于 Go l d e n G a t e 技 术 实 现 关 键 业 务 容 灾 的 解 决 方 案
不需要人工干预 。
( 2 ) 在生产 系统上还需要运行 Go l d e n Ga t e D a t a P u mp 进程 , 该进程负责将源 队列文件 的内容发送到 目标 队列文件 中 。通 过 压缩机制 ( 最大压缩 比可 以达到 9 : 1 ) , 网络传输 的数据量 , 最佳情况下约为源 队列文件 内容 的 1 / 9 。 ( 3 ) 变化数据 到达 灾备 系统后, 灾备系统 上的 G o l d e n Ga t e 灾 备进 程将实时读取这些交 易变化数据 ,根据其在生产 系统 上 的交易顺序, 完全一致地应用 到灾备系统, 保证 了两 边交易
进 程 将 把变 化 数据 从 源 队列 文 件 压 缩 / 力 口 密 传 输 到 生 产 系 统 的
3 结语
I T系统集中化建设是 电信业务发展的大势所趋 , 越来越
多 的信 息 系 统 采 用 集 中化 方 式 建 设 ,各 种 关键 数据 集 中存 放 是否安全 , 是 目前 急 需 面对 的 问 题 , 本 文通 过 探 讨 基 于 O r a c l e
步 。 因此 , 在 启 用 灾 备 系 统 的 同时 , 需 要 同时 启 动 反 向数 据 同
( 4 )时钟 同步 。必须保证源和 目的数据库 时钟源 的一致 性 ,可统一从第三个节点获取时钟源或者容灾从生产获取时

GoldenGate安装部署实验(笔记)

GoldenGate安装部署实验(笔记)

GoldenGate安装部署实验2014.08目录GoldenGate安装部署实验 (1)1、实验一GoldenGate软件安装 (3)1.1虚拟机环境 (3)1.2 GoldenGate软件安装包下载 (3)1.3 Windows下安装 (4)1.4 Linux和Unix下安装 (4)2、实验二GoldenGate同步基本配置 (5)2.1 oracle之间同步 (5)3、实验三GoldenGate初始化加载 (9)4、实验四数据转换和过滤 (11)5、实验五DDL同步配置 (12)参考文档 (14)1、实验一GoldenGate软件安装在不同的操作系统和平台上安装GoldenGate,需要在官网下载对应的版本。

32位系统和64位系统的安装介质虽然不同,但是在同一OS上安装方式是一样的。

GoldenGate需要解析数据库的日志文件,所以安装位置必须要能访问到日志文件(在线日志和归档文件),并具有相应的权限。

1.1虚拟机环境虚拟机登陆:root/welcome1, oracle /welcome1, ogg/welcome1分别创建目录/app/goldengate/source和/app/goldengate/target代表复制的源端和目标端OGG安装目录。

1.2 GoldenGate软件安装包下载经常有人问我GoldenGate的下载地址,所以在这里专门说明一下。

GoldenGate软件的官方下载地址:/目前只有这个地址能下到对应32位操作系统的安装介质。

首页如下:网页开头点击这个Continue进入下载。

首次进入需要登记一些个人信息,如名字、公司等,然后下方选择同意协议之类的,点Continue进入搜索。

搜索时如下选择:点GO,然后选择对应版本的Oracle GoldenGate下载。

GoldenGate安装包一般只有几十兆的大小,下载还是很快的。

GoldenGate除了同步软件这块,还有其他相关的产品,比如Oracle GoldenGate Director,用于集中图形化管理和监控;Oracle GoldenGate Veridata,用于两端同步数据质量检验。

黄金开发实施方案

黄金开发实施方案

黄金开发实施方案一、背景介绍。

随着社会经济的不断发展,对于黄金资源的开发利用需求也越来越大。

黄金作为一种重要的贵金属,具有很高的经济价值和战略地位。

因此,制定一套科学合理的黄金开发实施方案显得尤为重要。

二、市场调研。

在制定黄金开发实施方案之前,首先需要进行市场调研。

通过对黄金市场供需情况、价格走势、开发技术和环保要求等方面的调查研究,全面了解当前黄金开发的现状和趋势,为后续实施方案的制定提供可靠的数据支持。

三、资源评估。

针对黄金矿区的地质勘探和资源储量评估,需要进行详细的地质勘探工作,确定黄金矿区的地质构造、矿体规模和品位,以及矿区的环境地质特征和水文地质条件。

只有充分了解矿区的地质特征和资源储量,才能有针对性地制定开发方案,提高开采效率,降低开采成本。

四、技术选型。

在确定资源储量的基础上,需要选择适合的开采技术和设备。

根据矿区地质条件和资源特点,选择合适的采矿方法和采矿设备,确保开采效率和安全生产。

五、环保规划。

随着社会对环保要求的提高,黄金开发过程中的环保问题也日益受到重视。

在制定黄金开发实施方案时,需要充分考虑环保规划,采取有效的环保措施,减少对环境的影响,确保绿色可持续发展。

六、安全生产。

黄金开发是一个高风险的行业,安全生产是至关重要的。

在制定实施方案时,需要充分考虑安全生产规划,建立健全的安全管理制度和应急预案,确保生产过程中的安全稳定。

七、成本控制。

制定黄金开发实施方案时,还需要充分考虑成本控制。

通过合理的生产工艺和管理方式,降低开采成本,提高资源利用率,实现经济效益和社会效益的双赢。

八、实施计划。

最后,需要制定详细的实施计划。

明确开发的时间节点、投资规模、人力物力资源配置等方面的具体安排,确保实施方案的顺利实施。

结语。

黄金开发实施方案的制定是一个系统工程,需要全面考虑市场需求、资源评估、技术选型、环保规划、安全生产和成本控制等多个方面的因素。

只有科学合理地制定实施方案,才能实现黄金资源的高效开发利用,实现经济效益和社会效益的最大化。

部分GoldenGate安装配置、常用命令与目标初始化

部分GoldenGate安装配置、常用命令与目标初始化

同步延迟
检查网络状况和数据库性能, 确保数据能够实时同步。
日志异常
检查日志文件,查找异常信息 ,并根据异常信息进行相应的
பைடு நூலகம்处理。
03 Goldengate常用命令
数据采集命令
DG_COMMAND
用于执行数据采集命令,如启动数据采集进程、停止数据采 集进程等。
DG_INFO
用于获取数据采集的详细信息,如数据采集状态、数据采集 进度等。
安装Goldengate服务器
按照安装向导的指示,完成Goldengate服务器的安装。
安装Goldengate客户端
在需要使用Goldengate的客户端计算机上安装Goldengate客户端。
配置Goldengate环境变量
设置Goldengate的环境变量,以便在命令行中调用Goldengate命令。
用于获取数据校验的详细信息,如数据校验状态、数据校验结果等。
其他常用命令
DG_CONFIG
用于配置Goldengate的相关参数,如设置数据采集频率、设置数据同步目标等 。
DG_STATUS
用于获取Goldengate的运行状态,如Goldengate的启动状态、运行日志等。
04 Goldengate目标初始化
无法连接到Goldengate目标数据库 。
解决方案
检查目标数据库的配置是否正确, 包括数据库连接字符串、用户名和 密码等。
02 Goldengate配置
数据源配置
数据源类型
支持多种数据源类型,如Oracle、MySQL、SQL Server等。
连接参数
需要提供数据库的地址、端口、用户名和密码等 连接参数。
集群版部署案例

GoldenGate概念和机制

GoldenGate概念和机制

GoldenGate概念和机制1. OGG有哪些进程ü Manger : manger进程是goldengate的控制进程,分别运⾏在源端和⽬标端上,它主要的作⽤是启动、监控、重启goldengate的其他进程,报告错误及事件,分配数据存储空间,发布阀值报告等。

需要注意的是在源端和⽬标端有且只有⼀个manger 进程。

ü Extract : extract 进程运⾏在数据库源端,负责从源端数据表或⽇志中捕获数据。

Extract的作⽤可以分为两个阶段:①初始数据装载阶段:在初始数据装载阶段,extract进程直接从源端的数据表中抽取数据。

②同步变化捕获阶段:初始化数据完成以后,extract进程负责捕获源端数据的变化(DML和DDL)。

ü Pump : pump进程运⾏在数据库源端,其作⽤是将源端产⽣的本地trail⽂件以数据块的形式通过TCP/IP协议发送到⽬标端,这通常也是推荐的⽅式。

Pump进程本质是extract进程的⼀种特殊形式,如果不使⽤trail⽂件,那么extract进程在抽取完数据以后,直接投递到⽬标端⽣成远程trail⽂件。

ü Collector : collector进程与pump进程对应,它运⾏在⽬标端,这个进程可以不必太关注,因为在实际操作过程中,⽆需我们对其配置,所以对我们来说它是透明的。

Collector运⾏在⽬标端其任务就是把extract/pump投递过来的数据重新组装成运程trail⽂件。

ü Replicat : replicat进程通常称之为应⽤进程,运⾏在⽬标端,是数据传递的最后⼀战,它负责读取⽬标端trail⽂件的内容,并将其解析为DML和DDL语句,然后应⽤到⽬标数据库中。

2.OGG数据复制的数据流图3.OGG数据复制的机制⽰意图4.⽰例简单配置OGG4.1两边环境4.2配置运⾏环境(source/target)4.3安装GoldenGate软件(source/target)4.4配置源端数据库4.5配置⽬标端数据库4.6配置源端goldengate4.7配置⽬标端goldengate4.8分别在源端和⽬标端启动EXT1和REP1,并测试⽤户。

GoldenGate培训教程

GoldenGate培训教程

Capture
Source Trail
网络
Target Trail
Deliver
源数据库
Target Trail
Deliver
Source Trail
Capture
目的数据库
双向复制
逻辑数据复制的几个重要问题(一)
数据变化来源 读取在线日志或归档日志 在信息不足时与数据库交互
- 数据字典信息 - 查询日志不足信息,例如大对象
单向复制 报表、灾备 双向复制 立即接管 点对点 负载均衡, 高可用性及容灾
广播复制 数据分发
集中复制 数据仓库
多级复制 层次化企业数据
Data Pumps 与一对多复制
Database Transaction Logs
Extract Proces s Extract Proces s Extract Proces s Extract Proces s
For Record: (‘a’,’a’,’a’,’a’) Update tcustmer set name=‘b’; Oracle附加日志会记录cust_code列的 值’a’到日志中; 目标端根据cust_code=‘a’构筑update 的 sql语句; 如果两端主键变为city,而没有重新添加 附加日志,则目标端会根据自己的主 键city建立附加日志,此时日志中没 有该字段值,导致目标update失败 如果修改表但没有修改主键,则附加日 志不受影响
逻辑数据复制的几个问题(四)
如何将数据装载到目标库? 常规加载
- 通过SQL装载

直接加载
通过数据块装载 不利用空闲存储空间 不检查外键等约束 装载速度较快

GoldenGate采用常规加载

GoldenGate解决方案

GoldenGate解决方案
› GoldenGate Delivery 把跟踪文件转换为本地SQL应用到任何ODBC兼容的数据库上, 保持和源库相同的提交顺序和参照完整性。
GoldenGate Transactional Data Management
应用系统
应用系统
Target Trail Delivery
Source DB Source Trail
平台
Windows 2000, 2003, XP Linux Sun Solaris HP NonStop HP-UX
Delivery(交付): All listed above Ingres, MySQL, HP Neoview And any ODBC compatible databases
HP TRU64 HP OpenVMS IBM AIX IBM z/OS
解决方案概览
解决方案和技术
GOLDENGATE TDM 关键特性
› 实时 –亚秒级处理大量数据 › 异构 – 不同数据库和平台之间捕获和交付
(Capture & delivery) › 事务完整性– 事务数据保持可靠和参照完整性
高可用性和容灾方案收益
› 消除非计划和计划停机时间(例如,升级, 移植和维护)
获取最新数据。 › GoldenGate 事务数据完整性 在OLTP系统之间实时保证点对点数据完整性,并且系统影响 最小。
解决方案概览
客户如是说
“医生依靠我们的关键系统做出生死攸关的决 定,所以停机不是选项。”- Montefiore医疗中 心
“因为交易量每天增加三百万笔,我们手工批处 理作业不堪重负.... GoldenGate的实时功能支 撑我们每天数百万交易处理的能力,我们毫不 犹豫选择它。” - Chase Paymentech

GoldenGate基本原理、安装过程和基本维护

GoldenGate基本原理、安装过程和基本维护

目录一、GoldenGate介绍 (3)二、GoldenGate安装实施 (5)2.1创建GoldenGate软件安装目录 (5)2.2 GoldenGate的管理用户 (5)2.3安装GoldenGate软件 (6)2.4设置数据库归档模式 (6)2.5打开数据库的附加日志 (7)2.6开启数据库强制日志模式 (7)2.7创建GoldenGate管理用户 (7)2.8编辑GLOBALS参数文件 (8)2.9管理进程MGR参数配置 (8)2.10抽取进程EXTN参数配置 (9)2.11 传输进程DPEN参数配置 (10)2.12建立OGG的DDL对象 (11)2.13 数据初始化 (12)2.14 容灾端管理进程MGR参数配置 (14)2.15编辑GLOBALS参数文件 (15)2.16 容灾端复制进程REPN参数配置 (15)2.17创建复制进程repn (17)2.18启动生产端传输进程和容灾端复制进程 (17)2.19测试场景 (17)三.GoldenGate基本运维命令 (17)四、常见故障排除 (18)一、GoldenGate介绍GoldenGate软件是一种基于日志的结构化数据复制软件。

GoldenGate 能够实现大量交易数据的实时捕捉、变换和投递,实现源数据库与目标数据库的数据同步,保持亚秒级的数据延迟。

GoldenGate能够支持多种拓扑结构,包括一对一,一对多,多对一,层叠和双向复制等等。

GoldenGate基本架构Oracle GoldenGate主要由如下组件组成●Extract●Data pump●Trails●Collector●Replicat●ManagerOracle GoldenGate 数据复制过程如下:利用抽取进程(Extract Process)在源端数据库中读取Online Redo Log或者Archive Log,然后进行解析,只提取其中数据的变化信息,比如DML操作——增、删、改操作,将抽取的信息转换为GoldenGate自定义的中间格式存放在队列文件(trail file)中。

金色港湾整合市场攻击策略ppt

金色港湾整合市场攻击策略ppt

2001 3 28
*
博思堂Birthidea广告
战术1 现场攻击
1 展示中心 5 2 示范环境 4 3 花园洋房样板间 7 4 别墅样板间 8 3 5 湖景环境 6 2 1 6 绿地休闲庭院 7 高尔夫电瓶车 8 社区配套功能标牌 核心攻击点:1 现场一定要建立指标性;一定要让买家看到希望;一定要用高水准来做; 2 现场展示主要有4个攻击点:展示中心 湖景别墅 大绿地庭院 功能标牌;核 心目标让买家一到现场就要打动;感染其购买欲望; 3 展示中心形象性要强象盈彩美地;但自然性品质如新世界豪园硅谷别墅的 石头 木 沙等进一步提升其别墅高贵感; 4 别墅的样板间非常重要;特别是与湖景的结合;碧湖花园最大的问题是湖不能用; 走不到湖边;没有亲水性;因而建议样板间同时赏湖台的方式; 5 南面绿地全部绿化;植物+洋伞+休闲椅+鸟语花香+风车;突出其规模地产信心; 6 展示中心到样板间通路采用高尔夫电瓶车;路两边采用导示牌的方式标注配套;
2001 3 28
*
博思堂Birthidea广告
三 推广费用预算
四 报纸媒介费用预算
时间 5月 6月 7月 8月 9月 10月 11月 12月 销售结点 内部认购 正式销售 开放日 旺销期 旺销期 费用预算 20万 50万 15万 15万 25万 40万 30万 30万 注:1 费用预算额度为225万元;时间从5月份12月份;共8个月; 2 费用预算需要根据销售状况调整;如果销售提前;可将剩余费用并入下一期项目推广中; 如果销售滞后;从7月份开始调整媒介费用; 3 配合主要销售攻击点如5月16日内部认购 6月18日正式销售 10月开放日;媒介费用相应 增大;其余阶段则由于非销售重点期而费用相对减少;但一定要维持信息量;

GoldenGate Guide

GoldenGate Guide

Oracle GoldenGold安装手册2011.12目录1GOLDENGATE简介 (1)1.1G OLDEN G ATE目的 (1)1.2G OLDEN G ATE和同类产品的差异 (1)1.2.1支持异构平台 (1)1.2.2交易的完整性 (1)1.3G OLDEN G ATE产品 (2)2GOLDENGATE技术原理 (2)2.1G OLDEN G ATE架构和原理 (2)2.2G OLDEN G ATE C HECK P OINT (3)2.3P ARAMETERS,P ROCESS G ROUPS (4)2.4G OLDEN G ATE配置过程 (4)3GOLDENGATE环境准备 (5)3.1创建系统用户 (5)3.2源端系统配置 (6)3.3目标端系统配置 (7)3.4安装GOLDENGATE软件 (7)3.5数据库方面的准备 (8)3.5.1在源端数据库中打开归档模式 (8)3.5.2在源端数据库中打开force logging (9)3.5.3在源端数据库中打开supplemental log (9)3.5.4在源端数据库中关闭回收站 (10)3.5.5确保goldengate能够连接到数据库的ASM实例 (10)3.5.6字符集 (11)3.5.7创建goldengate数据库用户 (12)3.5.8UNDO的设置 (13)3.6安装DDL OBJECTS (14)3.6.1执行marker_setup (14)3.6.2执行ddl_setup (15)3.6.3执行role_setup (16)3.6.4将创建的角色授权给goldengate用户 (16)3.6.5启用DDL触发器 (16)3.7安装可选的性能工具 (17)3.7.1安装dbms_shared_pool包 (17)3.7.2ddl_pin (17)4配置GOLDENGATE (18)4.1创建GOLDENGATE工作目录 (18)4.2创建TRAIL文件存放目录 (18)4.3配置MANAGER (18)4.4全局参数设置 (19)4.5配置源端EXTRACT (20)4.6配置目标端REPLICAT (23)4.7ADD TRANDATA (25)5数据初始化(INITIAL DATA LOAD) (27)5.1通过EXPDP/IMPDP来迁移初始数据 (27)5.1.1准备工作 (27)5.1.2在源端和目标端打开MANAGER (27)5.1.3在源端,执行expdp导出数据 (28)5.1.4将初始数据导入到目标数据库 (28)5.1.5在目标端,启动复制进程 (29)5.2通过文件到REPLICA T方式来迁移初始数据 (30)5.2.1准备工作 (30)5.2.2在源端和目标端打开MANAGER (30)5.2.3配置初始化extract (30)5.2.4在目标库中创建表空间、用户及表结构 (31)5.2.5在源端,打开抽取进程 (32)5.2.6在源端,启动initial-load extract (32)5.2.7配置初始化replicat (32)5.2.8在目标端,启动initial-load replicat (33)5.2.9在目标端,启动复制进程 (33)6日常管理和维护 (35)6.1故障切换 (35)6.2一些错误和警告信息 (36)6.2.1错误 (36)6.2.2警告 (37)1GoldenGate简介1.1GoldenGate目的●实时报表●实时BI●无缝升级、迁移●数据集中(EPM,Exadata)1.2GoldenGate和同类产品的差异1.2.1支持异构平台核心架构●支持多数据库平台●规范的跟踪文件(trail file)格式●规范的元数据定义●自动通用数据类型映射数据抓取方法●日志截取(直接文件访问)●数据库内建日志接口(log API)●Intercepts/exits●Vendor-provided access modules针对Oracle的特性●支持RAC,ASM●支持IOT(Index-organized Table)●支持Clustered Table,object Table●支持DDL●ALO(archivelog only)模式●Off-platform capture (LOGSOURCE)●Multi-threaded capture1.2.2交易的完整性交易边界(Transaction boundaries)●在GG跟踪文件中记录●根据提交顺序记录交易●根据record filtering或者trail splits 自动调整Boundaries交易完整性(Transaction integrity)●Checkpointing and recovery are based on transaction boundaries●Original commit sequence is maintained by the delivery process1.3GoldenGate产品For Unix/Linux,Windows●GoldenGate TDM(Transactional Data Management)●GoldenGate Director●GoldenGate Veridata●TDM Integration Edition●TDM Netezza Integration●TDM Greenplum IntegrationFor NonStop2GoldenGate技术原理2.1GoldenGate架构和原理2.2GoldenGate CheckPoint抓取过程中的检查点写入过程中的检查点2.3Parameters, Process GroupsGoldenGate进程的参数文件以ASCII 编码保存。

GoldenGate运维手册

GoldenGate运维手册

GOLDENGATE运维手册2014年4月文档修改记录第 1 页共34 页目录1OGG常用监控命令------------------------------------------------------------- 51.2启动GoldenGate进程 ----------------------------------------------------------------------- 51.3停止GoldenGate进程 ----------------------------------------------------------------------- 6 1.4查看整体运行情况---------------------------------------------------------------------------- 8 1.5查看参数设置 ---------------------------------------------------------------------------------- 9 1.6查看进程状态 ---------------------------------------------------------------------------------- 9 1.7查看延时--------------------------------------------------------------------------------------- 10 1.8查看统计信息 -------------------------------------------------------------------------------- 11 1.9查看运行报告 -------------------------------------------------------------------------------- 112OGG的常见运维任务指南------------------------------------------------------ 13 2.1配置自动删除队列-------------------------------------------------------------------------- 13 2.2配置启动MGR时自动启动Extract和Replicat进程----------------------------- 13 2.3配置MGR自动重新启动Extract和Replicat进程-------------------------------- 14 2.4长事务管理------------------------------------------------------------------------------------ 14 2.5表的重新再同步(需时间窗口) ------------------------------------------------------ 17 2.6表的重新再同步(无需时间窗口)--------------------------------------------------- 173数据结构变更和应用升级------------------------------------------------------ 19 3.1(仅复制DML时)源端和目标端数据库增减复制表 -------------------------- 19 3.2(仅复制DML时)修改表结构 -------------------------------------------------------- 21 3.3(仅复制DML时)客户应用的升级 ------------------------------------------------- 213.4配置DDL复制自动同步数据结构变更----------------------------------------------- 23(一)是否打开DDL复制 ------------------------------------------------------------------------------------- 23(二)打开DDL复制的步骤 ---------------------------------------------------------------------------------- 23(三)DDL复制的典型配置----------------------------------------------------------------------------------- 254异常处理预案---------------------------------------------------------------- 26 4.1网络故障--------------------------------------------------------------------------------------- 26 4.2RAC环境下单节点失败 ------------------------------------------------------------------- 27 4.3Extract进程常见异常 ---------------------------------------------------------------------- 27 4.4Replicat进程常见异常--------------------------------------------------------------------- 28 4.5异常处理一般步骤-------------------------------------------------------------------------- 285附录------------------------------------------------------------------------ 305.1Oracle GoldenGate V11.1数据复制限制 --------------------------------------------- 30(四)不支持文件等非结构化数据复制------------------------------------------------------------------ 30(五)Oracle数据类型限制 ----------------------------------------------------------------------------------- 30(七)Oracle DDL复制限制 ----------------------------------------------------------------------------------- 325.2Oracle 9i中如何为超过32列的无主键表添加附加日志 ----------------------- 331OGG常用监控命令1.1说明对GoldenGate实例进行监控,最简单的办法是通过GGSCI命令行的方式进行。

goldengate实验流程

goldengate实验流程

goldengate实验流程英文回答:GoldenGate Experimentation Process.GoldenGate is a powerful experimentation platform that enables data scientists and engineers to quickly and easily test and validate new hypotheses. The GoldenGate experimentation process can be divided into the following steps:1. Define your hypothesis.The first step in the GoldenGate experimentation process is to define your hypothesis. This is the statement that you are testing in your experiment. Your hypothesis should be specific, measurable, and achievable.2. Design your experiment.Once you have defined your hypothesis, you need to design your experiment. This includes determining the independent and dependent variables, as well as the control group. The independent variable is the variable that you are changing in your experiment. The dependent variable is the variable that you are measuring in your experiment. The control group is a group of subjects that are not exposed to the independent variable.3. Run your experiment.Once you have designed your experiment, you need to run it. This involves collecting data from your subjects and analyzing the data to see if your hypothesis is supported.4. Analyze your results.Once you have run your experiment, you need to analyze your results. This includes looking at the data and determining if your hypothesis is supported. You should also consider the limitations of your experiment and how they may have affected your results.5. Draw conclusions.Once you have analyzed your results, you need to draw conclusions. This includes stating whether or not your hypothesis was supported and discussing the implications of your findings.中文回答:Goldengate实验流程。

Goldengate实施方案模板

Goldengate实施方案模板

GoldenGate实施方案目录一、ZZZ系统GoldenGate灾备设计方案 (3)1.1ZZZ系统数据库情况 (3)1.2ZZZ系统采用GoldenGate灾备设计方案 (3)1.6.1 基础设施设计 (3)1.6.2 数据库设计 (4)1.6.3 GoldenGate设计 (4)二、实施前准备 (5)三、GoldenGate进程配置清单 (6)四、源端配置 (11)4.1创建运行GoldenGate的用户 (11)4.2安装GoldenGate (12)4.3添加变量 (12)4.4增加附加日志 (12)4.5配置源端DDL (13)4.6Mgr进程配置 (14)4.7抓取进程配置 (15)4.8传输进程配置 (16)4.9启动进程 (16)五、同步历史数据 (17)RMAN备份 (17)六、目标端配置 (17)6.1创建运行GoldenGate的用户 (17)6.2安装GoldenGate (17)6.3添加变量 (18)6.4修改数据库 (18)6.5目标端GLOBALS配置 (21)6.6Mgr进程配置 (21)6.7数据入库进程配置 (21)6.8启动进程 (22)一、ZZZ系统GoldenGate灾备设计方案1.1ZZZ系统数据库情况1.2ZZZ系统采用GoldenGate灾备设计方案1.6.1基础设施设计a)源端数据库主机和存储要求1.6.2数据库设计1.6.3GoldenGate设计二、实施前准备a.为GoldenGate软件划分一定的共享存储空间(天数*每天数据变化量),并创建文件系统。

(建议共享存储空间>=18G,每天产生10G左右的归档,队列文件保存7天,GG每天抽取后产生的队列文件在2.5,保留7天则需要18空间)b.数据库必须处于归档模式,建议保留7-10天以上的归档日志;c.由双方工程师共同确定所需要复制的表以及划分复制通道。

d.为GoldenGate分配端口7809,7840-7845(在源和目标端)e.将数据库附加日志打开f.创建goldengate数据库用户三、GoldenGate进程配置清单四、源端配置4.1创建运行GoldenGate的用户1)在源端采用ORACLE用户运行GoldenGate2)安装位置:/goldengate3)创建GoldenGate数据库用户goldengatecreate tablespace goldengate datafile '/xx/goldengate01.dbf' size 100M autoextend on;-- Create the usercreate user goldengateidentified by "hljorarz"default tablespace goldengatetemporary tablespace TEMPprofile DEFAULT;-- Grant/Revoke role privilegesgrant dba to goldengate;4)检查源端数据库是否为归档模式,若为非归档模式,将其改为归档模式SQL>archive log list;5)检查源端数据库附加日志是否打开SQL>select supplemental_log_data_min from v$database;a)将数据库附加日志打开SQL>alter database add supplemental log data;b)切换日志以使附加日志生效SQL〉ALTER SYSTEM ARCHIVE LOG CURRENT;4.2安装GoldenGate通过ftp上传GoldenGate软件包道安装目录,并解压缩gzip –d *.gztar -xvf *.tar在ggsci环境下创建GoldenGate子目录,create subdirs4.3添加变量export GG_HOME=/goldengateexport LD_LIBRARY_PATH=$ORACLE_HOME/lib4.4增加附加日志在GGSCI命令行中登陆数据库,为需要复制的数据表添加trandataa)增加表的附加日志GGSCI>dblogin userid goldengate,password hljorarz注:dblogin的后面是不能加标点符号的,否则登陆的时候,password会认为不对。

GoldenGate中文介绍

GoldenGate中文介绍

A Division of Transaction Systems Architects, Inc.
GoldenGate 软 件 简 介
•始 •开 •超 证 零 •在 许 •在
于 1995 发 总 部 设 在 旧 金 山 过 175 个 客 户,分 布 在 各 个 行 业: 券,银 行,制 造,传 媒,电 信,医 疗和 售 全 球 20 个 国 家 售 出 超 过 1,400 个 可 证, 北 美,欧 洲 和 亚 洲 设 有 支 持 中 心
A Division of Transaction Systems Architects, Inc.
GoldenGate 拓 扑 结 构
双向数据同步 对等结构
源/目的数据库 交易日志 交易日志 目的
队列
局域/广域/英特网 队列
投递进程
对客户的需求是透明的
A Division of Transaction Systems Architects, Inc.
GoldenGate 数 据 捕 捉 特 点
• 数据库的变更源
– 从 数 据 库 的 变 更 源 读 取 增,删,改 操 作。
• 记录过滤
– 高 效 得 过 滤 掉 没 有 用 的 数 据。
• 列的映射和转换
– – – – 选 择 指 定 的 列,并 按 需 做 相 应 的 数 据 转 换。 一 对 多 的 行 转 换。 来 自 不 同 数 据 库 的 行 组 合 成 一 个 行。 来 自 不 同 数 据 库 的 数 据 合 并 到 一 个 数 据 库。
GoldenGate 数 据 投 递 特 点
• 从队列中读取数据变更
– 从 队 列 中 读 取 增,删,改 和 交 易 信 息 – 在 队 列 中 设 置 检 查 点,保 证 记 录 在 队 列 中 的 有 效 位 置。 – 数据的更新次序与源数据提交时的数据更新顺序 一 致,保 证 数 据 一 致 性。 – 使 用 数 据 库 本 身 的 接 口 访 问 数 据 库,效 率 高。

基于GoldenGate高级复制技术实现数据库同步

基于GoldenGate高级复制技术实现数据库同步

基于GoldenGate高级复制技术实现数据库同步曹建辉【摘要】主要针对基于Oracle GoldenGate数据库的数据同步机制进行了探索研究,并对数据同步模块的设计进行了实现.【期刊名称】《甘肃科技》【年(卷),期】2012(028)024【总页数】3页(P23-25)【关键词】GoldenGate;高级复制技术;数据库同步【作者】曹建辉【作者单位】兰州理工大学图书馆,甘肃兰州730050【正文语种】中文【中图分类】TP311.13GoldenGate软件是一种基于日志的结构化数据复制软件,它通过解析源数据库在线日志或归档日志获得数据的增删改变化,再将这些变化应用到目标数据库,实现源数据库与目标数据库实时同步(real-time data synchronize)。

GoldenGate不但支持oracle之间的同步,而且还支持异构数据库之间的同步,如目前主流的数据库 DB2,Sysbase,Microsoft SQL Server等。

就此主要介绍并实现oracle数据库之间的同步。

1 GoldenGate 技术架构[1、2]和传统的逻辑复制一样,Oracle GoldenGate实现原理是通过抽取源端的redo log或者archive log,然后通过TCP/IP投递到目标端,最后解析还原应用到目标端,使目标端实现同源端数据同步。

GoldenGate 的数据复制过程如下[4、5]: 利用捕捉进程(Capture Process)在源系统端读取Online Redo Log或Archive Log,然后进行解析,只提取其中数据的变化如增、删、改操作,并将相关信息转换为GoldenGate自定义的中间格式存放在队列文件(trail)中。

再利用传送进程将队列文件通过TCP/IP传送到目标系统。

捕捉进程在每次读完log中的数据变化并在数据传送到目标系统后,会写检查点(checkpoint),记录当前完成捕捉的 log 位置,检查点的存在可以使捕捉进程在中止并恢复后可从检查点位置继续复制; 目标系统接受数据变化并缓存到GoldenGate队列当中,队列为一系列临时存储数据变化的文件,等待投递进程读取数据;GoldenGate投递进程从队列中读取数据变化并创建对应的SQL语句,通过数据库的本地接口执行,提交到数据库成功后更新自己的检查点,记录已经完成复制的位置,数据的复制过程最终完成。

黄金圈法则案例

黄金圈法则案例

黄金圈法则案例黄金圈法则(Golden Circle)是由著名的作家与演讲家西蒙·西涅克(Simon Sinek)提出的管理理论。

该法则强调了企业和品牌背后的核心原则,即为什么存在,如何做事以及做什么。

西涅克认为,这一理论对于企业的成功至关重要,因为它能够帮助企业理清自己的使命和价值观,并通过这些核心原则来吸引顾客和员工。

下面我们将以某家公司为例,来详细介绍黄金圈法则在实际案例中的应用。

某家创新型科技公司——GreenTech,是一家致力于环保和可持续发展领域的初创企业。

它致力于为全球范围内的企业和个人提供高效的环保技术解决方案。

GreenTech的创始团队成员都来自环保科技行业,他们深知当前环保技术存在的问题和挑战,因此决定成立这家公司,通过创新技术和高效解决方案来帮助解决环保难题。

我们来看GreenTech是如何应用黄金圈法则中的“为什么”这一核心原则的。

他们的使命是“让每个人都能够享受洁净的绿色生活,为地球保护尽自己的一份力量。

”这使命不仅是他们公司的价值观,也是他们创办公司的初衷。

这一使命吸引了一批信仰环保理念的员工,他们志同道合地聚集在一起,共同为这个目标而努力。

GreenTech并没有把注意力放在产品本身,而是将焦点放在为什么要做这件事情上,这一动机是激励员工全力以赴的力量。

接下来,我们看看GreenTech是如何应用黄金圈法则中的“怎么做”这一核心原则的。

GreenTech致力于研发环保科技和方案,例如太阳能发电系统、水资源管理系统等。

他们采用了最先进的技术手段和工艺,确保产品的高效性和稳定性。

而在销售和营销上,GreenTech注重为客户提供个性化、全面而又专业的服务。

他们不仅提供产品的销售,还会针对客户的具体需求提供解决方案,帮助客户更好地实现环保目标。

我们来看看GreenTech是如何应用黄金圈法则中的“做什么”这一核心原则的。

作为一家创新型科技公司,GreenTech在环保技术的研发和应用方面具有独特优势。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

<Insert Picture Here>安装信息收集•收集客户信息(建议至少提前两周)–测试/生产环境–操作系统列表–数据库列表–数据库日志增量评估•每天日志增量、峰值日志增量–网络配置:带宽、端口等•带宽评估(如带宽不足,是否需要启动压缩,压缩对CPU占用测试)–数据结构•包括表数量、是否存在无主键表、是否有不支持数据类型等–验证OGG版本可用性!•针对不同的操作系统和数据库版本下载需要的OGG版本并安装测试带宽估算•根据峰值产生日志量估算带宽占用•假设条件–假设OGG队列与日志比例为1:4。

如只复制部分表则此比例可以假设为更低。

–假设网络传输效率为0.7–假设网络传输压缩比例为1:8。

根据数据内容有所变化,一般字符数据较多时压缩比例较大,二进制对象压缩效率较低•带宽估算算法–以客户业务高峰期每小时产生40G为例,可以估算如下带宽=40G/3600(秒/小时)/4(日志过滤比例)/8(压缩比率)* 8(每字节8位)/0.7(网络传输效率)=4Mbps无主键表的复制•GoldenGate可以正常复制无主键表,以所有列作为基准代替主键强烈建议排除掉无主键表或者增加主键(或唯一索引)•强烈建议排除掉无主键表或者增加主键–一般为临时表或者历史表–导致附加日志增量较大,可能影响生产系统性能–目标端replicat投递效率非常低且无法进行优化–容易出现数据不一致且不易修复–无法使用HANDLECOLLISIONS•该参数依赖于表的主键进行逻辑判断,无主键表使用该参数会导致重复记录出现测试安装准备–测试安装文档准备•拟定安装操作文档•拟定初始化方案并与客户达成一致–根据测试安装场景准备•数据库脚本,如建立用户、赋予权限等•准备OGG安装所需脚本,如add trandata命令脚本、目标端禁止trigger和cascade delete脚本等•OGG参数文件,列出所有可能用到参数•OGG命令,常用命令预先放在文本里•验证参数、命令、脚本的可行性•发现潜在的问题,及时寻求解决方案–预订技术支持测试安装准备–网络端口•对于GoldenGate所在的数据库主机–源和目标均向对方开放端口7800-7810,用于mgr管理进程通讯和数据传输进程传输数据。

–Director管理各个GoldenGate实例需要执行大量监控命令,每次命令需要一个端口,建议开放7811-7850端口;–Veridata为了实现并发比较,同样需要大量端口,建议开放7851-7950端口;–Director Server Veridata综上所述,建议复制源和目标相互以及为和Server开放7800-7950端口。

•对于Veridata Server和Director Server–由于国网需要每个Director Server监控上百台主机,需要大量动态分配端口,建议Director Server向所有受控服务器开放所有端口。

)(源和目标源和目标)测试安装准备–系统设置系统设置(•建立GoldenGate运行用户–需访问数据库的动态库、在线日志及归档日志–使用oracle用户,也可为其创建新的系统用户将其加入到oracle安装用户所在组(一般为oinstall)。

–为GoldenGate运行用户配置内存限制•分析和抽取交易数据需一定内存,需放宽GoldenGate运行系统用户对内存大小(memory)、文件大小(fsize)、DATA、STACK等参数的值,在系统允许的情况下尽量将参数设置为(),一般-1ulimited 在/etc/security/limits文件中。

•RAC各节点配置时钟同步–GoldenGate在单节点上对所有节点日志进行解析,为了保证其在各节点抽取数据顺序的一致性,需要在各个节点主机上配置时钟同步(例如在AIX下配置NTP服务)。

)(源和目标源和目标)创建OGG所需数据库用户所需数据库用户(•OGG用户在源端所需权限(DML)–GRANT CONNECT TO goldengate;–GRANT ALTER ANY TABLE TO goldengate; //用于添加表附加日志–GRANT ALTER SESSION TO goldengate;–GRANT CREATE SESSION TO goldengate;–GRANT FLASHBACK ANY TABLE TO goldengate;–GRANT SELECT ANY DICTIONARY TO goldengate;–GRANT SELECT ANY TABLE TO goldengate;–GRANT RESOURCE TO goldengate;•目标端DML复制需所有源端权限加上–GRANT INSERT ANY TABLE TO goldengate;–GRANT UPDATE ANY TABLE TO goldengate;–GRANT DELETE ANY TABLE TO goldengate;•如需复制DDL,则两端均需要sysdba权限–grant sysdba to goldengate;源和目标))(源和目标存储空间(测试安装准备–存储空间•为GoldenGate分配空间–建议在共享阵列,可以在单节点失败后由其它节点接管,通过脚本可以与集群软件集成–GoldenGate软件所需空间主要取决于队列的产生速度,一般建议为其保留相当于数据库1-3天归档日志量的存储空间。

–存储划分完后建立OGG安装目录并将该目录Owner设为OGG运行用户•为数据库保留1-3天归档日志–长交易需要其开始时段的日志(源)数据库(测试安装准备–数据库•打开归档模式–避免OGG重启无法找到对应日志•配置parallelism(针对Oracle 9i)–将LOG_PARALLELISM参数设为1,OGG不支持大于1•关闭recycle bin(针对DDL复制)–Oracle 10g R2 and later: 将RECYCLEBIN初始化参数设置为OFF.–Oracle 10g R1: 将_RECYCLEBIN初始化参数设置为FALSE.源和目标))OGG软件安装(源和目标•上传和解压OGG软件–检查安装目录Owner是否是OGG运行用户•配置环境变量–如使用Oracle运行用户一般无需调整–如非Oracle用户则建议拷贝Oracle的profile文件,至少需配置如下环境变量•PATH•ORACLE_SID•ORACLE_HOME•LD_LIBRARY_PATH (Solaris, Linux), LIBPATH (AIX),SHLIB_PATH (HPUX)•配置完毕可以通过能否执行sqlplus进行初步验证–使用ulimit–a检查内存等限制源和目标))OGG软件安装-续(源和目标•执行ggsci,检查是否能够进入OGG命令行界面•执行create subdirs创建子目录•执行edit param mgr为manager配置参数,然后尝试启动mgr进程如以上步骤均能顺利执行,则表明初步安装成功.由于以上步骤并不影响生产库运行,可以在测试安装前几天提前完成.打开附加日志打开附加日志((源)•以渐进模式打开附加日志–第一步,在晚上或其他业务较空闲时段打开数据库级最小附加日志–第二步,经过一段时间运行观察数据库最小附加日志对数据库是否有影响,观察日志量的增加–第三步,同样选择空闲时段打开所需复制表的附加日志–第四步,经过一段时间运行观察数据库是否有性能下降,归档日志量是否有明显增加•如何降低附加日志影响(☆)–排除一些应用的中间表–尽量排除无主键和唯一索引表(记录全部列会导致日志量显著增加)或给他们加上主键、如何打开附加日志•数据库级附加日志–视图v$database•SUPPLEMENTAL_LOG_DATA_MIN:最小附加日志,开关–打开所需复制表的表级附加日志•ALTER DATABASE add SUPPLEMENTAL LOG DATA;•目的是产生最小日志增量,避免对生产主机产生较大影响•表级附加日志–通过OGG命令行中的add trandata schema.table命令添加–如果有主键则只加入主键;无主键添加唯一索引;两者皆无,则自定义添加,否则添加所有列Extract进程•设置操作系统变量–继承mgr进程变量•设置进程本身参数和变量–读取参数文件–设定内存限制(可以通过CACHEMGR修改,缺省单个进程32位系统最大2G,64位系统最大8G内存)•连接数据库根据下列信息登录数据库–•userid参数•环境变量ORACLE_SID(也可通过setenv参数设置)•环境变量ORACLE_HOME(也可通过setenv参数设置)–获取数据库版本信息和字符编码•注意:环境变量中NLS_LANG设置必须与数据库保持一致–根据检查点确定读取日志,寻找并开始解析日志•根据检查点中的日志序列号判断是在线还是归档•在线日志–由于在线日志频繁读写,在系统IO缓存中,读取速度较快–在线日志位置及特殊参数•文件系统•ASM。

需配置如下(只能使用SYS登录ASM实例):TRANLOGOPTIONS ASMUSER SYS@<ASM_instance>,ASMPASSWORD <password>•RAW DEVICE。

在Aix下一般需要配置如下参数:tranlogoptions rawdeviceoffset0注意:该参数只在内部参考手册中存在•如果需抽取CLOB必须加上–TRANLOGOPTIONS CONVERTUCS2CLOBS•说明:如果使用begin now时OGG读取日志序列号错误,可以尝试使用extrba和extseqno直接指定日志位置•缺省查询数据库中归档日志位置和格式并到指定位置查找对应归档日志文件•可通过参数指定归档日志–TRANLOGOPTIONS {[ALTARCHIVEDLOGFORMAT <string>] [INSTANCE<instance_name>] [THREADID <id>]•指定日志文件名的格式[ALTARCHIVELOGDEST [PRIMARY] [INSTANCE<instance_name>] <path name>]•指定归档日志目录。

如果是RAC,需要访问到所有节点归档日志,可使用共享文件系统或者使用nfs等将其它节点归档共享到运行节点•如果为所有节点指定了归档日志目录,则可以使用PRIMARY参数告诉GoldenGate无需再去查询log_archive_dest_N–可以通过降低进程对控制文件访问次数Replicat进程•设置操作系统变量–继承mgr进程变量•设置进程本身参数和变量–读取参数文件•初始化加载之后指定开始的CSN•连接数据库根据下列信息登录数据库–•userid参数•环境变量ORACLE_SID(也可通过setenv参数设置)•环境变量ORACLE_HOME(也可通过setenv参数设置)–获取数据库版本信息和字符编码•注意:环境变量中NLS_LANG设置必须与数据库保持一致宕机初始化步骤•完成前面所述的所有准备工作•根据约定时间停止业务应用•源端–锁定除去OGG数据库用户以外其余所有用户–停止Oracle内部的所有Job–关闭数据库–重新启动数据库–配置OGG抽取进程和本地队列–启动OGG抽取进程,验证•抽取进程是否可以正常启动,主要是验证是否能正常读取日志•观察是否有数据被抽取出来,如有则说明尚有其它连接在修改数据,需找出原因并停止–停止OGG抽取进程–可使用脚本记录部分主要表或所有表记录总数–关闭数据库OGG最佳实践–宕机初始化(续一)•源端–使用RMAN/可传输表空间/BCV等方式将数据导出–在源端打开数据库–启动源端抽取进程(也可重新配置一遍,注意清除旧的队列)–解开锁定的其它用户,恢复job–启动应用–观察数据抽取是否正常•目标端–将数据导入到目标库–打开数据库–解锁其它用户(如允许也可保持锁定状态防止修改数据)–对比记录的源端数据库记录数与目标记录数是否相同,验证恢复完成OGG最佳实践–宕机初始化(续二)•源端–配置Data Pump和远程队列–启动Data Pump观察数据传输是否正常•目标端–配置Replicat•注意目标端用户权限比源端多几个–启动Replicat观察数据是否正常•注:此时一般将reperr设置为abended模式(即默认模式)并配置discardfile参数,遇有错误进程可以立即中止,便于及时查找错误–如Replicat速度跟不上队列增长速度,需进行Replicat拆分OGG最佳实践–基于SCN号的无宕机初始化•前提条件–客户具有能够将目标恢复到某一特定SCN号的备份/恢复工具•RMAN (强烈推荐)•Exp/imp•操作步骤–源端•完成前面所述的所有准备工作•配置OGG抽取进程和本地队列•启动OGG抽取进程并记录开始时间•查询数据库中当前交易最早的开始时间,直到该时间超过OGG抽取启动时间点•查询和记录此时SCN号为最小所需SCN•可每隔半小时或一小时重新查询SCN号和记录此时全库所有表或部分关键业务表中记录数OGG最佳实践–基于SCN号的无宕机初始化(续一)•目标端–使用备份/恢复工具恢复目标库到指定SCN号•如果是RMAN可以边恢复边观察,直到恢复出来的SCN号和时间点大于记录的最小所需SCN号–查询目标库中全部表或关键表记录,看其是否大致符合源端记录数–删除掉目标端物化视图等无用对象–通过SQL禁止目标端trigger和外键或者配置GoldenGate目标端参数在会话级禁止–配置Replicat•注:此时一般将reperr设置为abended模式(即默认模式)并配置discardfile参数,遇有错误进程可以立即中止,便于及时查找错误–使用以下命令启动Replicat•Start myrep, AFTERCSN <目标恢复到的CSN>–观察数据复制是否正常目标初始化方案•初始化的关键–如何避免数据丢失–如果处理冲突数据•使用HANDLECOLLISIONS处理冲突数据–条件:表均有主键或唯一索引–方法:在启动replicat前加入HANDLECOLLISIONS参数,依赖表主键处理掉重复数据–问题:如果表没有主键则可能产生重复记录•使用SCN–启动extract后按照前面说述选择合适时间点获取其SCN;–使用exp或rman等获取对应于该SCN的影像并装载到目标端;–启动replicat时使用start replicat<name>, aftercsn<number>或者在replicat的map参数加入filter ( @getenv (“TRANSACTION”,“CSN”) > <number>) ;使replicat从该scn后的记录开始。

相关文档
最新文档