oracle goldengate学习笔记,Oracle GoldenGate学习笔记

Oracle GoldenGate学习笔记 1.Oracle GoldenGate的体系结构     Oracle GoldenGate(OGG)是一种基于日志的结构化数据复制方式,它通过解析源数据库在线日志或归档日志获得数据的增删改变化,再将这些变化应用到目标数据库,实现源数据库与目标数据库同步,双活。     OGG体系结构如下:       *Manager*                                               *Manager*                      *Extract*                *Data Pump*                 *Replicat*     Source Database -----------> Loacl Trail -------------> Remote Trail ------------> Target Database     ------------------------------------------------------  ------------------------------------------                         Source Server                                      Target Server     物理结构可分为源端(Source Server),目标端(Target Server).     逻辑结构可分为数据抽取进程(Extract),传输进程(Data Pump),复制进程(Replicat).     OGG各个进程的作用:     进程统一由管理进程(Manager)管理。     抽取进程(Extract)将Redo日志或归档日志作为数据源,当其发生变化时抽取进程会将主键字段和变化字段(如果是既无主键又无唯一索引的表就会抽取全部字段)形成本地的Trail文件(Local Trail)。     传输进程(Data Pump)根据目标端的IP和端口配置将本地Trail文件发送至目标端,生成远程Trail文件(Temote Trail)。     复制进程(Replicat)根据远程Trail文件反向生成SQL语句在目标数据库中执行。     OGG要求源端数据库必须开启归档模式,以保证正常获取归档数据。     针对既无主键又无唯一索引的表,OGG的处理方式为:     一是打开数据最小附加日志开关: alter database add supplemental log data.     二是增加单表级别的表结构字段信息的获取: add trandata.     这两项操作可以保证所用的表都能正确抽取及复制。 2.Oracle GoldenGate 12c下载地址     进入Oracle官方网址www.oracle.com,选择Downloads/Middleware/GoldenGate     http://www.oracle.com/technetwork/middleware/goldengate/downloads/index.html     选择下面的下载选项:     Oracle GoldenGate 12.2.0.1.1 for Oracle on Linux x86-64 (454 MB)      下载文件: fbo_ggs_Linux_x64_shiphome.zip     安装和配置可以参考Oracle官方在线文档:     http://docs.oracle.com/goldengate/c1221/gg-winux/index.html     http://docs.oracle.com/goldengate/c1221/gg-winux/GIORA/GUID-3108B63B-F2A2-446E-8006-D685C8E9B3A3.htm#GIORA110 3.Oracle GoldenGate安装     Oracle GoldenGate安装很简单,但首先需要安装Oracle数据库,安装方法参考Oracle数据库安装文档。     本例安装OGG的环境:     操作系统: Redhat Enterprise Linux 7.3     数据库:   Oracle 12c 12.1.0.2     OGG版本:  Oracle GoldenGate 12c 12.2.0.1.1     需要设置Oracle数据库的全局变量:     export ORACLE_BASE=/u01/app/oracle;     export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1;     export ORACLE_SID=sales;     建立OGG的安装目录:     # mkdir /u01/app/ogg     # chown -R oracle /u01/app/ogg     # chmod -R 775 /u01/app/ogg          设置OGG的全局变量:     export PATH=$ORACLE_HOME/bin:/u01/app/ogg/12.2.0:$PATH;     export LD_LIBBARY_PATH=$ORACLE_HOME/lib;/u01/app/ogg/12.2.0:/lib:/usr/lib;     然后将Oracle GoldenGate安装包解压,在oracle用户下运行安装程序即可.     # unzip fbo_ggs_Linux_x64_shiphome.zip     # su - oracle     $ export LANG=""     $ cd /fbo_ggs_Linux_x64_shiphome/Disk1     $ ./runInstaller     Software Location: 775 /u01/app/ogg/12.2.0                -- OGG软件的安装位置     Database Location: /u01/app/oracle/product/12.1.0/db_1    -- 需要同步的数据库的位置     在源端与目标端均需要安装.     安装好后在安装目录执行ggsci即可运行Oracle GoldenGate工具:     $ cd /u01/app/ogg/12.2.0     $ ggsci     GGSCI> info all     GGSCI> start manager     在Oracle中创建OGG访问的账号,在源端与目标端均需要创建.     $ sqlplus / as sysdba;     SQL> create user ogg identified by ogg;     SQL> grant connect,resource,unlimited tablespace to ogg;     SQL> grant unlimited tablespace to ogg;     SQL> grant execute on utl_file to ogg;     SQL> grant dba to ogg;     进入OGG命令界面,确认能访问Oracle数据库.     $ cd /u01/app/ogg/12.2.0     $ ggsci     GGSCI (rhel7a) 1> dblogin userid ogg     Password:     Successfully logged into database. 4.Oracle GoldenGate源端系统配置     (1).数据库开启归档模式     $ sqlplus / as sysdba;     SQL> shutdown immediate;     SQL> startup mount;     SQL> alter database archivelog;     SQL> alter database add supplemental log data;          -- 添加附加日志     SQL> alter database force logging;                      -- 强制记录日志     SQL> alter datebase open;     (2).添加需要同步的表     语法结构:     ADD SCHEMATRANDATA schema [ALLCOLS | NOSCHEDULINGCOLS]     ADD TRANDATA [container.]schema.table [, COLS (columns)] [, NOKEY] [, ALLCOLS | NOSCHEDULINGCOLS]     例子:     $ cd /u01/app/ogg/12.2.0     $ ggsci     GGSCI> dblogin userid ogg     GGSCI> add trandata astt.*     (3).编辑源端系统配置参数.     管理器配置参数:     GGSCI (rhel7a) 1> edit param mgr     PORT 7809     日志提取配置参数:     GGSCI (rhel7a) 1> edit params extastt     EXTRACT extastt     USERID ogg, PASSWORD ogg     EXTTRAIL /u01/app/ogg/12.2.0/dirdat/lt     TABLE astt.*;     数据传输配置参数:     GGSCI (rhel7a) 1> edit params pumpastt     EXTRACT pumpastt     USERID ogg, PASSWORD ogg     RMTHOST 192.168.1.72, MGRPORT 7809     RMTTRAIL /u01/app/ogg/12.2.0/dirdat/rt     TABLE astt.*;     (4).添加源端系统进程.     (4.1).添加提取主进程(Adding the Primary Extract):     DBLOGIN USERIDALIAS alias     ADD EXTRACT group name      {, TRANLOG | , INTEGRATED TRANLOG}     {, BEGIN {NOW | yyyy-mm-dd[ hh:mi:[ss[.cccccc]]]} | SCN value}      [, THREADS n]     (4.2).添加Trail文件(Add the Local Trail):     ADD EXTTRAIL pathname, EXTRACT group name     (4.3).添加传输进程(Add the Data Pump Extract Group):     ADD EXTRACT group name, EXTTRAILSOURCE trail name      (4.4).添加远程Trail文件(Add the Remote Trail):     ADD RMTTRAIL pathname, EXTRACT group name     例子:     $ ggsci     add extract extastt, tranlog, begin now     add exttrail /u01/app/ogg/12.2.0/dirdat/lt, extract extastt     add extract pumpastt, exttrailsource /u01/app/ogg/12.2.0/dirdat/lt     add rmttrail /u01/app/ogg/12.2.0/dirdat/rt, extract pumpastt     start extract extastt     start extract pumpastt     源端系统打开防火墙端口:1521,7809. 5.Oracle GoldenGate目标端系统配置     (1).修改Oracle系统参数,允许执行OGG复制.     $ sqlplus / as sysdba;     SQL> alter system set enable_goldengate_replication=true scope=both;     (2).编辑目标端系统配置参数.     管理器配置参数:     GGSCI (rhel7b) 1> edit param mgr     PORT 7809     DYNAMICPORTLIST 7810-7820  --远程队列端口     GLOBALS配置参数:     GGSCI (rhel7b) 1> edit params ./GLOBALS     CHECKPOINTTABLE ogg.checkpoint     数据复制配置参数:     GGSCI (rhel7b) 1> edit params repastt     REPLICAT repastt     USERID ogg, PASSWORD ogg     ASSUMETARGETDEFS     MAP astt.*, TARGET astt.*;     (3).添加目标端系统进程.     $ ggsci     dblogin userid ogg     add checkpointtable ogg.checkpoint                    -- 如果已存在需删除 delete checkpointtable ogg.checkpoint     add replicat repastt, exttrail /u01/app/ogg/12.2.0/dirdat/rt, checkpointtable ogg.checkpoint     start replicat repastt     目标端系统打开防火墙端口:1521,7809,7810-7820. 6.测试同步     在源端数据库的表中插入数据.     检查源端ogg的dirdat目录中是否有生成提取文件.     检查目标端ogg的dirdat目录中是否有接收到文件.     检查目标端数据库中是否已同步数据. 7.重新安装OGG.     先停止OGG的进程     $ ggsci     stop extastt     stop pumpastt     stop mgr     删除ogg目录所有文件,修改下inventory.xml,去掉OGG的HOME配置即可.     $ cd /u01/app     $ rm -r ogg     $ cd /u01/app/oraInventory/ContentsXML     $ vi inventory.xml 8.查看错误方法及常见错误信息         如OGG的进程有中断,可以通过命令查看错误信息:     $ ggsci     view report repastt     常见错误信息:     (1).参数配置错误     OGG-00041  Data source not specified     检查参数是否拼写错误.     (2).远程主机防火墙未打开,或动态队列端口配置有问题     OGG-01224  TCP/IP error 113 (No route to host), endpoint: 192.168.1.72:7820     一般OGG的DUMP进程会从管理端口7809后面寻找远程主机动态端口,须保证远程主机动态队列端口设置正确,防火墙有开放端口.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值