iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >oracle ogg搭建
  • 940
分享到

oracle ogg搭建

2024-04-02 19:04:59 940人浏览 薄情痞子
摘要

  1.环境介绍项目源端目标端ip192.168.12.23192.168.22.24oracle sidorclorclGoldengate用户 oracleoracleogg版本11

 

 

1.环境介绍

项目

源端

目标端

ip

192.168.12.23

192.168.22.24

oracle sid

orcl

orcl

Goldengate用户

oracle

oracle

ogg版本

11.2.1.0.1

11.2.1.0.1

操作系统版本

linux

linux


2. ogg基础环境配置

2.1创建ogg操作系统用户

  两台服务器都需要创建ogg操作系统用户(此步骤非必须)。

  useradd -u 1003 -g oinstall -G dba ogg1 passwd ogg

2.2修改OGG操作系统用户环境变量

PATH=$PATH:$HOME/bin

export PATH

umask 022

export ORACLE_HOSTNAME=segment2

export ORACLE_BASE=/u01/app/oracle

export ORACLE_SID=orcl

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export TNS_ADMIN=$ORACLE_HOME/network/admin

exportPATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$ORACLE_BASE/ogg

exportPATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin

exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib

exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib

exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib

exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE

exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE/lib

export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib

exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib

exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib

exportLIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib

export ORACLE_OWNER=oracle

export SPFILE_PATH=$ORACLE_HOME/dbs

export ORA_NLS10=$ORACLE_HOME/nls/data

exportOGG_HOME=$ORACLE_BASE/ogg

2.3创建OGG安装目录

    mkdir /ogg chown -Rogg:oinstall /ogg

2.4上传OGG安装介质

 将OGG安装文件上传到两台服务器的OGG操作系统用户的家目录(默认为/home/ogg)。  

  fbo_ggs_Linux_x64_ora11g_64bit.tar  

fbo_ggs_Linux_x64_ora11g_64bit.tar解包到/ogg目录(源和目标端都需要操作)

tar -xvf fbo_ggs_Linux_x64_ora11g_64bit.tar -C /ogg

2.5登录OGG测试

$./ggsci

    解压安装后目录

[oracle@sourceogg]$ ls -l |grep ^d

drwxr-x---2 oracle oinstall     4096 Apr 23  2012 cfg

drwxr-x---2 oracle oinstall     4096 Apr 23  2012 dirjar

drwxr-x---2 oracle oinstall     4096 Apr 23  2012 dirprm

drwxr-x---7 oracle oinstall     4096 Apr 23  2012 UserExitExamples

GGSCI(source) 1> create subdirs

Creatingsubdirectories under current directory /u01/app/oracle/ogg

Parameterfiles               /u01/app/oracle/ogg/dirprm: already exists

Reportfiles                  /u01/app/oracle/ogg/dirrpt: created

Checkpointfiles              /u01/app/oracle/ogg/dirchk: created

Processstatus files          /u01/app/oracle/ogg/dirpcs: created

sqlscript files              /u01/app/oracle/ogg/dirsql: created

Databasedefinitions files    /u01/app/oracle/ogg/dirdef: created

Extractdata files            /u01/app/oracle/ogg/dirdat: created

Temporaryfiles               /u01/app/oracle/ogg/dirtmp: created

Stdoutfiles                  /u01/app/oracle/ogg/dirout: created

 

文件路径

说明

/u01/app/oracle/ogg/dirprm

 存放OGG参数各的配置信息

/u01/app/oracle/ogg/dirrpt

 存放进程报告文件

/u01/app/oracle/ogg/dirchk

 存放检查点文件

/u01/app/oracle/ogg/dirpcs

 存放进程状态文件

/u01/app/oracle/ogg/dirsql

 存放SQL脚本文件

/u01/app/oracle/ogg/dirdef

 存放DEFGEN工具生成的数据定义


2.6建立OGG表空间

 ORACLE建议使用单独的表空间存放OGG数据,表空间大小50M就可以,但是最好设置数据文件的自动扩展。

  SQL>create  tablespace  ogg  datafile'/u01/app/oracle/oradata/orcl/ogg01.dbf'size 50M autoextend on

2.7创建OGG用户

SQL>create user ogg identified by ogg default tablespace ogg;

2.8为OGG用户授权

OGG用户需要以下权限,也有人为了省事,直接给OGG用户DBA权限。

SQL> grant CONNECT, RESOURCE to ogg;

SQL> grant SELECT ANY DICTIONARY, SELECT ANY TABLEto ogg;

SQL> grant ALTER ANY TABLE to ogg;

SQL> grant FLASHBACK ANY TABLE to ogg;

SQL> grant EXECUTE on DBMS_FLASHBACK to ogg;

SQL> grant insert any table to ogg;

SQL> grant update any table to ogg;

SQL>grant delete any table to ogg; 

2.9打开源数据库的附加日志和force log

SQL> selectNAME,OPEN_MODE,FORCE_LOGGING,SUPPLEMENTAL_LOG_DATA_MIN from v$database;

SQL> alter database force logging;

SQL> alter database add SUPPLEMENTAL log data;

SQL> select NAME,OPEN_MODE,FORCE_LOGGING,SUPPLEMENTAL_LOG_DATA_MINfrom v$database;

2.10运行OGG支持DDL脚本

如果要让OGG支持DDL操作,还需要额外运行几个脚本,这些脚本是OGG带的而不是ORACLE带的,在OGG的安装目录都可以找到,如果在OGG的安装目录登录数据库,可以直接@加脚本的名字,源端与目标端都需要运行

如下:

sqlplus / as sysdba

GRANT CREATE TABLE,CREATE SEQUENCE TO OGG;

权限配置以后.要重新执行

SQL>@ddl_setup

 SQL>@role_setup

 SQL> grantGGS_GGSUSER_ROLE to ogg;

 SQL>@ddl_enable

3.OGG配置

3.1OGG原理及数据制造

创建测试数据

源数据库

@demo_ora_create.sql

@demo_ora_insert.sql

目标数据

@demo_ora_create.sql


3.2源端添加表级TRANDATA

  添加表级的trandata可以理解为需要将哪些用户的哪些表和目标库同步,其实也是添加表级的

supplemental log,但是只有上文打开的minimal supplemental log后,这个才生效。

GGSCI (oggsource) 2>  dbloginuserid  ogg,passWord ogg

GGSCI (dbdream) 3> add  trandata   hr.tcustmer;

GGSCI (dbdream) 4> add  trandata   scott.dept_ogg

成功添加表级TRANDATA后,可以通过INFO命令查看哪些表被添加了TRANDATA.

INFO TRANDATA scott.*

3.4目标和源端配置MGR管理进程

GGSCI (stream) 2> EDITPARAMS MGR 加入以下两行内容

PORT 7809

PURGEOLDEXTRACTS /ogg/dirdat,USECHECKPOINTS

参数说明:

PORT 7809:OGG管理进程监控端口。

PURGEOLDEXTRACTS:清除不需要的trail文件。

/ogg/dirdat:trail文件存放位置。

USECHECKPOINTS:使用检查点队列。

start mgr

GGSCI (oggtarget) 4> info  mgr

文件存放路径$OGG_HOME/dirprm

3.5配置初始化数据进程(此步骤非必须,可以由其他方式完成)

   由于在创建测试表的时候,源端的测试表有数据,而目标端的测试表只有结构,没有数据,所以需要初始化目标端的数据,所谓初始化,就是让目标端的数据和源端的数据在这个时间点是一模一样的,所以初始化工作并不需要一定使用OGG,也可以使用EXP、EXPDP、SQLLOAD等其他工具,

本文主要介绍如何使用OGG进行数据初始化,

下面在源端配置捕获进程EINI_1。

GGSCI (dbdream) 11> ADD EXTRACT EINI_1, SOURCEISTABLE--------------源端加同步进程

GGSCI (dbdream) 12> INFO EXTRACT *, TASKS EXTRACT   

GGSCI (dbdream) 13> EDIT PARAMS EINI_1

EXTRACT EINI_1

SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)

setenv (ORACLE_SID=dbdream)

userid  ogg, passwordogg

RMTHOST 192.168.12.203, MGRPORT 7839

RMTTASK REPLICAT, GROUP RINI_1-----目标端名字一定要对应

TABLE SCOTT.EMP_OGG;

TABLE SCOTT.DEPT_OGG;

EXTRACT EINI_1:说明这是EXTRACT进程,名字是EINI_1 SETENV:

环境变量,一定要设置和数据库字符集一样,否则可能会乱码

USERID:数据库OGG用户 PASSWORD:数据库用户OGG的密码

RMTHOST:目标端地址,如果在/etc/hosts文件里已经设置解析,可以写主机名 MGRPORT:

目标端MGR管理进程监听的端口RMTTASK REPLICAT:

目标端REPLICAT应用进程的组和名字

TABLE:源端要初始化数据的表的名字

B、配置目标端REPLICAT进程

---------------------特别留意名字为源端配置的名

add replicatRINI_1,specialrun------目标端添加同步进程

EDIT PARAMS RINI_1

--加入以下内容

REPLICAT RINI_1

SETENV(NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)

ASSUMETARGETDEFS

USERID ogg, PASSWORD ogg

DISCARDFILE  /u01/app/oracle/ogg/dirrpt/RINIaa.dsc, PURGE

MAP scott.*, TARGET scott.*;

REPLICAT RINI_1:说明这是REPLICAT应用进程,名字叫RINI_1

SETENV:语言变量,同捕获进程EINI_1

ASSUMETARGETDEFS:告诉OGG目标端和源端需要同步的表的结构完全一致,不需要OGG去检查表的结构,包括表名、字段名、字段类型、字段长度等,如果目标端和源端同步的表的结构不一样,需要使用SOURCEDEFS参数,

USERID、PASSWORD:同捕获进程EINI_1参数介绍

DISCARDFILE:错误信息存放位置及命名规则

MAP:源端捕获的表的名字

TARGET:目标端同步的表的名字,可以不在同一SCHEMA

C、初始化数据-----源端

   配置好目标端的应用进程RINI_1后,就可以启动源端的捕获进程进行捕获数据了,而目标端的应用进程RINI_1不需要手动去启动,也就是说目标端RINI_1进程不需要管。

ALTER SYSTEM SET ENABLE_GOLDENGATE_REPLICATION = TRUE SCOPE=BOTH;

GGSCI (oggsource asogg@dbdream) 17> START EXTRACT   EINI_1

GGSCI (oggsource as ogg@dbdream) 17>VIEW  REPORT  EINI_1

可以看到初始化是正确的。初始化之后,上文提到的初始化进程(EINI_1、RINI_1)自动停止,因为通常情况下初始化数据工作只会做一次。可以通过INFO命令查看进程的状态。

INFO EXTRACT EINI_1-------------源端

INFO REPLICAT RINI_1-------目标端

3.6源端和目标端配置OGG的检查点

此步骤不是必须的,但是为了让OGG网络中断、服务器宕机、掉电等在突发情况也能正确断点续传,ORACLE建议配置OGG的检查点队列。

GGSCI (stream) 2> EDIT PARAMS ./GLOBALS

CHECKPOINTTABLE ogg.ggschkpt

这就告诉OGG检查点存放到OGG用户下的GGSCHKPT表中,但是还需要使用OGG用户登录数据库,创建检查点表,此时需要退出OGG,重新登录,否则可能会遇到下面的错误。

[ogg@oggsource ogg]$ ./ggsci

GGSCI (oggsource) 1> dblogin userid ogg,password ogg

GGSCI (oggsource as ogg@dbdream) 2> ADD CHECKPOINTTABLE

[ogg@dbdream ogg]$ sqlplus ogg/ogg

No checkpoint table specified. Using GLOBALS specification(ogg.ggschkpt)...

Successfully created checkpoint table ogg.ggschkpt.

此时用OGG登录数据库,就可以看到OGG创建的检查点表。

SQL> select * from tab;

3.7源端配置捕获进程

$ edit   param  ext1

EXTRACT ext1

SETENV(ORACLE_HOME="/oracle/app/product/11.2/db")

SETENV (ORACLE_SID="orcl")

SETENV(NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")

USERID ogg password ogg

EXTTRAIL ./dirdat/ext1/sd

gettruncates

DDL INCLUDE MAPPED , OBJTYPE 'TABLE' &

INCLUDE MAPPED OBJTYPE 'INDEX'

table scott.*;

add extract ext1 tranlog, begin now

ADD EXTTRAIL  ./dirdat/ext1/sd  EXTRACT ext1, MEGABYTES 100-----注意是相对路径

start ext1

ADD EXTRACT EORA_2, TRANLOG, BEGIN NOW

ADD EXTTRAIL /u01/app/oracle/ogg/dirdat/zz,EXTRACT EORA_2, MEGABYTES  5

3.7配置源端的PUMP进程

添加PUMP进程PORA_1到OGG,并指定本地的TRAIL文件。

edit pram  dp1

EXTRACT dp1

PASSTHRU

DYNAMICRESOLUTION

RMTHOST 192.168.12.24 ,MGRPORT 7809

RMTTRAIL ./dirdat/ext2/sd

DISCARDFILE./dirrpt/dp2.dsc,APPEND,MEGABYTES 100

DISCARDROLLOVER AT 6:00

REPORTROLLOVER AT 6:00

REPORTCOUNT EVERY 1 HOURS,RATE

TABLE scott.*;

ADD EXTRACT dp1, EXTTRAILSOURCE./dirdat/ext1/sd

INFO EXTRACT dp2

ADD RMTTRAIL  ./dirdat/ext1/sd, EXTRACT dp1, MEGABYTES100-----注意相对路径

ADD EXTRACT PORA_1, EXTTRAILSOURCE  /u01/app/oracle/ogg/dirdat/pa

为PUMP进程PORA_1指定将本地TRAIL文件传输到目标端后保存成目标端TRAIL文件的名字。

ADD RMTTRAIL  /u01/app/oracle/ogg/dirdat/pa, EXTRACTPORA_1, MEGABYTES 5

START EXTRACT dp1

GGSCI (oggsource as ogg@dbdream) 36>INFO EXTRACT dp1

注意路径存在和环境变量相关内容

3.8目标端配置同步进程RORA_1

edit param rep1

REPLICAT rep1

SETENV (ORACLE_HOME ="/u01/app/oracle/product/11.2.0/db_1" )

SETENV (ORACLE_SID = "orcl")

SETENV (NLS_LANG ="AMERICAN_AMERICA.ZHS16GBK")

USERID ogg,  PASSWORD ogg

--HANDLECOLLISIONS

ASSUMETARGETDEFS

DISCARDFILE ./dirrpt/rep2.dsc ,append,megabytes 10

---SOURCEDEFS./dirdef/def.def

DDL INCLUDE MAPPED , OBJTYPE 'TABLE' &

INCLUDE MAPPED OBJTYPE 'INDEX'

MAP SCOTT.EMP_OGG     ,TARGET  SCOTT.EMP_OGG    ;

MAP SCOTT.DEPT_OGG    ,TARGET  SCOTT.DEPT_OGG    ;

ADD REPLICAT rep1, EXTTRAIL   ./dirdat/ext1/sd

START REPLICAT  rep1

注意参数

ERROR OGG-00423 Could not find definitionfor source.person

In the Replicat param Please tryASSUMETARGETDEFS , if source and target have same table structure..

if both the structures are different ,generate the source definition and use SOURCEDEFS in Replicate Param.

handcollisions被注释了,也就是说当target端缺失delete 、update数据时,target端无法自动处理。

验证数据

您可能感兴趣的文档:

--结束END--

本文标题: oracle ogg搭建

本文链接: https://www.lsjlt.com/news/34652.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • oracle ogg搭建
      1.环境介绍项目源端目标端ip192.168.12.23192.168.22.24oracle sidorclorclgoldengate用户 oracleoracleogg版本11...
    99+
    2022-10-18
  • linux下搭建oracle ogg的过程
    这篇文章主要介绍“linux下搭建oracle ogg的过程”,在日常操作中,相信很多人在linux下搭建oracle ogg的过程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2022-10-18
  • OGG搭建步骤
    AIX-->HP-UX 1,下载GGS安装 tar -xvf  ggs_AIX_ppc_ora102_64bit_v11_1_1_0_0_078.tar 2,创建目录 GGSCI (tes...
    99+
    2022-10-18
  • oracle ogg 单机环境单向复制搭建
    OGG安装fbo_ggs_Linux_x64_shiphome.zip---------------------同时支持11g和12c 添加用户useradd -u 1003 -g oinsta...
    99+
    2022-10-18
  • 在dg库上搭建ogg
    备注:  Oracle DG   (主->备库1->备库2) 级联方式 ...
    99+
    2022-10-18
  • 怎么搭建OGG 12c MySQL to MySQL
    本篇内容介绍了“怎么搭建OGG 12c MySQL to MySQL”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学...
    99+
    2022-10-19
  • oracle goldengate报错解决之OGG-00446、OGG-00529、OGG-00014
    OGG测试:无法启动ext进程,报错OGG-00446报错日志【截取重要部分】2016-10-28 16:51:40  ERROR   OGG-0...
    99+
    2022-10-18
  • Oracle+Ogg 归档丢失 重新导数据建立ogg同步步骤
    1031 ogg 恢复操作 1、在目标端停掉复制进程,删除目标端OGG的复制进程 ggsci>  dblogin userid ggtarget,password ggtarget ggsc...
    99+
    2022-10-18
  • Oracle搭建
    简介:Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上...
    99+
    2022-10-18
  • Oracle 11gR2 RAC搭建(虚拟机搭建)
    安装环境说明与虚拟机规化: 安装环境主机操作系统:windows 10 虚拟机VMware15:两台CentOS-7.6Oracle Database software: Oracle11gR2 (11.2...
    99+
    2022-10-18
  • oracle 11gR2 搭建dataguard
    1、搭建环境 主库   oracle11gR2    备库 oracle11gR2 db_name orcl       &n...
    99+
    2022-10-18
  • oracle 11g DG 搭建
    groupadd oinstall groupadd dba groupadd oper groupadd asmadmin groupadd asmdba ...
    99+
    2022-10-18
  • Oracle 10G DataGuard搭建
    前面我们有讲到Oracle 11G DataGuard的搭建,10G的搭建也是大同小异.不过Oracle 10G不支持Standby open环境:角色主机名IP数据库版本操作系统版本Primaryfdb1...
    99+
    2022-10-18
  • oracle 11.2.0.4 ogg 12.3.0.1.0备库rep进程启动报错OGG-00446
        数据库版本:oracle 11.2.0.4    今天教一新手使用oracle 11.2.0.4 ogg 12.3.0.1.0做数据同步,其部署过程不规范,备...
    99+
    2022-10-18
  • Oracle 11g R2 ADG 搭建
    --============Oracle ADG搭建==============--==========准备阶段=========1.检查primary为archivelog模式。select l...
    99+
    2022-10-18
  • 怎么搭建oracle DataGuard
    本篇内容介绍了“怎么搭建oracle DataGuard”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1....
    99+
    2022-10-18
  • Oracle DG如何搭建
    这篇文章主要为大家展示了“Oracle DG如何搭建”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Oracle DG如何搭建”这篇文章吧。Oracle DG搭建...
    99+
    2022-10-19
  • 如何搭建Oracle DataGuard
    这篇文章主要讲解了“如何搭建Oracle DataGuard”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何搭建Oracle DataGuard”吧!一、...
    99+
    2022-10-19
  • ORACLE ADF:项目搭建
    ADF简单项目创建例子最简单ADF项目效果图:新建ADF项目流程最简单的ADF创建例子完成了 ...
    99+
    2022-10-18
  • Oracle RAC如何搭建
    这篇文章将为大家详细讲解有关Oracle RAC如何搭建,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。RAC搭建一、准备工作. 1规划. 1网络配适器准备(rac1& rac2). 2关闭防火墙和...
    99+
    2023-06-01
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作