Your SlideShare is downloading. ×
Advanced goldengate training ⅰ
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Advanced goldengate training ⅰ

4,612
views

Published on

oracle goldengate training

oracle goldengate training


1 Comment
1 Like
Statistics
Notes
  • If you want to be perfect in Oracle golden gate then choose Samhita IT best oracle golden gate training provider in the market. We Offer oracle golden gate training in various platforms, like Linux, Unix. Our oracle golden gate trainer is expert in the subject, and gives all real time project during the training. We are proud enough to say that we are the best online training provider for oracle golden gate.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
4,612
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
161
Comments
1
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Advanced Goldengate Training Ⅰ
    www.oggers.net
    2011-07-25
  • 2. Agenda
    □Mothod of initialize data
    □ Handing essential DML and DML error
    □ Handing Advanced DDL sync and DDL error
    □ Map and manipulating data
    □ Monitor and Troubleshooting

  • 3. Initialize Data
    If your database is huge and application transcations are still ongoing ,there is little stop-time,How should you Initialize your data?
    □ Use Keys + Handlecollsions
    □Use the commit SCN
  • 4. Handlecollsions
    □How does the Handlecollsions work?
    □ Where is the drawbacks with Handlecollsions?
    ● Does your tables have any primary key or unique key?
    ● Is there primary key update during initialization ?
    Suitable for your environment ?

  • 5. Commit SCN
    ♦ Commit SCN/GoldengateCSN
    ♦ the common initialized mothods Via SCN
    □ exp/imp
    □ expdp/impdp
    □ Transport Tablespace with Backupset(compare Transport Tablespace)
    □ Datagurd/RMAN
    □ Other consistent read utility


  • 6. How to re-initialize a special table
    □ split replicat group and merge it
    □ Using transaction CSN Filter
    map hr.job, target hr.job, filter (@GETENV ("transaction", "csn") > xxx);
  • 7. Agenda
    □Mothod of initialize data
    □ Handing essential DML and DML error
    □ Handing Advanced DDL sync and DDL error
    □ Map and manipulating data
    □ Monitor and Troubleshooting

  • 8. Non-supported data types
    ● ANYDATA
    ● ANYDATASET
    ● ANYTYPE
    ● BFILE
    ● BINARY_INTEGER
    ● MLSLABEL
    ● PLS_INTEGER
    ● TIMEZONE_ABBR
    ● TIMEZONE_REGION
    ● URITYPE
    ● UROWID

  • 9. DML replication action
    □ Keys(Primary key/unique key/keycols) action
    ● why to recommend to use keys?
    ● How to use keycols?
    □supplemental non-key column action

  • 10. Handing DML error
    □ Handing replicat errors on DML operations via REPERROR
    Abort: roll back the transaction and stop processing
    Discard: log the error to the discard file and continue processing
    Exception: send the error for exceptions processing
    Ignore: ignore the error and continue processing
    example:
    reperror default,discard
    discardfile ./dirrpt/rep_hr.dsc,append,megabytes 100

  • 11. Use multiple REPERROR statements
    □ handing special error-code
    reperror XXXX discard
    □ handing special object
    reperror default ignore exclude/include objname “hr.jobs”

  • 12. Use exception table
    REPERROR (DEFAULT, EXCEPTION)
    MAP hr.jobs, TARGET hr.jobs, &
    COLMAP (USEDEFAULTS);
    MAP hr.jobs, TARGET hr.jobs_exception, &
    EXCEPTIONSONLY, &
    INSERTALLRECORDS &
    COLMAP (USEDEFAULTS, &
    DML_DATE = @DATENOW(), &
    OPTYPE = @GETENV("LASTERR", "OPTYPE"), &
    ERR_NUM = @GETENV("LASTERR", "DBERRNUM"), &
    ERR_MSG = @GETENV("LASTERR", "DBERRMSG"));

  • 13. Agenda
    □Mothod of initialize data
    □ Handing essential DML and DML error
    □ Handing Advanced DDL sync and DDL error
    □ Map and manipulating data
    □ Monitor and Troubleshooting

  • 14. DDL limitations and influence
    □ Disable recycle bin and affect other database environment
    □ affect data filtering, and manipulation by the data pump (passthru/nopassthru)
    □affect data-definition
    □Others

    Must configure DDL synchronization?
  • 15. DDL Scope
    □ Mapped
    Objects that are specified in TABLE and MAP statements
    □ Unmapped
    Objects that are not specified in TABLE and MAP statements
    □Other scope
    DDL operations that cannot be mapped are of OTHER scope,justlike the follow operations: create user,grantrole,createtablespace ,alter datafile …

  • 16. DDL Filter
    ● exclude/include
    ● mapped/unmapped/other/all
    filter scope
    ● opttype/objtype/objname
    filter special ddl action and object
    ● instr/instrwors
    filter via matching

    ddl &
    include mapped exclude objtype'table‘ objname"hr.jobs", &
    exclude INSTRWORDS 'alter add “city"', &
    include unmapped, objname "hr3.jobs", &
    include other
  • 17. DDL DDLSUBST
    ● When may we use DDLSUBST
    like as the objects on source and target have the different tablespace
    like as the datafile on source and tarhet have different destination
    ---------
    DDLSUBST 'users' with 'system' include mapped objtype ‘table’ INSTRWORDS 'create table tablespace "users"'

    Notice:
    Must be careful and the best way is to restrict the DDL statement via DDL inclusion and exclusion options
    Take care of ddl matching via instr, it’s strict matching, including space character, carriage-return character
  • 18. derived object
    □ Notice the derived object action
    ● Rename
    ● CTAS
    ● Index
    ● Trigger
    □ mapderived/ nomapderived

  • 19. DDL Other Topic
    □ Sequence
    can the sequence really be synchronized before V11.1.1.1.0?
    □ Password
    □ Add supplemental log groups
    ddloptionsaddtrandataretryop

  • 20. Use multiple DDLERROR statements
    □ handing special error-code
    ddlerror XXXX discard
    □ handing special object
    ddlerror default ignore include OBJTYPE TABLE OBJNAME “hr1.*”

  • 21. Agenda
    □Mothod of initialize data
    □Handing essential DML and DML error
    □ Handing Advanced DDL sync and DDL error
    □ Map and manipulating data
    □ Monitor and Troubleshooting

  • 22. Select Rows
    □Method of select rows
    ● Filter
    select rows based on a numeric value by using basic operators or one or more GoldenGate column-conversion functions
    MAP hr.jobs,TARGET hr.jobs, FILTER (ON INSERT, job_id > 1000);
    ● Where
    select rows based on a conditional statement
    MAP hr.jobs,TARGET hr.jobs, where (job_name=@presentand= “Jerry”);

  • 23. Map Columns
    □COLMAP
    map table-level column
    map hr.jobs, target hr.jobs_add,&
    colmap (usedefaults,totol_salary=salary*days);
    □COLMATCH
    map between similarly structured tables that have different column names for the same sets of data
    colmatch suffix _s
    map hr.jobs, target hr.jobs, colmap(usedefaults);
    The column named Job_id on source is named Job_id_s on target

  • 24. Data-definationsfile
    □data-definations file
    It’s used to synchronize source and target tables that have dissimilar data definitions
    ● DEFGEN
    the tool is used to create a data-definations file
    defgenparamfiledirprm/defgen.prm
    ● SOURCEDEFS
    Specifies a file that contains source data definitions created by
    the DEFGEN utility

  • 25. Convert DML operations
    □ select dml type
    ● GETUPDATES | IGNOREUPDATES
    ● GETDELETES | IGNOREDELETES
    ● GETINSERTS | IGNOREINSERTS
    □ convert dml type
    ● INSERTALLRECORDS
    ● INSERTUPDATES
    ● INSERTDELETES
    ● UPDATEDELETES

  • 26. Obtain transaction info
    □ the useful of transaction info
    □ Function
    GETENV (“TRANSACTION”, “<return value>”)
    GETENV (“GGHEADER”, “<return value>”)
    map hr.jobs, target hr.jobs,&
    colmap &
    ( &
    usedefaults,&
    Op_type = @GETENV (“GGHEADER”, “OPTYPE”),&
    Indicator = @GETENV (“GGHEADER”, “BEFOREAFTERINDICATOR”), &
    commit_ts= @GETENV (“GGHEADER”, “COMMITTIMESTAMP”) &
    )