Course Outline
1. Introduction
Objectives 1-2
Oracle GoldenGate: What Is It? 1-3
Why Do You Need Oracle GoldenGate? 1-4
Uses of Oracle GoldenGate 1-5
Use Case Example Oracle GoldenGate for Operational Reporting 1-6
Oracle GoldenGate for Oracle Database Eliminate Down Time for Migrations and
Application Upgrades 1-7
Oracle GoldenGate for Oracle Database Eliminate Down Time During Oracle
Database Upgrades 1-8
Oracle GoldenGate for Oracle Database Eliminate Unplanned Down Time with
Active Data Guard 1-9
Oracle GoldenGate Eliminate Unplanned Down Time with Live Standby 1-10
Oracle GoldenGate Increase Return on Investment on Existing Servers and
Synchronize Global Data 1-11
Oracle GoldenGate for Oracle Database Complete Data Replication Platform for
Sharded Database 1-12
Oracle GoldenGate for Oracle Database Offload Redo Logs 1-13
Oracle GoldenGate for Oracle Database Improve Production System Performance
and Lower Costs 1-14
Oracle GoldenGate Topologies 1-15
Supported Databases 1-17
Oracle GoldenGate for Big Data: Typical Data Flow 1-18
Supported Operating Systems 1-19
Oracle Middleware for Business Intelligence 1-20
Oracle GoldenGate and Oracle Data Integrator 1-21
Oracle GoldenGate Product Line 1-22
Quiz 1-23
Summary 1-26
Practice 1 Overview: Verifying the Lab Environment 1-27
2. Oracle GoldenGate Architecture
Objectives 2-2
Oracle GoldenGate Architectures 2-3
Classic Versus Microservices Architecture 2-4
Oracle GoldenGate Classic Architecture 2-5
Classic Architecture: Components of Oracle GoldenGate 2-6
Microservices Architecture 2-12
Microservices Architecture Example 2-13
Microservices Architecture: Main Components 2-14
Microservices Architecture: Additional Components 2-15
Microservices Architecture: REST API 2-16
The REST API 2-17
Microservices Architecture: Service Manager 2-18
Microservices Architecture: Security, Authentication, and Authorization 2-19
Microservices Architecture Authentication 2-20
Microservices Architecture: Secure and Nonsecure Deployments 2-21
Microservices Architecture: 19c Secure Deployment Options 2-22
Microservices Architecture: Target Initiated Paths 2-23
Microservices Architecture: ipACL 2-24
Microservices Architecture: Roles 2-26
Microservices Architecture: GoldenGate 19c Security Features 2-28
Microservices Architecture: Integration with External Key Management
Services 2-29
Oracle GoldenGate Process Groups 2-30
Process Group Naming Conventions 2-31
Classic Architecture: GGSCI 2-33
Parameter Files 2-34
Extract Types 2-35
Microservices Architecture: Capture and Delivery Using a Distribution Server
and Path 2-36
Classic Architecture: Capture and Delivery Workflow 2-37
Classic Architecture: Capture and Delivery Using a Data Pump 2-39
Distributed Topologies for Integrated Extract: Same Machine 2-40
Distributed Topologies for Integrated Extract: Different Machine, Real Time 2-41
Distributed Topologies for Integrated Extract: Different Machine,
Non-Real-Time 2-42
Online Versus Batch Operation 2-43
Running an Initial Load 2-44
Classic Architecture: Initial Load Workflow 2-45
Microservices Architecture: Initial Load Workflow 2-46
Checkpoints: Capture 2-47
Checkpoints: Pump (CA Only) 2-48
Checkpoints: Distribution Server Path (MA Only) 2-49
Checkpoints: Delivery 2-50
Commit Sequence Number 2-51
Discussion Questions 2-52
Quiz 2-53
Summary 2-54
3. Installing Oracle GoldenGate Microservices Architecture
Objectives 3-2
Operating System Requirements: Memory 3-3
Operating System Requirements: Swap 3-4
Operating System Requirements: Disk 3-5
Operating System Requirements: Network 3-6
Operating System Requirements: Privileges 3-7
Oracle GoldenGate 19c MA Software Bundle 3-8
Phase 1, Step 1: Select the Database Release 3-9
Phase 1, Step 2: Select the GoldenGate Home 3-10
Phase 1, Step 3: Install the Software 3-11
Phase 1, Steps 4 and 5: Monitor the Installation 3-12
Phase 2: Creating Certificates 3-13
Example: Create a Self-Signed CA Certificate 3-14
Example: Self-Signed Server Certificate Creation 3-15
Example: Self-Signed Client Certificate Creation 3-17
Adding Trusted Points 3-19
Configuring MA Servers/Services Using oggca 3-20
Phase 3, oggca.sh Step 1: Service Manager Details 3-21
Phase 3, oggca.sh Step 2: Deployment Configuration Option 3-22
Phase 3, oggca.sh Step 3: Deployment Details 3-23
Phase 3, oggca.sh Step 4: Deployment Home 3-24
Phase 3, oggca.sh Step 5: Deployment Home 3-25
Phase 3, oggca.sh Step 6: Administrator Account 3-26
Phase 3, oggca.sh Step 7: SSL/TLS Security 3-27
Phase 3, oggca.sh Step 8: Cryptography Protocols 3-28
Phase 3, oggca.sh Step 9: Servers and Monitoring 3-30
Phase 3, oggca.sh Step 10: Replication Options 3-31
Phase 3, oggca.sh Step 11: Click Finish or Save Response File 3-32
Phase 3, oggca.sh Step 12: Execute Configuration Scripts 3-33
Phase 3, oggca.sh Step 13: Select Close 3-34
Verifying Deployment Configuration Using Browser 3-35
MA Admin Client Overview 3-36
Admin Client and GGSCI: Similarities and Differences 3-37
Admin Client: MA-Specific Syntax 3-38
Admin Client Environment Variables 3-39
Connecting Using the adminclient 3-40
Verifying Deployment Configuration Using adminclient 3-41
Discussion Questions 3-42
Quiz 3-43
Summary 3-45
Practice 3 Overview: Installing Oracle GoldenGate Microservices Architecture 3-46
4. Installing Oracle GoldenGate Classic Architecture
Objectives 4-2
Operating System Requirements: Memory 4-3
Operating System Requirements: Disk 4-4
Operating System Requirements: Network 4-5
Downloading Oracle GoldenGate 4-6
Setting Environment Variables 4-7
Installation on UNIX, Linux, or z/OS Systems 4-8
Oracle Universal Installer GUI 4-9
Installation on Linux Using a tar Command 4-11
Installation on Windows Systems 4-12
Oracle GoldenGate Directories 4-13
GGSCI Command Interpreter 4-17
GGSCI Commands 4-18
GGSCI Examples 4-22
Obey Files 4-23
Running Oracle GoldenGate from the OS Shell 4-24
Discussion Questions 4-25
Summary 4-26
Practice 4 Overview: Installing Oracle GoldenGate Classic Architecture 4-27
5. Preparing the Environment
Objectives 5-2
Configuring Oracle GoldenGate: Overview 5-3
Configuring Oracle GoldenGate 5-4
Preparing the Environment: Enabling Oracle GoldenGate in the Database 5-5
Preparing the Environment: Defining Roles and Privileges 5-6
Create a Wallet and Credential Store 5-9
Preparing the Environment: Supplemental Logging 5-10
CA: Using Command Security 5-12
CA: Sample CMDSEC Statements 5-13
Handling TCP/IP Errors 5-14
The tcperrs File 5-15
CA: Preparing the Environment - Starting the Manager 5-16
CA: Preparing the Environment - Sample Manager Parameter File 5-17
Preparing the Environment: Generating an Optional Target Definitions File 5-18
Replication Lag Analysis 5-19
Quiz 5-20
Summary 5-22
Practice 5 Overview: Preparing the Environment 5-23
6. Configuring the Extracts
Objectives 6-2
Step 2: Change Capture 6-3
Extract: Overview 6-4
CA: Data Pump Overview 6-5
CA Data Pumps: One-to-Many Trails 6-6
CA Data Pumps: One-to-Many Target Systems 6-7
Configuring Extract: Basic Steps 6-8
MA Administration Server: Webpage Overview 6-9
MA Administration Server: Add Extract 6-10
MA Administration Server: Extract Options 6-11
MA Administration Server: Extract Parameters 6-12
MA Administration Server: Extract Report 6-13
The Add Extract Command 6-14
MA Add Extract: adminclient Examples 6-15
CA Add Extract: ggsci Examples 6-16
MA Editing Extract Parameters: adminclient Example 6-17
CA Editing Extract Parameters: ggsci Example 6-18
CA Passive Alias Extract 6-20
CA Add Extract Command for Alias Extract 6-22
Overview of Trails 6-23
CA: Adding a Local or Remote Trail 6-24
MA Starting the Extract: adminclient Example 6-25
CA Starting the Extract: ggsci Example 6-26
MA: Primary Extract Configuration for Oracle 6-27
CA: Primary Extract Configuration for Oracle 6-28
Data Definition Language Replication 6-29
CA: Data Pump Configuration for Oracle 6-30
Automatic Storage Management 6-31
Ensuring ASM Connectivity 6-32
ASM and DBLogReader 6-33
Discussion Questions 6-34
Summary 6-36
Practice 6 Overview: Configuring the Extracts 6-37
7. Oracle GoldenGate Microservices Architecture: Distribution Server
Objectives 7-2
Step 2: Change Capture 7-3
Microservices Architecture Example 7-4
MA Distribution Server Overview 7-5
Data Pump Replacement 7-6
Multiple Protocols 7-7
Distribution Server Functionality 7-8
Embedded Web Server 7-9
Web Page Overview 7-10
Add a Path Using the Distribution Server 7-11
Add a Path Using the adminclient 7-13
Path Management Using the Distribution Server 7-14
Path Management Using the adminclient 7-15
The Path Information Page 7-16
Path Statistics 7-17
Quiz 7-18
Summary 7-19
Practice 7 Overview: Oracle GoldenGate Microservices Architecture: Distribution
Server 7-20
8. Oracle GoldenGate Microservices Architecture: Receiver Server
Objectives 8-2
Receiver Server Overview 8-3
Receiver Server Functionality 8-4
Receiver Server Interaction with a Distribution Server 8-5
Receiver Server Web GUI 8-7
Receiver Server: Path Information 8-8
Receiver Server Management using the adminclient 8-9
Microservices Architecture: Target Initiated Paths 8-10
Microservices: Target Initiated Paths 8-11
Secure GoldenGate Host Machine with Reverse Proxy 8-13
NGINX Reverse Proxy Prerequisites 8-14
Configuring NGINX Reverse Proxy 8-15
Quiz 8-17
Summary 8-18
Practice 8 Overview: Oracle GoldenGate Microservices Architecture–Receiver
Server 8-19
9. Configuring Initial Load
Objectives 9-2
Configuring Oracle GoldenGate: Overview 9-3
Initial Load: Advantages of Oracle GoldenGate Methods 9-4
Initial Load: Resource Limitations 9-5
Prerequisites for Initial Load 9-6
Initial Load: Oracle Database Best Practice Methods 9-8
Initial Load Using RMAN: Destination Auxiliary Instance 9-9
Integration with Oracle Data Pump: Source Database 9-10
Integration with Oracle Data Pump: Target Database 9-11
MA Initial Load: Oracle GoldenGate Methods 9-12
CA Initial Load: Oracle GoldenGate Methods 9-13
Microservices Architecture: File to Replicat 9-14
CA Initial Load: File to Replicat 9-15
CA Initial Load: File to Database Utility 9-16
CA Initial Load: Direct Load 9-18
CA Initial Load: Direct Bulk Load (to Oracle) 9-20
Discussion Questions 9-21
Summary 9-22
Practice 9 Overview: Configuring Initial Load 9-23
10. Configuring Replicat
Objectives 10-2
Configuring Oracle GoldenGate: Overview 10-3
Replicat Overview 10-4
Comparison of Replicats 10-5
Nonintegrated or “Classic” Replicat 10-6
“Integrated” Replicat aka “Integrated Delivery” 10-7
Coordinated Replicat 10-8
Parallel Replicat 10-9
Components of Parallel Replicat 10-10
Parallel Replication Architecture 10-11
Parallel Replicat Performance Improvements 10-12
Parallel Replicat Control Parameters 10-13
MA Administration Server: Web Page Overview 10-14
MA Administration Server: Add Replicat 10-15
MA Administration Server: Replicat Options 10-16
MA Administration Server: Replicat Statistics 10-17
MA: Change Delivery Tasks 10-18
CA: Change Delivery Tasks 10-19
Checkpoint Table 10-20
MA: Sample Configuration 10-21
CA: Sample Configuration 10-22
Avoiding Collisions with Initial Load 10-23
Handling Collisions with Initial Load 10-24
Obtaining Process Information: adminclient or GGSCI 10-25
Process Report Files 10-27
Sample Extract Process Report 10-28
Discard Files 10-29
Using the ggserr.log Error Log 10-30
Using the System Logs 10-31
Discussion Questions 10-32
Quiz 10-33
Summary 10-35
Practice 10 Overview: Configuring Change Delivery 10-36
11. Managing Extract Trails and Files
Objectives 11-2
Extract Trails and Files: Overview 11-3
Extract Trails and Files: Distribution 11-4
Extract Trails and Files: Contents 11-5
Extract Trails and Files: Cleanup 11-6
Trail Format 11-7
Trail File Header Area 11-8
Record Header and Data Areas 11-9
Setting the Compatibility Level 11-10
Alternative Trail Formats 11-11
Logical Change Records (LCRs) 11-12
OutputFormat Text 11-13
OutputFormat Text Sample Output 11-14
OutputFormat SQL 11-15
OutputFormat SQL Sample Output 11-16
OutputFormat XML 11-17
OutputFormat XML Sample Output 11-18
The logdump Utility 11-19
Opening a Trail 11-20
Setting Up a View 11-21
Viewing the Trail File Header 11-22
Viewing Trail Records 11-23
Viewing Canonical Trail Records 11-24
Counting Records in the Trail 11-25
Filtering by a File Name 11-27
Locating a Hex Data Value 11-28
Metadata Encapsulation: Overview 11-30
Metadata in Trail Files 11-31
Support for Metadata Encapsulation in logdump 11-32
Saving Records to a New Trail 11-33
Keeping a Log of Your Session 11-34
Discussion Questions 11-35
Quiz 11-36
Summary 11-37
Practice 11 Overview: Managing Extract Trails and Files 11-38
12. Oracle GoldenGate Parameters
Objectives 12-2
Oracle GoldenGate Parameter Files 12-3
CA: Using Parameter Files 12-4
GLOBALS Versus Process Parameters 12-5
GLOBALS Parameters 12-6
MA Managed Process Settings Profile 12-7
CA Manager Parameters: Overview 12-9
CA Sample Manager Parameter File 12-10
CA Manager Parameter Categories 12-11
Managing Trail Files 12-12
Extract Parameter: Overview 12-13
Extract Parameter Defaults 12-14
CA Sample Extract Parameter File 12-15
Extract Parameter Categories 12-16
Extract Example: Table Parameter 12-18
Extract Example: TranLogOptions Parameter 12-19
Replicat Parameters: Overview 12-20
Replicat Parameter Defaults 12-21
Sample Replicat Parameter File 12-22
Replicat Parameter Categories 12-23
Replicat Example: Map Parameter 12-25
DBOptions 12-27
Discussion Questions 12-28
Summary 12-29
Practice 12 Overview: Oracle GoldenGate Parameters 12-30
13. Data Selection and Filtering
Objectives 13-2
Data Mapping and Manipulation: Overview 13-3
Types of Definition Files 13-4
Data Selection: Overview 13-5
Data Selection: Where Clause 13-6
Data Selection: Where Clause Examples 13-8
Data Selection: Filter Clause 13-9
Data Selection: Filter Clause Examples 13-10
MA Distribution Server Path: Filter Clause 13-11
Column Mapping: Overview 13-13
Column Mapping: Example 13-14
Column Mapping: Building History 13-15
Data Transformation Using Functions 13-16
Functions: Performing Tests on Column Values 13-17
@IF Function 13-18
Functions: Working with Dates 13-19
@Date Function 13-20
Functions: Working with Strings and Numbers 13-21
@StrCat Function 13-23
@StrExt Function 13-24
Other Functions 13-25
SQLEXEC: Overview 13-26
SQLEXEC: Basic Functionality 13-27
SQLEXEC: DBMS and Data Type Support 13-28
SQLEXEC: Usage with a LOOKUP Stored Procedure 13-30
SQLEXEC: Usage with a SQL Query 13-32
SQLEXEC: Usage in a Table or Map Statement 13-33
SQLEXEC: Usage as a Stand-Alone Statement 13-34
Quiz 13-35
Summary 13-37
Practice 13 Overview: Data Selection and Filtering 13-38
14. Data Transformation and Configuration Options
Objectives 14-2
Macros: Overview 14-3
Creating Macros 14-4
Invoking a Macro 14-5
Reusing Parameter Sets 14-6
Creating Macro Libraries 14-8
Tracing Macro Expansion 14-9
User Tokens: Overview 14-10
Environmental Values Available to @GETENV 14-11
User Tokens Display 14-12
Using User Tokens 14-13
Viewing User Tokens in Logdump 14-14
User Exits: Overview 14-15
Uses for User Exits 14-16
User Exits: High-Level Processing Logic 14-17
Implementing User Exits 14-18
User Exit Parameters 14-19
Sample User Exits 14-20
Calling User Exits 14-21
Quiz 14-22
Compression Options 14-24
CA: Example of Compression 14-25
Compression and Exadata 14-26
Encryption: Overview 14-27
Message Encryption 14-29
Options: Message Encryption 14-31
Trail or Extract File Encryption 14-32
MA: Integration with External Key Management Services 14-33
MA Encryption Profiles 14-34
Trail Encryption with Wallet 14-37
CA Password Encryption: Method 1 14-39
CA Password Encryption: Method 2 14-40
CA Password Encryption: Method 3 14-41
Summary of Password Encryption 14-42
Event Marker System 14-43
Uses for Event Actions 14-44
Event Actions Flowchart 14-45
EventActions Order 14-46
Implementing Event Actions: Examples 14-47
Event Actions: Automated Switchover Example 14-48
Event Actions: Automated Synchronization Example 14-49
Quiz 14-50
Summary 14-52
Practice 14 Overview: Data Transformation and Configuration Options 14-53
15. Oracle GoldenGate Microservices Architecture—Performance Metrics Server
Objectives 15-2
Performance Metrics Server: Overview 15-3
Performance Metrics Server Functionality 15-4
Metrics and Counters by MA Component: 1 15-5
Metrics and Counters by MA Component: 2 15-6
Metrics Server Overview Page 15-7
Extract Group: Process Performance Analysis 15-9
Extract Group: Thread Performance Analysis 15-10
Extract Group: Trail File Analysis 15-11
Extract Group: Database Statistics 15-12
Extract Group: Cache Statistics 15-14
Extract Group: Queue Statistics 15-15
Replicat Group: Process Performance Analysis 15-16
Replicat Group: Thread Performance Analysis 15-17
Replicat Group: Trail File Analysis 15-18
Replicat Group: Database Statistics 15-19
Quiz 15-21
Summary 15-22
Practice 15: Overview 15-23
16. Database Sharding Support, Replication Lag Management, Invisible Column
Support
Objectives 16-2
Database Sharding Overview 16-3
Unsharded Table Versus Sharded Table (Three Databases) 16-4
Sharding in Details 16-5
Oracle Sharding: Typical Deployment 16-6
Oracle GoldenGate MA Support for Sharded Databases 16-7
Oracle GoldenGate MA Sharding Advantages 16-8
Oracle GoldenGate MA Shard Configuration 16-9
GDSCTL Example: Shard Group 16-10
Heartbeat Mechanism 16-11
CA: Heartbeat Lag Management Setup with GGSCI 16-12
Heartbeat Lag Management Setup: MA Deployment 16-13
MA Deployment: Heartbeat Management 16-14
Heartbeat Table Objects 16-15
Accessing Heartbeat Statistics 16-16
Example: GG_LAG_HISTORY view 16-17
Example: GG_HEARTBEAT_HISTORY table 16-18
MA Example: GG_LAG_HISTORY query 16-19
CA Example: GG_LAG_HISTORY query 16-20
Invisible Columns in the Oracle RDBMS 16-21
Oracle GoldenGate Support for Invisible Columns 16-22
Quiz 16-23
Summary 16-24
Practice 16: Overview 16-25
Requirements
Testimonials (8)
I like this training because it was interactive
Amalia - Banca Transilvania
Course - SQL Fundamentals
the practices and the trainer notes
Hamda AlMahri - Dubai Courts
Course - ORACLE PL/SQL Fundamentals
Luka is an excellent, patient teacher with a sense of humor. His relaxed style made the stressful experience of "be called to the blackboard" more pleasant. Also one student explaining or guiding the other was a very good idea. I will use the motto "KISS methodology" he shared with us in both my SQL exercises , private and professional life since I like to overcomplicate things. Luka also kept the good pace considering how much material was there for him to show and for us to learn.
IWONA KLIMASZEWSKA - GP Strategies Poland sp. z o.o.
Course - ORACLE SQL Fundamentals
Luke was opened to answer any question and explain multiple times until everyone understood the exercises.
Alexandra Popa - OTP BANK ROMANIA S.A.
Course - Oracle SQL Language
I liked the way the trainer explained the information about the topics and the fact that he paid attention to the details so that the lessons were very practical and logical.
Andreea
Course - Oracle SQL for beginners
Exercises are entertaining and the topics were nicely introduced.
Adrian-Madalin Chirita - DB Global Technology SRL
Course - Oracle SQL Advanced
I like fact, that after each section we had exercises. It helps to remember discussed topic.
Adam Bińczycki
Course - Oracle 11g - SQL language for developers - Workshop
Trainer expertise on SQL tuning