【ORACLE 高可用】 作业 :配置ORACLE GoldenGate 1

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日志或归档日志进行分析,并筛选已提交的
    日志,并以通用文件 形式传输到目标服务器,对通用文件内容进行代码解析,应用到目标库。
    (示意图另外上传)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值