Oracle GoldenGate Technical Architecture
1. Objectives:
    1. Describe Oracle GoldenGate uses;
    2. Lean the components of Oracle GoldenGate;
    3. Explain change capture and delivery(with and without a dump);
    4. Explain inital data load;
    5. Contrast batch and online operation;
    6. Explain Oracle GoldenGate checkpointing;
    7. Describe Oracle GoldenGate parameters, process groups and GGSCI commands;
2. Oracle GoldenGate Users:
    1. Primarily userd for change data capture and delivery from database transaction logs;
    2. Can optionally be used for initial load directly from database tables:
        1. Especially usefull for synchronizing heterogeneous databases,对异构数据库之间同步数据特别有用;
        2. Database-specific methods may be preferable for homogeneous configurations,同构数据库之间最好使用数据库本身的方法;
3. Oracle GlodenGate Components:
    1. Extract:process,source;
    2. Data Pump:process,source;
    3. Replicat:process,target;
    4. Trails or Extract files:file,source and target;
    5. Checkpoints:process;
    6. Manager:process,source and target;
    7. Collector:process,target;
4. 使用中的各种场景:
    1. Change Data Capture and Delivery;
    2. Change Data Capture and Delivery using a Data Pump;
    3. Bidirectional Configuration;
    4. Initial Load;
5. Abount the trails:
    1. To support the continuous extraction and replication of database changes, Oracle GoldenGate stores the captured changes temporarily on disk in a series of files called a trail;
    2. A trail can exist on the source or target system, or an intermediary system, depending on your configuration;
    3. On the local system it’s know as an extract trail(or local trail), On a remote system it’s known as a remote trail;
    4. All files names in a trail begin with the same two characters which you assign when you create the trail(max 10m default). As files are created, each name is appended with a unique, six-digit serial number from 000000 through 999999, for example:/gg11/dirdat/tr000018;
6. Data Pump:In most business cases, you should use a data pump, some reasons for using a data pump include the followint;
    1. Protection against network and target failures;
    2. Implementing serveral phases of data filtering or transformation;
    3. Consolidating data from many sources to a central target;
    4. Synchronizing one source with multiple targets;
7. Procesing Methods:
    1. Oracle GoldenGate can be configured for the following purposes:
        1. A static extraction of selected data records from one database and loading of those records to another database;
        2. Online or batch extraction and replication of selected transactional data changes and DDL changes(for supported database) to keep source and target data consistent;
        3. Extraction from database and replication to a file outside the database;
    2. Methods:
        1. An online process runs until stopped by a user, you can use online processes to continuously extract and replicate transactional changes and DDL changes(where supported);
        2. A bach run, or special run, process extracts or replicates database changes that were generated within know begin and end points;
        3. A task is a special type of batch run process and is used for certain initial load methods. A task is a configuration in which Extract communicates directly with Replicat over TCP/OP. Neither a Collector process nor temporary disk storage in a trail or file is used;
8. Checkpointing:Capture, Pump, and Delivery save positions to a checkpoint file so they can recover in case of failure;
9. Parameters, Process Groups and Commands:
    1. GoldenGate processes are configured by ASCII parameter files;
    2. A process group consists of:
        1. An Extract or Replicat process;
        2. Associated parameter file;
        3. Associated checkpoint file;
        4. Any other files associated with that process;
        5. Each process group on a system must have a unique group name;
    3. Processes are added and started using the GoldenGate Software Command Interface(GGSCI) with the group name;
    4. GGSCI commands also add trails, check process status,etc;