1.配置好OGG,贴出配置的整个过程。
2.画一个OGG数据复制的数据流图。
3.OGG有哪些进程,都有什么作用?
4.OGG数据复制的机制是什么,画出示意图。

===========================================

一.配置好OGG,贴出配置的整个过程

1.1 复制数据库
使用RMAN 复制:

[oracle@dg1 ~]$ rman target sys/sa@db1 auxiliary sys/sa@db2 nocatalog
    RMAN> duplicate target database to DB2 nofilenamecheck;

1.2 安装配置oracle GoldenGate

1.2.1 修改环境变量,LD_LIBRARY_PATH=/opt/app/ggs/11.2

vi ~/.bash_profile

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/opt/app/ggs/11.2; export LD_LIBRARY_PATH

1.2.2 安装goldengate
    $ Su – oracle $ mkdir -p /ggs/11.2
    $ chown -R oracle:oinstall /ggs/11.2 $ chmod -R 775 /ggs/11.2
    $ cd /ggs/11.2
    $ unzip ogg112101_fbo_ggs_Linux_x86_ora10g_32bit.zip
    $ tar xvf fbo_ggs_Linux_x86_ora10g_32bit.tar 
    cd /opt/app/ggs/11.2
    [oracle@dg2 11.2]$./ggsci

Oracle GoldenGate Command Interpreter for Oracle
    Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230_FBO
    Linux, x86, 32bit (optimized), Oracle 11g on Apr 23 2012 08:09:25

Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.

GGSCI (dg1) 1> create subdirs

Creating subdirectories under current directory /opt/app/ggs/11.2

Parameter files                /opt/app/ggs/11.2/dirprm: already exists
    Report files                   /opt/app/ggs/11.2/dirrpt: created
    Checkpoint files               /opt/app/ggs/11.2/dirchk: created
    Process status files           /opt/app/ggs/11.2/dirpcs: created
    SQL script files               /opt/app/ggs/11.2/dirsql: created
    Database definitions files     /opt/app/ggs/11.2/dirdef: created
    Extract data files             /opt/app/ggs/11.2/dirdat: created
    Temporary files                /opt/app/ggs/11.2/dirtmp: created
    Stdout files                   /opt/app/ggs/11.2/dirout: created

GGSCI (dg1) 2>

1.2.3 建立用户,并赋权限:
    主库:
    SQL> create tablespace ggs_tbs datafile '/opt/app/oracle/oradata/DB1/ggs_tbs01.dbf' size 50m;

SQL> create user ggs identified by ggs default tablespace ggs_tbs;
    User created.
    SQL> grant create session,alter session to ggs;

Grant succeeded.

SQL> grant execute on utl_file to ggs;

Grant succeeded.

SQL> grant select any dictionary, select any table to ggs;

SQL> grant alter any table to ggs;

Grant succeeded.

SQL> grant flashback any table to ggs;

Grant succeeded.

SQL> grant select any transaction to ggs;

Grant succeeded.

SQL> grant sysdba to ggs;

Grant succeeded.

SQL> grant create table,insert any table,lock any table to ggs;

Grant succeeded.

SQL> grant execute on dbms_flashback to ggs;

Grant succeeded.

备库:
    SQL> create tablespace ggs_tbs datafile '/opt/app/oracle/oradata/DB1/ggs_tbs01.dbf' size 50m;

SQL> create user ggs identified by ggs default tablespace ggs_tbs;
    User created.
    SQL> grant create session,alter session to ggs;

Grant succeeded.

SQL> grant execute on utl_file to ggs;

Grant succeeded.

SQL> grant select any dictionary, select any table to ggs;

SQL> grant alter any table to ggs;

Grant succeeded.

SQL> grant flashback any table to ggs;

Grant succeeded.

SQL> grant select any transaction to ggs;

Grant succeeded.

SQL> grant sysdba to ggs;

Grant succeeded.

SQL> grant create table,insert any table,lock any table to ggs;

Grant succeeded.

SQL> grant execute on dbms_flashback to ggs;

Grant succeeded.

SQL> grant insert any table,update any table,delete any table to ggs;

Grant succeeded.

1.3 源、目标库打开辅助日志

SQL> alter database force logging;
    alter database force logging
    *
    ERROR at line 1:
    ORA-12920: database is already in force logging mode

SQL> alter database add supplemental log data;

Database altered.

SQL> select supplemental_log_data_min from v$database;

SUPPLEMENTAL_LOG_DATA_MI
    ------------------------
    YES

1.4 源、目标库支持sequence

在源库、目标库上执行:
    GGSCI (dg2) 2> edit params ./globals
    在统计模式下输入并保存:ggschema ggs

在SQLPLUS 下去运行:
    sql> @sequence.sql 根据提示输入:gg

1.5 支持ddl复制

1.2.5.1 主库配置
    cd /ggs/11.2
    sqlplus / as sysdba
    sql> alter system set recyclebin=off deferred scope=both;  #必须,针对ddl复制
    sql> @marker_setup.sql prompt: ggs
    sql> @ddl_setup.sql prompt: ggs
    sql> @role_setup.sql
    sql> grant GGS_GGSUSER_ROLE to ggs;
    SQL> @ddl_enable.sql
    10g需要安装dbms_share_pool包:
    sql> @?/rdbms/admin/dbmspool.sql sql> @ddl_pin ggs;

1.6 目标库配置
    sql> alter system set recyclebin=off deferred scope=both;  #必须
    sql> @marker_setup.sql prompt: ggs
    sql> @ddl_setup.sql prompt: ggs
    sql> @role_setup.sql
    sql> grant GGS_GGSUSER_ROLE to ggs;
    SQL> @ddl_enable.sql
    10g需要安装dbms_share_pool包:
    sql> @?/rdbms/admin/dbmspool.sql sql> @ddl_pin ggs;

1.7 配置MANAGER
    主库、目标库配置:
    [oracle@dg1 11.2]$ ./ggsci
    Oracle GoldenGate Command Interpreter for Oracle
    Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230_FBO
    Linux, x86, 32bit (optimized), Oracle 11g on Apr 23 2012 08:09:25
    Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.

GGSCI (dg1) 1> edit params mgr
    GGSCI (dg1) 2> start mgr
    Manager started.
    GGSCI (dg1) 3> info mgr
    Manager is running (IP port dg1.7809).
    GGSCI (dg1) 4>
    
    添加表级transdata (开始出现没有主键及权限问题)
    GGSCI (dg1) 5> add trandata sys.test

2013-08-22 13:33:26  WARNING OGG-00869  No unique key is defined for table 'TEST'. All viable columns will be used to represent the key, but may not guarantee uniqueness.  KEYCOLS may be used to define the key.

2013-08-22 13:33:27  WARNING OGG-00706  Failed to add supplemental log group on table SYS.TEST due to ORA-01031: insufficient privileges SQL ALTER TABLE "SYS"."TEST" ADD SUPPLEMENTAL LOG GROUP "GGS_73209" ("ID") ALWAYS  /* GOLDENGATE_DDL_REPLICATION */.

GGSCI (dg1) 6> add trandata sys.test

2013-08-22 13:35:39  WARNING OGG-00869  No unique key is defined for table 'TEST'. All viable columns will be used to represent the key, but may not guarantee uniqueness.  KEYCOLS may be used to define the key.

2013-08-22 13:35:39  WARNING OGG-00706  Failed to add supplemental log group on table SYS.TEST due to ORA-01031: insufficient privileges SQL ALTER TABLE "SYS"."TEST" ADD SUPPLEMENTAL LOG GROUP "GGS_73209" ("ID") ALWAYS  /* GOLDENGATE_DDL_REPLICATION */.

GGSCI (dg1) 1> dblogin userid ggs,password ggs
    Successfully logged into database.

GGSCI (dg1) 2> add trandata sys.test

2013-08-22 13:46:41  WARNING OGG-00706  Failed to add supplemental log group on table SYS.TEST due to ORA-01031: insufficient privileges SQL ALTER TABLE "SYS"."TEST" ADD SUPPLEMENTAL LOG GROUP "GGS_73209" ("ID") ALWAYS  /* GOLDENGATE_DDL_REPLICATION */.

-------------------
    GGSCI (dg1) 3> add trandata hr.employee

Logging of supplemental redo data enabled for table HR.EMPLOYEE.

GGSCI (dg1) 4> add trandata hr.department

Logging of supplemental redo data enabled for table HR.DEPARTMENT.

SQL>grant INSERT, UPDATE, DELETE on HR.department to GGS;
    SQL>grant INSERT, UPDATE, DELETE on HR.employee to GGS;

1.8 配置抽取进程:
    GGSCI (node1) 6> add extract extnd,tranlog,begin now
    EXTRACT added.
    GGSCI (node1) 7> add exttrail ./dirdat/nd,extract extnd,megabytes 100
    EXTTRAIL added.
    GGSCI (node1) 8> edit params extnd
    (下面为配置文件内容)
    EXTRACT extnd
    SETENV (NLS_LANG = "AMERICAN_AMERICA.UTF8")
    SETENV (ORACLE_HOME = "/opt/app/oracle/product/11.2.0")
    USERID ggs@db1, PASSWORD ggs
    --GETTRUNCATES
    REPORTCOUNT EVERY 1 MINUTES, RATE
    DISCARDFILE ./dirrpt/extnd.dsc,APPEND,MEGABYTES 1024
    --THREADOPTIONS  MAXCOMMITPROPAGATIONDELAY 60000 IOLATENS 60000
    DBOPTIONS  ALLOWUNUSEDCOLUMN
    WARNLONGTRANS 2h,CHECKINTERVAL 3m
    EXTTRAIL ./dirdat/nd
    --TRANLOGOPTIONS EXCLUDEUSER USERNAME
    FETCHOPTIONS NOUSESNAPSHOT
    TRANLOGOPTIONS  CONVERTUCS2CLOBS
    TABLE hr.employee;
    TABLE hr.department;

添加传输进程,配置参数

GGSCI (dg1) 24> add extract dpend,exttrailsource ./dirdat/nd
    EXTRACT added.

GGSCI (dg1) 1> add rmttrail /opt/app/ggs/11.2/dirdat/nd,EXTRACT DPEND
    RMTTRAIL added.
    GGSCI (dg1) 2>

GGSCI (dg1) 2> edit params dpend    
    EXTRACT dpend
    SETENV (NLS_LANG = AMERICAN_AMERICA.UTF8)
    USERID ggs@db1, PASSWORD ggs
    PASSTHRU
    RMTHOST 192.168.10.88, MGRPORT 7809, compress
    RMTTRAIL /opt/app/ggs/11.2/dirdat/nd
    TABLE hr.depoarment;
    TABLE hr.employee;

1.8.2 在目标数据库上配置replicat进程
     1.8.2.1 配置replicat
    创建checkpoint表
    ggsci>dblogin userid ggs,password ggs
    ggsci>add checkpointtable ggs.checkpoint
    ggsci> edit params ./GLOBALS  #GLOBALS必须大写,编辑GLOBALS需要推出ggsci再进入,输入:
    CHECKPOINTTABLE ggs.checkpoint

1.8.2.2 创建replicat:
    GGSCI (dg2) 8> dblogin userid ggs,password ggs
    Successfully logged into database.

GGSCI (dg2) 9> add checkpointtable ggs.checkpoint

Successfully created checkpoint table ggs.checkpoint.

GGSCI (dg2) 10> add replicat repnd,exttrail /opt/app/ggs/11.2/dirdat/nd,checkpointtable ggs.checkpoint
    REPLICAT added.

1.8.2.3 启动extract及replicat
    1.8.2.3.1、启动extract 保证mgr已启动。

GGSCI (dg1) 7> start dpend
    EXTRACT DPEND is already running.

GGSCI (dg1) 8> start extnd
    EXTRACT EXTND is already running.
    GGSCI (dg1) 9> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
    EXTRACT     RUNNING     DPEND       00:00:00      00:00:07    
    EXTRACT     RUNNING     EXTND       00:00:00      00:00:10

GGSCI (dg2) 16> start REPND
    REPLICAT REPND is already running.

GGSCI (dg2) 17> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
    REPLICAT    RUNNING     REPND       00:00:00      00:00:10

--------------------------------------------------------

2.画一个OGG数据复制的数据流图。(示意图另外上传)
3.OGG有哪些进程,都有什么作用?
进程:
    1.MANAGER
     MANAGER 进程是GOLDENGATE的控制进程,源/目标端都有运行,
     功能:启动、监听及重启Goldengate的其它进程,报告错误及事件。分配数据存储空间,发布阀值报告等。
    2.EXTRACT
    EXTRACT 运行在源端,负责数据表或日志中捕获数据。
    3.PUMP
    PUMP 进程运行在源端,功能是:将生成的TRAIL文件以数据块的形式,通过网络发送到目标端。
    4.COLLECTOR
    COLLECTOR 功能是把TRAIL传输的数据块,重新组装成TRAIL文件 。
    5.REPLICAT
    REPLICAT 进程运行在目标端,负责读取TRAIL文件,并解析应用到目标数据库。

4.OGG数据复制的机制是什么,画出示意图。

ogg 数据复制的机制是对ORACLE REDO日志或归档日志进行分析,并筛选已提交的
    日志,并以通用文件 形式传输到目标服务器,对通用文件内容进行代码解析,应用到目标库。
    (示意图另外上传)

【ORACLE 高可用】 作业 :配置ORACLE GoldenGate 1相关推荐

  1. oracle高可用培训,企业级Oracle数据库高可用性(OracleDataGuard)DBA培训视频全集

    课程内容: 价值180元,在这一系列的有关Data Guard 的视频培训中,讲学习Data Guard的理论知识,如何去搭建一个Data Guard 环境,如何去维护Data Guard 的环境,如 ...

  2. 构建Oracle高可用环境HA rac:企业级高可用数据库架构、实战与经验总结

    1.1  理解Oracle数据库 1.2  Oracle高可用特性(High Availability) 1.3  搭建高可用的周边辅助环境 1.4  高可用应用设计 1.5  高可用数据库设计 1. ...

  3. oracle数据库的高可用r,Oracle高可用之dataguard

    Oracle高可用之dataguard DataGuard是一种数据库级别的HA方案,最主要功能是冗灾.数据保护.故障恢复等. 在生产数据库的"事务一致性"时,使用生产库的物理全备 ...

  4. 【陈吉平】《构建oracle高可用环境》前言

    这里,首先要感谢广大读者的支持与认可,该书第一次印刷到现在,2个多月的时间,就要准备第二次印刷了.在此期间,我也看到了很多读者反馈(包括读者书评与读者来信),他们对本书的肯定,让我深表感动.本书在写作 ...

  5. Oracle高可用概述(HA与RAC的关系解惑)

    1.你如何理解高可用的概念? 所谓的高可用HA就是当你的系统中的某个节点异常损坏了,系统还是可用状态,还可以对外提供服务,不会因为你的节点丢失而整体瘫痪. 2.列出你知道的Oracle高可用产品,并作 ...

  6. 重读 构建Oracle高可用环境(一)

    两年前, 看了陈吉平的<构建Oracle高可用环境>,用现在的话说,完全没有sense. 准备重读,照例找点文章先开开胃: RAID,即廉价磁盘冗余阵列,是一种将相同的数据放在多个硬盘上不 ...

  7. 中国第一个Oracle高可用认证大师?

    作者:姚远Oracle 姚远是2019年7月取得的Oracle 12c OCM认证,和10年以前取得10g OCM认证一样,没有参加学习班,在不知道题目的情况下硬考的.当时我就想考12c 的高可用认证 ...

  8. 19c 数据高可用实用配置 RAC + SingleADG

    19c 数据高可用实用配置 RAC + SingleADG 一.     环境介绍   主库 备库 架构 RAC 单机 操作系统 RedHat Linux 7.7 x64 RedHat Linux 7 ...

  9. 运维企业专题(10)RHCS集群工具——FENCE搭建、高可用服务配置详解

    前言:FENCE工具的原理及作用 FENCE设备是RHCS集群中必不可少的一个组成部分,通过FENCE设备可以避免因出现不可预知的情况而造成的"脑裂"现象,FENCE设备的出现,就 ...

  10. HaProxy+Keepalived+Mycat高可用群集配置 - pursuer.chen - 博客园

    HaProxy+Keepalived+Mycat高可用群集配置 - pursuer.chen - 博客园

最新文章

  1. python 归一化_只需 45 秒,Python 给故宫画一组手绘图!
  2. 博科300交换机不中断(non-disruptive)固件升级
  3. 2019值得每天闲逛的网站
  4. XML数据读取方式性能比较(一)
  5. Android数据存储之SharePreference和内部存储
  6. 跟我学OpenJPA
  7. SAP UI5 应用开发教程之十八 - SAP UI5 数据绑定语法里的特殊符号,以及绝对绑定和相对绑定概念详解
  8. MOXy是GlassFish 4中新的默认JSON绑定提供程序
  9. 查找一个类的好方法,可节省做很多层的传递
  10. 1.5T和2.0L哪个好?
  11. 自己写的一个ffmpeg时间戳分析工具
  12. VMware Workstation 10.0.7 安装
  13. php阿里云短信验证码
  14. 金融衍生品软件产品设计必备知识——上海黄金交易所产品概览
  15. 用canvas实现九宫格切图之手把手教学(uniapp+ts)
  16. 深度学习 | 训练及优化方法
  17. 微信小程序 判断身份证号码正确(封装成公共方法并使用)
  18. 商城 商品模块 数据库 表设计
  19. 疫情严峻,为什么VR全景能逆生长?
  20. 推荐一个免费的论文查询,检索和查重网站

热门文章

  1. 子报表修改后需要重新导入,0.00显示.00的调整方法
  2. 1.4 isAlive()方法
  3. Shader中颜色混合的算法
  4. Golang入门教程(二)Ubuntu16.04下安装golang(实例:Golang 定时任务管理器)
  5. maven,spring,mybatis集成错误
  6. DWZ关闭navTab后刷新指定的navTab
  7. Android攻城狮SurfaceView
  8. Bzoj 3343: 教主的魔法(分块+二分答案)
  9. POJ 2186 挑战 --牛红人 强连通分量——Tarjan
  10. Codeforces Round #321 (Div. 2) B. Kefa and Company (尺取)