• Zero Downtime Upgrade of Oracle 10g to Oracle 11g Using GoldenGate — 2


    Prepare 10g Database for OGG

    Create GGS and GGS_MON Database Users

    SQL> create tablespace ggs_tbs datafile '/u01/app/oracle/oradata/zwc/gg_tbs01.dbf' size 100M;

    Tablespace created.

    SQL> create user ggs identified by ggs default tablespace ggs_tbs temporary tablespace temp;

    User created.

    SQL> grant dba to ggs;

    Grant succeeded.

    SQL> create user ggs_mon identified by ggs_mon default tablespace ggs_tbs temporary tablespace temp;

    User created.

    SQL> grant connect,resource to ggs_mon;

    Grant succeeded.

     

    Enable Database Level Supplemental Logging

    SQL> select name,supplemental_log_data_min from v$database;

    NAME      SUPPLEME
    ——— ——–
    ZWC       NO

    SQL> alter database add supplemental log data;

    Database altered.

    SQL> alter system switch logfile;

    System altered.

    SQL> select name,supplemental_log_data_min from v$database;

    NAME      SUPPLEME
    ——— ——–
    ZWC       YES

     

    Enable Force Logging

    SQL> select force_logging from v$database;

    FOR

    NO

    SQL> shutdown immediate
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup mount
    ORACLE instance started.

    Total System Global Area  281018368 bytes
    Fixed Size                  2083336 bytes
    Variable Size             155190776 bytes
    Database Buffers          117440512 bytes
    Redo Buffers                6303744 bytes
    Database mounted.
    SQL> alter database force logging;

    Database altered.

    SQL> alter database open;

    Database altered.

    SQL> select force_logging from v$database;

    FOR

    YES

     

    Check Table-Level Supplemental Logging

    SQL> select t.owner,
      2         t.tbl_cnt,
      3         s.sup_log_grp_cnt,
      4         t.tbl_cnt – s.sup_log_grp_cnt "Diff"
      5    from (select owner, count(*) tbl_cnt from dba_tables group by owner) t,
      6         (select owner, count(*) sup_log_grp_cnt
      7            from dba_log_groups
      8           group by owner) s
      9   where t.owner = s.owner(+)
     10     and t.owner in ('HR', 'OE', 'PM');

    OWNER    TBL_CNT SUP_LOG_GRP_CNT       Diff
    —– ———- ————— ———-
    HR             7
    PM             2
    OE            12

     

    If you are planning to use sqlplus then you can use commands like:

    alter database <table_name> add supplemental log data (all) columns;

    alter database <table_name> add supplemental log data (primary key) columns;

    For this demo,we will use Oracle GoldenGate command interface to add table level supplemental logging.The command from ggsci interface is "add trandata <table_name>".

    [oracle@zwc ggs]$ sqlplus ggs

    SQL*Plus: Release 10.2.0.4.0 – Production on Thu Jun 5 22:01:53 2014

    Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

    Enter password: 

    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 – 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options

    SQL> spool add_trandata.oby
    SQL> set linesize 150 pagesize 0 feedback off
    SQL> spool add_missing_trandata.oby
    SQL> select 'add trandata ' || t.owner || '.' || t.table_name stmt
      2    from (select owner, table_name from dba_tables) t,
      3         (select owner, table_name from dba_log_groups) s
      4   where t.owner = s.owner(+)
      5     and t.table_name = s.table_name(+)
      6     and s.table_name is null
      7     and t.owner in ('HR', 'OE', 'PM');
    add trandata HR.REGIONS
    add trandata HR.LOCATIONS
    add trandata HR.DEPARTMENTS
    add trandata HR.JOBS
    add trandata OE.WAREHOUSES
    add trandata OE.ORDER_ITEMS
    add trandata OE.ORDERS
    add trandata OE.PRODUCT_INFORMATION
    add trandata OE.PROMOTIONS
    add trandata OE.SYS_IOT_OVER_52810
    add trandata OE.SYS_IOT_OVER_52815
    add trandata OE.PRODUCT_REF_LIST_NESTEDTAB
    add trandata OE.SUBCATEGORY_REF_LIST_NESTEDTAB
    add trandata HR.COUNTRIES
    add trandata PM.ONLINE_MEDIA
    add trandata PM.PRINT_MEDIA
    add trandata OE.CUSTOMERS
    add trandata HR.JOB_HISTORY
    add trandata OE.PRODUCT_DESCRIPTIONS
    add trandata OE.INVENTORIES
    add trandata HR.EMPLOYEES
    SQL> spool off

     

    [oracle@zwc ggs]$ ggsci 

    Oracle GoldenGate Command Interpreter for Oracle
    Version 11.2.1.0.6 16211226 OGGCORE_11.2.1.0.6_PLATFORMS_130418.1829_FBO
    Linux, x64, 64bit (optimized), Oracle 10g on Apr 18 2013 22:43:23

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

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

    GGSCI (zwc) 2> obey ./diroby/add_missing_trandata.oby

    GGSCI (zwc) 3> add trandata HR.REGIONS                                                                                                                               

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

    GGSCI (zwc) 4> add trandata HR.LOCATIONS                                                                                                                             

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

    GGSCI (zwc) 5> add trandata HR.DEPARTMENTS                                                                                                                           

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

    GGSCI (zwc) 6> add trandata HR.JOBS                                                                                                                                  

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

    GGSCI (zwc) 7> add trandata OE.WAREHOUSES    

     

    SQL> select t.owner,
      2         t.tbl_cnt,
      3         s.sup_log_grp_cnt,
      4         t.tbl_cnt – s.sup_log_grp_cnt "Diff"
      5    from (select owner, count(*) tbl_cnt from dba_tables group by owner) t,
      6         (select owner, count(*) sup_log_grp_cnt
      7            from dba_log_groups
      8           group by owner) s
      9   where t.owner = s.owner(+)
     10     and t.owner in ('HR', 'OE', 'PM');

    OWNER                             TBL_CNT SUP_LOG_GRP_CNT       Diff
    —————————— ———- ————— ———-
    HR                                      7               7          0
    OE                                     12               8          4
    PM                                      2               2          0

     

    Create Tables for Heartbeat

    SQL> create table ggs_mon.ggs_heartbeat(id number,ts date);

    Table created.

    SQL> insert into ggs_mon.ggs_heartbeat values(1,sysdate);

    1 row created.

    SQL> commit;

    Commit complete.

    SQL> create table ggs_mon.ggs_lagtime
      2  (id number,
      3  ts date,
      4  committime date,
      5  groupname varchar2(8),
      6  host varchar2(60),
      7  local_insert_time date);

    Table created.

    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    Mariadb Galera Cluster 群集 安装部署
    RabbitMQ Cluster群集安装配置
    Glance 镜像服务群集
    Nova控制节点集群
    openstack集群环境准备
    http高可用+负载均衡 corosync + pacemaker + pcs
    cinder块存储控制节点
    cinder块存储 后端采用lvm、nfs安装配置
    web管理kvm ,安装webvirtmgr
    kvm虚拟机管理 系统自动化安装
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4842813.html
Copyright © 2020-2023  润新知