Upload
dokhuong
View
246
Download
4
Embed Size (px)
Citation preview
The GoldenGate Adapter for Coherence 30.09.2014
1. Preparing for demo
2. Demo architecture
3. Oracle GoldenGate (OGG) - Java Adapter
4. Oracle GoldenGate - Coherence Adapter
4.1. OGG Adapter for Coherence 4.2. Folder & files
5. HotCache demo
5.1. Start the Oracle database "orap" 5.2. OGG capture and delivery setup 5.3. Start the CacheServer and the Java monitor 5.4. Demostrate the HotCache (bi-directional)
6. OGG execution reports
6.1. Manager 6.2. Database capture process "cs-cap" 6.3. Java delivery process "cs-cgga"
7. CacheServer execution log
8. Documentation
1. Preparing for demo
Download & installation links
How To - Downloading GoldenGate Adapter - Workspace https://stbeehive.oracle.com/teamcollab/wiki/GoldenGate+Java:How+To+-
+Download+GoldenGate+Adapters
How To - Installing GoldenGate Adapter - Workspace https://stbeehive.oracle.com/teamcollab/wiki/GoldenGate+Java:How+To+-
+Install+GoldenGate+Adapters?mode=print
Oracle GoldenGate Java - Workspace https://stbeehive.oracle.com/teamcollab/overview/GoldenGate+Java
Download Oracle GoldenGate Adapter for Coherence www.oracle.com/webfolder/technetwork/tutorials/obe/fmw/coherence/coher
ence_12c/files/cgga.zip
System environment
Windows 7 Oracle GoldenGate 11.2.1.0.5_02 Oracle GoldenGate Adapters 11.2.1.0.11 Oracle Database 11.2.0.3
Additional Java components
Oracle Enterprise Pack for Eclipse (OEPE) D:\ OEPE_12131
Java Based Build Tool - ANT D:\ apache-ant-1.9.4
2. Demo architecture
3. Oracle GoldenGate (OGG) - Java Adapter
The Java Adapter software is part of a special Oracle GoldenGate distribution called
"generic" Oracle GoldenGate (Generic GG). This Generic GG distribution don’t have
any database functionality and can only used for Java Extract and Java Delivery. In our
case we need a Oracle database capture and a Java delivery. Therefore we will copy
the Java delivery components from the Generic GG distribution to the home directory of
the "Oracle GoldenGate for Oracle" (Oracle GG) distribution:
1. Copy folder "ggjava" from the Generic GG to Oracle GG
2. Copy file "ggjava_ue.ddl from Generic GG to Oracle GG
4. Oracle GoldenGate - Coherence Adapter
The OGG Coherence Adaper is a Java project and contains all files (parameter,
configuration and jar files) required to use the Oracle Coherence HotCache in bi-
directional mode. Folder "cgga" contains all files of an Oracle-By-Example (OBE)
solution for a table CSDEMO.EMPLOYEE. It is recommended to use a Java Integrated
Development Environment (IDE), such as an Eclipse IDE (e.g. Oracle Enterprise Pack
for Eclipse - OEPE) to prepare your environment.
4.1. OGG Adapter for Coherence
D:\Java_Projects\GGCoherenceOBE\cgga\workspace\CacheStoreDemo\CacheStoreDemo
4.2. Folder & files
The following chapter will give you an overview of the most important demo scripts, parameter and configuration files. All of these must be changed to fit your environment. In the table below all files of folder "scripts" will be explained. Most of the scripts are for OGG and show one possibility to configure and execute the processes. The three files "cs-cap.ggsci", "cs_cgga.ggsci" and "cs-stop.ggsci" are not in the folder but called from a file in the folder. To configure and start GoldenGate processes you can also use "OBEY" scripts (see Note at the end of this point). The contents of the OGG process parameter files "cs-cap.prm", cs-cgga.prm and cs-cgga.properties are also listed. GoldenGate sees the Java delivery process "cs-cgga" as a simple datapump process, but the properties file is required because the Java adapter and the Coherence adapter are implemented by Oracle GoldenGate user-exit and GoldenGate handler functionality.
Folder: "scripts"
Name
Component
Description
cs-createdatabase.bat
Java ?
Create demo users: CSDEMO, NOTCSDEMO, and table CSDEMO.EMPLOYEE
cs-cacheserver.bat
Java ? Start the CacheServer
cs-cap-create.bat
Oracle GoldenGate Create OGG capture process cs-cap
cs-cgga-create.bat Oracle GoldenGate Create OGG Java delivery process cs-cgga
cs-cap-start.bat
Oracle GoldenGate Start OGG Capture cs-cap
cs-cgga-start.bat
Oracle GoldenGate Start OGG Delivery cs-cgga
cs-monitor.bat Java ? Java activities window for Get, Put, and Display
cs-sqlplus-notcsdemo.bat
SQL*plus
Inserts / Updates to table CSDEMO.EMPLOYEE
cs-createdatabase.bat
cd D:\Java_Projects\GGCoherenceOBE\cgga\workspace\CacheStoreDemo\CacheStoreDemo
ant CreateDatabase
cs-cacheserver.bat
cd D:\Java_Projects\GGCoherenceOBE\cgga\workspace\CacheStoreDemo\CacheStoreDemo
ant CacheServer
cs-cap-create.bat
cd D:\ogg_new_src
erase .\dirdat\cs*
ggsci paramfile cs-cap.ggsci
cs-cap.ggsci (located in GoldenGate Home: "D:\src_new_src")
START mgr
DBLOGIN USERID csdemo@orap, PASSWORD csdemo
STOP EXTRACT cs-cap
DELETE EXTRACT cs-cap
ADD TRANDATA csdemo.*
ADD EXTRACT cs-cap, tranlog, PARAMS ./dirprm/cs-cap.prm, begin now
INFO cs-cap
-- SHELL rm -f ./dirdat/cs*.*
ADD EXTTRAIL ./dirdat/cs, EXTRACT cs-cap
START cs-cap
cs-cgga-create.bat
cd D:\ogg_new_src
ggsci paramfile cs-cgga.ggsci
cs-cgga.ggsci (located in GoldenGate Home: "D:\src_new_src")
-- start mgr (started before by script cs-cap)
DBLOGIN USERID csdemo@orap, PASSWORD csdemo
STOP EXTRACT cs-cgga
DELETE EXTRACT cs-cgga
ADD TRANDATA csdemo.*
ADD EXTRACT cs-cgga, PARAMS ./dirprm/cs-cgga.prm, extTrailSource
./dirdat/cs
INFO cs-cgga
-- start cs-cgga
cs-cap-start.bat
cd D:\ogg_new_src
extract paramfile ./dirprm/cs-cap.prm
cs-cgga-start.bat
cd D:\ogg_new_src
extract paramfile ./dirprm/cs-cgga.prm
cs-monitor.bat
cd D:\Java_Projects\GGCoherenceOBE\cgga\workspace\CacheStoreDemo\CacheStoreDemo
ant Monitor
cs-demo-start.bat
cs-createdatabase.bat
cs-cacheserver.bat
cs-cap-create.bat
cs-cgga-create.bat
cs-cap-start.bat
cs-cgga-start.bat
cs-monitor.bat
cs-sqlplus-notcsdemo.bat
cs-demo-stop.bat
cd D:\ogg_new_src
ggsci paramfile cs-stop.ggsci
erase .\dirdat\cs*
cs-stop.ggsci (located in GoldenGate Home: "D:\src_new_src")
stop cs-cgga
stop cs-cap
cs-sqlplus-notcsdemo.bat
sqlplus notcsdemo/notcsdemo@orap
You can also open a command prompt window and start sqlplus manually.
Note:
Two additional GoldenGate OBEY scripts was built to SETUP / CLEANUP the capture and delivery processes are more GoldenGate like. Each of the following "OBEY" scripts replaces two other scripts and may be used as an alternative. You start this scripts in the GoldenGate software command interface (GGSCI) with: obey <script-name> cs-orap-setup.oby (Replace scripts: cs-cap-create and cs-cap.ggsci)
START mgr
DBLOGIN USERID csdemo@orap, PASSWORD csdemo
ADD TRANDATA csdemo.*
INFO TRANDATA csdemo.*
ADD EXTRACT cs-cap, tranlog, PARAMS ./dirprm/cs-cap.prm, begin now
ADD EXTTRAIL ./dirdat/cs, EXTRACT cs-cap
START cs-cap
--
ADD EXTRACT cs-cgga, PARAMS ./dirprm/cs-cgga.prm, extTrailSource
./dirdat/cs
INFO ALL
--
-- START cs-cgga if the CacheServer is running!
--
cs-orap-cleanup.oby (Replace scripts: cs-cgga-create and cs-cgga.ggsci)
STOP EXTRACT cs-cap
DELETE EXTRACT cs-cap
--
STOP EXTRACT cs-cgga
DELETE EXTRACT cs-cgga
--
INFO ALL
After running script "cs-orap-cleanup.oby" don't forget to remove the Trail files ./dirdat/cs*
Folder: "D:\ogg_new_src\dirprm" (Folder of the OGG parameter files) GoldenGate - Capture parameter file: "cs-cap.prm"
-- ==========================================================================
-- To setup:
-- 1) optional: clean up any prior run
-- ggsci> stop cs-cap!
-- ggsci> DBLOGIN USERID csdemo, PASSWORD csdemo
-- ggsci> delete cs-cap!
--
-- 2) If the tables has been recreated:
-- ggsci> DBLOGIN USERID csdemo, PASSWORD csdemo
-- ggsci> ADD TRANDATA csdemo.*
-- 3)
-- ggsci> add extract cs-cap, tranlog, begin now
-- ggsci> info cs-cap
--
-- 4)
-- ggsci> ADD EXTTRAIL ./dirdat/cs-trail, EXTRACT cs-cap
-- 5) start processing
-- ggsci> start cs-cap
-- #sh> sleep 2
-- ggsci> send cs-cap, report
-- ggsci> view report cs-cap
-- or from command line: extract PARAMFILE ./dirprm/cs-cap.prm
-- ==========================================================================
EXTRACT cs-cap
USERID csdemo@orap, PASSWORD csdemo
RecoveryOptions OverwriteMode
EXTTRAIL ./dirdat/cs
EOFDELAYCSECS 1
BR BROFF
getUpdateBefores
TABLE csdemo.*;
TranLogOptions excludeUser csdemo --ignore changes made by csdemo
GoldenGate - Java delivery parameter file: "cs-cgga.prm"
-- ==========================================================================
-- To setup:
-- 1) optional: clean up any prior run
-- ggsci> stop extract cs-cgga!
-- ggsci> DBLOGIN USERID csdemo, PASSWORD csdemo
-- ggsci> delete extract cs-cgga!
--
-- 2) before starting mgr, be sure the JVM is in the library path
-- sh> echo $LD_LIBRARY_PATH
-- sh> echo $PATH
-- ggsci> stop mgr!
-- ggsci> start mgr
-- ggsci> info mgr
--
-- 3) add a data-pump extract, reading a trail, to load & run the user-exit:
-- ggsci> add extract cs-cgga, extTrailSource dirdat/cs
-- ggsci> info cs-cgga
--
-- 4) start processing
-- #ggsci> start cs-cgga
-- #sh> sleep 2
-- #ggsci> send cs-cgga, report
-- #ggsci> view report cs-cgga
-- or from command line: extract PARAMFILE ./dirprm/cs-cgga.prm
-- ==========================================================================
Extract cs-cgga
USERID csdemo@orap, PASSWORD csdemo
SetEnv ( GGS_USEREXIT_CONF = "./dirprm/cs-cgga.properties" )
-- (debug) print out library path
-- GetEnv (LD_LIBRARY_PATH)
GetEnv (PATH)
-- the user-exit library (unix/linux)
-- CUserExit libggjava_ue.so CUSEREXIT PassThru IncludeUpdateBefores
-- the user-exit library (windows)
CUserExit ggjava_ue.dll CUSEREXIT PassThru IncludeUpdateBefores
-- pass all trail data to user-exit (don't ignore/omit/filter data)
GetUpdateBefores
-- TcpSourceTimer (default=on) adjusts timestamps in replicated records for more
-- accurate lag calculation, if time differences between source/target
NoTcpSourceTimer
EOFDELAYCSECS 1
-- pass all data in trail to user-exit. Can wildcard tables, but not schema name
Table csdemo.*;
The next file is needed for the OGG Java delivery process "cs-cgga" wich is using the OGG User Exit and the OGG Coherence Adapter. Both are written in Java.
Java Properties File: "cs-cgga.properties"
# ====================================================================
# List of active event handlers. handlers not in the list are ignored.
# ====================================================================
gg.handlerlist=cache
# ====================================================================
# Coherence cache updater
# ====================================================================
gg.handler.cache.type=oracle.toplink.goldengate.CoherenceAdapter
# print plain text output (custom velocity template)
gg.handler.txtfile1.type=singlefile
gg.handler.txtfile1.format=text
gg.handler.txtfile1.mode=op
gg.handler.txtfile1.file=.\dirout\csdemo-output.txt
# ====================================================================
# Native JNI library properties
# ====================================================================
goldengate.userexit.nochkpt=true
goldengate.userexit.writers=javawriter
goldengate.log.logname=.\dirout\csdemo-userexit-jcoh
# ======================================
javawriter.bootoptions=-
Djava.class.path=.\dirprm;D:\Oracle\V11203\jdbc\lib\ojdbc6.jar;...
For a better clearness all additional values of the parameter "Djava.class.path" are written in separate lines:
...
.\ggjava\ggjava.jar;D:\Oracle\FMW\coherence\lib\coherence.jar;
D:\Oracle\FMW\oracle_common\modules\javax.persistence_2.0.0.0_2-0.jar;
D:\Oracle\FMW\oracle_common\modules\oracle.toplink_12.1.3\eclipselink.
jar;
D:\Oracle\FMW\oracle_common\modules\oracle.toplink_12.1.3\toplink-
grid.jar;
D:\Java_Projects\GGCoherenceOBE\cgga\workspace\CacheStoreDemo\CacheSto
reDemo\bin
-Xmx32M
-Xms32M
-Dtoplink.goldengate.persistence-unit=employee
-Dlog4j.configuration=debug-log4j.properties
-Dtangosol.coherence.distributed.localstorage=false
-Dtangosol.coherence.cacheconfig=
D:\Java_Projects\GGCoherenceOBE\cgga\workspace\CacheStoreDemo\
CacheStoreDemo\cs-coherence-cache-config.xml
-Dtangosol.coherence.localhost=127.0.0.1
-Dtangosol.coherence.ttl=0
-Dtangosol.coherence.clusterport=4617
File: "jdbc.properties"
Configuration information of the JDBC driver to connect to the database.
#**************************************
#Specify JDBC Connection Details here *
#**************************************
# Database User
db.user=system
# DB Password
db.password=welcome1
# The database host
db.host=localhost
# The database SID
db.sid=orap
# The database listener port
db.port=1521
jdbc.url=jdbc:oracle:thin:@${db.host}:${db.port}:${db.sid}
jdbc.driver=oracle.jdbc.OracleDriver
5. HotCache demo
5.1 Start the Oracle database "orap"
The database was still started and is running. User "csdemo" is owner of the table "employee" and also the GoldenGate admin user. This not the best solution because this user must be excluded by the GoldenGate capture process. Therefore all changes done by user "csdemo" will be not replicated. In our case we will delete table "employee" by "csdemo" user at the begin of the demo. All further inserts/updates will be made by user "notcsdemo" so these changes will be captured and delivered to the HotCache
5.2 OGG capture and delivery setup
Database Capture Process: cs-cap Java Delivery Process: cs-cgga
Processes cs-cap and cs-cgga are deleted after script "cs_orap_cleanup.oby" was
run. Please be aware that you must remove the old trail file in the Oracle GoldenGate
"dirdat" folder (see below). How you can see in the OGG parameter files "cs-cap.prm"
and "cs-cgga.prm" this file or files are prefixed by "cs". In our example (see above)
only one trail file with the name "cs000000" exists. This was deleted using the "erase"
command.
Now we are ready to setup Oracle GoldenGate processes again for the demo. We will do this by running the "OBEY" script "cs_orap_setup.oby" (see next page).
Note:
In the setup script "cs_orap_setup.oby" the GoldenGate processes was defined but
only the "cs-cap" process is be started this time. Before you can start the Java delivery
process "cs-cgga" the Java CacheServer must be running. If this not the case the
following error message will be written:
ERROR OGG-01126 Abending at user-exit request.
5.3 Start the CacheServer and the Java monitor
Execute the scripts: "cs-cacheserver.bat" and "cs-monitor.bat". After the
CacheServer is running you can start the Java delivery process "cs-cgga" too.
5.4 Demonstrate the HotCache (bi-directional)
First the monitor window can used to get from and put to rows in the table "employee". The monitor is also aware of database changes coming from a third-party application ( e.g. SQL*Plus) replicated by GoldenGate. All change events regardless of the direction will be logged in the "Monitor Event Log".
In this example you can see five insert operations. Three was initiated by SQL*Plus and replicated to the HotCache. The other two inserts (Id 1 and Id 5) was made via monitor put function. Please take a look at the SQL*Plus session and you will also see that the "delete table" operation was not replicated because all operations done by user "csdemo" will be excluded by GoldenGate capture process "cs-cap".
...
...
...
SQL> connect csdemo/csdemo
Connect durchgeführt.
GLOBAL_NAME
------------------
ORAP.DE.ORACLE.COM
SQL> delete employee;
4 Zeilen gelöscht.
SQL> commit;
Transaktion mit COMMIT abgeschlossen.
SQL> connect notcsdemo/notcsdemo
Connect durchgefnhrt.
GLOBAL_NAME
------------------
ORAP.DE.ORACLE.COM
SQL> select * from csdemo.employee;
SQL> col firstname format a10
SQL> col lastname format a12
SQL> select * from csdemo.employee;
ID FIRSTNAME LASTNAME
---------- ---------- ------------
1 Joachim Jaensch
SQL> insert into csdemo.employee values (2,'Michael','Braeuer');
1 Zeile wurde erstellt.
SQL> commit;
Transaktion mit COMMIT abgeschlossen.
SQL> insert into csdemo.employee values ('3','Hugo','Leichtsinn');
1 Zeile wurde erstellt.
SQL> commit;
Transaktion mit COMMIT abgeschlossen.
SQL> insert into csdemo.employee values ('4','Willi','Knoedel');
1 Zeile wurde erstellt.
SQL> commit;
Transaktion mit COMMIT abgeschlossen.
SQL> select * from csdemo.employee;
ID FIRSTNAME LASTNAME
---------- ---------- ------------
4 Willi Knoedel
2 Michael Braeuer
3 Hugo Leichtsinn
1 Joachim Jaensch
5 Clara Morgenstern
SQL>
6. OGG execution reports
6.1. Manager
***********************************************************************
Oracle GoldenGate Manager for Oracle
Version 11.2.1.0.5_02 16363018 OGGCORE_11.2.1.0.6_PLATFORMS_130301.1500
Windows x64 (optimized), Oracle 11g on Mar 1 2013 16:37:45
Copyright (C) 1995, 2013, Oracle and/or its affiliates. All rights reserved.
Starting at 2014-09-26 13:36:01
***********************************************************************
Operating System Version:
Microsoft Windows 7 , on x64
Version 6.1 (Build 7601: Service Pack 1)
Process id: 9096
Parameters...
port 7810
PURGEOLDEXTRACTS .\dirdat\tstact\*, USECHECKPOINTS, MINKEEPHOURS 1,
FREQUENCYMINUTES 30
2014-09-26 13:36:01 WARNING OGG-00959 PURGEOLDEXTRACTS .\dirdat\tstact\*,
USECHECKPOINTS, MINKEEPHOURS 1, FREQUENCYMINUTES 30 (MINKEEPFILES option not
used.).
LAGCRITICALMINUTES 5
LAGREPORTMINUTES 60
LAGINFOMINUTES 0
***********************************************************************
** Run Time Messages **
***********************************************************************
2014-09-26 13:36:01 INFO OGG-00983 Manager started (port 7810).
2014-09-26 13:36:01 INFO OGG-00948 Lag for REPLICAT RE2PRIO is 00:00:00
(checkpoint updated 169:45:40 ago).
2014-09-26 13:36:01 INFO OGG-00948 Lag for EXTRACT EX1TRAIL is 00:00:00
(checkpoint updated 92:33:15 ago).
2014-09-26 13:36:01 INFO OGG-00948 Lag for EXTRACT EX2PRIO is 00:00:00
(checkpoint updated 169:45:49 ago).
2014-09-26 13:40:59 INFO OGG-00963 Command received from GGSCI on host
JJT420.de.oracle.com:51931 (START EXTRACT CS-CAP ).
2014-09-26 13:40:59 INFO OGG-00975 EXTRACT CS-CAP starting.
2014-09-26 13:41:16 INFO OGG-00963 Command received from GGSCI on host
JJT420.de.oracle.com:51936 (START EXTRACT CS-CGGA ).
2014-09-26 13:41:16 INFO OGG-00975 EXTRACT CS-CGGA starting.
2014-09-26 14:07:25 INFO OGG-00963 Command received from GGSCI on host
JJT420.de.oracle.com:52130 (STOP).
2014-09-26 14:07:25 WARNING OGG-00938 Manager is stopping at user request.
6.2. Database capture process "cs-cap"
***********************************************************************
Oracle GoldenGate Capture for Oracle
Version 11.2.1.0.5_02 16363018 OGGCORE_11.2.1.0.6_PLATFORMS_130301.1500
Windows x64 (optimized), Oracle 11g on Mar 1 2013 18:17:13
Copyright (C) 1995, 2013, Oracle and/or its affiliates. All rights reserved.
Starting at 2014-09-26 13:40:59
***********************************************************************
Operating System Version:
Microsoft Windows 7 , on x64
Version 6.1 (Build 7601: Service Pack 1)
Process id: 8496
Description:
***********************************************************************
** Running with the following parameters **
***********************************************************************
2014-09-26 13:40:59 INFO OGG-03035 Operating system character set
identified as windows-1252. Locale: en_US, LC_ALL:.
2014-09-26 13:40:59 INFO OGG-02696 NON-ANSI SQL parameter syntax is used
for parameter parsing.
EXTRACT cs-capUSERID csdemo@orap, PASSWORD ******
2014-09-26 13:40:59 INFO OGG-03500 WARNING: NLS_LANG environment
variable does not match database character set, or not set. Using database
character set value of WE8MSWIN1252.
RecoveryOptions OverwriteModeEXTTRAIL ./dirdat/csEOFDELAYCSECS 1BR
BROFFgetUpdateBeforesTABLE csdemo.*;TranLogOptions excludeUser csdemo
2014-09-26 13:40:59 INFO OGG-01635 BOUNDED RECOVERY: reset to initial or
altered checkpoint.
2014-09-26 13:40:59 INFO OGG-01815 Virtual Memory Facilities for: BR
anon alloc: MapViewOfFile anon free: UnmapViewOfFile
file alloc: MapViewOfFile file free: UnmapViewOfFile
target directories:
D:\ogg_new_src\BR\CS-CAP.
Bounded Recovery Parameter:
Options = BROFF BRRESET
BRINTERVAL = 4HOURS
BRDIR = D:\ogg_new_src
2014-09-26 13:40:59 INFO OGG-01815 Virtual Memory Facilities for: COM
anon alloc: MapViewOfFile anon free: UnmapViewOfFile
file alloc: MapViewOfFile file free: UnmapViewOfFile
target directories:
D:\ogg_new_src\dirtmp.
CACHEMGR virtual memory values (may have been adjusted)
CACHESIZE: 16G
CACHEPAGEOUTSIZE (normal): 8M
PROCESS VM AVAIL FROM OS (min): 22.41G
CACHESIZEMAX (strict force to disk): 20.41G
2014-09-26 13:40:59 WARNING OGG-01842 CACHESIZE PER DYNAMIC DETERMINATION
(16G) LESS THAN RECOMMENDED: 64G (64bit system)
vm found: 22.41G
Check swap space. Recommended swap/extract: 128G (64bit system).
Database Version:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for 64-bit Windows: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production
Database Language and Character Set:
NLS_LANG = ".WE8MSWIN1252"
NLS_LANGUAGE = "AMERICAN"
NLS_TERRITORY = "AMERICA"
NLS_CHARACTERSET = "WE8MSWIN1252"
2014-09-26 13:40:59 INFO OGG-01515 Positioning to begin time Sep 26,
2014 1:36:06 PM.
2014-09-26 13:41:00 WARNING OGG-01051 Reverting to overwrite recovery mode
at user's request.
2014-09-26 13:41:00 INFO OGG-01478 Output file ./dirdat/cs is using
format RELEASE 9.0/9.5.
***********************************************************************
** Run Time Messages **
***********************************************************************
2014-09-26 13:41:00 INFO OGG-01516 Positioned to Sequence 585, RBA
11820048, SCN 0.0, Sep 26, 2014 1:36:06 PM.
2014-09-26 13:41:00 INFO OGG-01517 Position of first record processed
Sequence 585, RBA 11820048, SCN 0.17030014, Sep 26, 2014 1:36:10 PM.
2014-09-26 13:44:02 INFO OGG-01021 Command received from GGSCI: STATS.
Wildcard TABLE resolved (entry csdemo.*):
TABLE "CSDEMO"."EMPLOYEE";
Using the following key columns for source table CSDEMO.EMPLOYEE: ID.
2014-09-26 13:56:35 INFO OGG-01021 Command received from GGSCI: STATS.
2014-09-26 13:57:08 INFO OGG-01021 Command received from GGSCI: STOP.
***********************************************************************
* ** Run Time Statistics ** *
***********************************************************************
Report at 2014-09-26 13:57:08 (activity since 2014-09-26 13:45:55)
Output to ./dirdat/cs:
From Table CSDEMO.EMPLOYEE:
# inserts: 3
# updates: 0
# deletes: 0
# discards: 0
REDO Log Statistics
Read ahead buffers 3
Read ahead buffer size 1024000
Read ahead for current log on
Bytes read 6383616000
Bytes read ahead 6374400000
Bytes unused 857088000
Bytes parsed 5526531584
Bytes output 489
...
...
...
6.3. Java delivery process "cs-cgga"
***********************************************************************
Oracle GoldenGate Capture for Oracle
Version 11.2.1.0.5_02 16363018 OGGCORE_11.2.1.0.6_PLATFORMS_130301.1500
Windows x64 (optimized), Oracle 11g on Mar 1 2013 18:17:13
Copyright (C) 1995, 2013, Oracle and/or its affiliates. All rights reserved.
Starting at 2014-09-26 13:41:16
***********************************************************************
Operating System Version:
Microsoft Windows 7 , on x64
Version 6.1 (Build 7601: Service Pack 1)
Process id: 8860
Description:
***********************************************************************
** Running with the following parameters **
***********************************************************************
2014-09-26 13:41:16 INFO OGG-03035 Operating system character set
identified as windows-1252. Locale: en_US, LC_ALL:.
2014-09-26 13:41:16 INFO OGG-02696 NON-ANSI SQL parameter syntax is used
for parameter parsing.
Extract cs-cggaUSERID csdemo@orap, PASSWORD ******
2014-09-26 13:41:16 INFO OGG-03500 WARNING: NLS_LANG environment
variable does not match database character set, or not set. Using database
character set value of WE8MSWIN1252.
SetEnv ( GGS_USEREXIT_CONF = "./dirprm/cs-cgga.properties" )Set environment
variable (GGS_USEREXIT_CONF=./dirprm/cs-cgga.properties)
GetEnv (PATH)PATH =
D:\Oracle\V1210\bin;D:\Oracle\V11203\bin;D:\Oracle\MW\oracle_common\bin;d:\my
sql\mysql server 5.6\bin;D:\Java\jdk1.7.0_60\bin;C:\Program Files (x86)\PC
Connectivity
Solution\;d:\ogg_new_src;C:\windows\system32;C:\windows;C:\windows\System32\W
bem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program
Files\ThinkPad\Bluetooth Software\;C:\Program Files\ThinkPad\Bluetooth
Software\syswow64;C:\Program Files\Broadcom\WHL\;C:\Program
Files\Broadcom\WHL\syswow64;C:\Program
Files\Broadcom\WHL\SysWow64\;C:\Program
Files\Broadcom\WHL\SysWow64\syswow64;c:\Regina;C:\Program Files
(x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files (x86)\Microsoft
SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL
Server\100\Tools\Binn\VSShell\Common7\IDE\;D:\apache-ant-
1.9.4\bin;D:\Java\jdk1.7.0_60\jre\bin\server;D:\ogg_new_src
CUserExit ggjava_ue.dll CUSEREXIT PassThru IncludeUpdateBefores
2014-09-26 13:41:16 INFO OGG-04524 D:\ogg_new_src\extract.exe running
with user exit library ggjava_ue.dll, compatiblity level (3) is current.
2014-09-26 13:41:16 INFO OGG-04526 D:\ogg_new_src\extract.exe running
with user exit library ggjava_ue.dll. Current session character set is
operating system default character set.
GetUpdateBeforesNoTcpSourceTimerEOFDELAYCSECS 1Table csdemo.*;
2014-09-26 13:41:16 INFO OGG-01815 Virtual Memory Facilities for: COM
anon alloc: MapViewOfFile anon free: UnmapViewOfFile
file alloc: MapViewOfFile file free: UnmapViewOfFile
target directories:
D:\ogg_new_src\dirtmp.
CACHEMGR virtual memory values (may have been adjusted)
CACHESIZE: 16G
CACHEPAGEOUTSIZE (normal): 8M
PROCESS VM AVAIL FROM OS (min): 22.35G
CACHESIZEMAX (strict force to disk): 20.35G
2014-09-26 13:41:16 WARNING OGG-01842 CACHESIZE PER DYNAMIC DETERMINATION
(16G) LESS THAN RECOMMENDED: 64G (64bit system)
vm found: 22.35G
Check swap space. Recommended swap/extract: 128G (64bit system).
Database Version:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for 64-bit Windows: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production
Database Language and Character Set:
NLS_LANG = ".WE8MSWIN1252"
NLS_LANGUAGE = "AMERICAN"
NLS_TERRITORY = "AMERICA"
NLS_CHARACTERSET = "WE8MSWIN1252"
Loaded Java user-exit native library: 11.2.1.0.1_001
OGGADP_11.2.1.0.1_PLATFORMS_130923.1200
Warning: Overriding the default property file to be: "./dirprm/cs-
cgga.properties". (The default is {process_name}.properties: dirprm/cs-
cgga.properties)
***********************************************************************
Oracle GoldenGate Java Adapter, 11.2.1.0.1.002
Copyright (c) 2007,2013. Oracle and/or its affiliates. All rights reserved
Built with Java 1.6.0_32 (class version: 50.0)
Java user-exit native library: 11.2.1.0.1_001
OGGADP_11.2.1.0.1_PLATFORMS_130923.1200
Windows_x64 [64-bit, Java 6] (Build: 20130923_125342)
***********************************************************************
** Run Time Messages **
***********************************************************************
Opened trail file ./dirdat/cs000000 at 2014-09-26 13:41:33
Wildcard TABLE resolved (entry csdemo.*):
Table CSDEMO.EMPLOYEE;
Using the following key columns for source table CSDEMO.EMPLOYEE: ID.
2014-09-26 13:56:45 INFO OGG-01021 Command received from GGSCI: STATS.
2014-09-26 13:56:59 INFO OGG-01021 Command received from GGSCI: STOP.
***********************************************************************
* ** Run Time Statistics ** *
***********************************************************************
Report at 2014-09-26 13:56:59 (activity since 2014-09-26 13:45:55)
From Table CSDEMO.EMPLOYEE:
# inserts: 3
# updates: 0
# deletes: 0
# discards: 0
Last log location read:
FILE: ./dirdat/cs000000
SEQNO: 0
RBA: 489
TIMESTAMP: Not Available
EOF: YES
READERR: 400
Status from user-exit:
*************************************************
Status Report for UserExit
*************************************************
Total elapsed time: 0:15:26.213 [total = 926 sec = 15 min ] => Total
time since first event
Event processing time: 0:00:00.068 [total = 68 ms ] => Time spent
sending msgs (max: 33 ms)
Metadata process time: 0:00:00.001 [total = 1 ms ] => Time spent
receiving metadata (1 tables, 3 columns)
Operations Received/Sent: 3 / 3
Rate (overall): 0 op/s (peak: 0 op/s)
(per event): 3 op/s
Transactions Received/Sent: 3 / 3
Rate (overall): 0 tx/s (peak: 0 tx/s)
(per event): 3 tx/s
3 records processed as of Fri Sep 26 13:56:59 CEST 2014 (rate 0/sec, delta 3)
*************************************************
-------------------------------------------------
Handler: "cache": cache(CoherenceAdapter)
Status report: mode=op
*************************************************
7. CacheServer execution log
D:\Java_Projects\GGCoherenceOBE\cgga\workspace\CacheStoreDemo\CacheStoreDemo\scripts>c
d D:\Java_Projects\GGCoherenceOBE\cgga\workspace\CacheStoreDemo\CacheStoreDemo
D:\Java_Projects\GGCoherenceOBE\cgga\workspace\CacheStoreDemo\CacheStoreDemo>ant
CacheServer
Buildfile:
D:\Java_Projects\GGCoherenceOBE\cgga\workspace\CacheStoreDemo\CacheStoreDemo\build.xml
define:
init:
build-project:
[echo] CacheStoreDemo:
D:\Java_Projects\GGCoherenceOBE\cgga\workspace\CacheStoreDemo\CacheStoreDemo\build.xml
build:
CacheServer:
[java] 2014-09-26 13:38:36.175/0.606 Oracle Coherence 12.1.3.0.0 <Info>
(thread=main, member=n/a): Loaded operational configuration from
"jar:file:/D:/Oracle/FMW/coh
erence/lib/coherence.jar!/tangosol-coherence.xml"
[java] 2014-09-26 13:38:36.285/0.716 Oracle Coherence 12.1.3.0.0 <Info>
(thread=main, member=n/a): Loaded operational overrides from
"jar:file:/D:/Oracle/FMW/coheren
ce/lib/coherence.jar!/tangosol-coherence-override-dev.xml"
[java] 2014-09-26 13:38:36.395/0.826 Oracle Coherence 12.1.3.0.0 <Info>
(thread=main, member=n/a): Loaded operational overrides from
"file:/D:/Java_Projects/GGCohere
nceOBE/cgga/workspace/CacheStoreDemo/CacheStoreDemo/bin/tangosol-coherence-
override.xml"
[java] 2014-09-26 13:38:36.403/0.834 Oracle Coherence 12.1.3.0.0 <D5>
(thread=main, member=n/a): Optional configuration override "cache-factory-config.xml"
is not sp
ecified
[java] 2014-09-26 13:38:36.404/0.835 Oracle Coherence 12.1.3.0.0 <D5>
(thread=main, member=n/a): Optional configuration override "cache-factory-builder-
config.xml" i
s not specified
[java] 2014-09-26 13:38:36.405/0.836 Oracle Coherence 12.1.3.0.0 <D5>
(thread=main, member=n/a): Optional configuration override "/custom-mbeans.xml" is not
specified
[java]
[java] Oracle Coherence Version 12.1.3.0.0 Build 52031
[java] Grid Edition: Development mode
[java] Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights
reserved.
[java]
[java] 2014-09-26 13:38:37.055/1.486 Oracle Coherence GE 12.1.3.0.0 <Info>
(thread=main, member=n/a): Loaded cache configuration from
"file:/D:/Java_Projects/GGCoher
enceOBE/cgga/workspace/CacheStoreDemo/CacheStoreDemo/cs-coherence-cache-config.xml";
this document does not refer to any schema definition and has not been validated.
[java] 2014-09-26 13:38:38.700/3.131 Oracle Coherence GE 12.1.3.0.0 <Info>
(thread=main, member=n/a): Created cache factory
com.tangosol.net.ExtensibleConfigurableCacheFactory
[java] 2014-09-26 13:38:40.099/4.530 Oracle Coherence GE 12.1.3.0.0 <Warning>
(thread=main, member=n/a): Local address "127.0.0.1" is a loopback address; this
cluster node will not connect to nodes located on different machines
[java] 2014-09-26 13:38:41.077/5.508 Oracle Coherence GE 12.1.3.0.0 <D4>
(thread=main, member=n/a): TCMP bound to /127.0.0.1:8088 using
SystemDatagramSocketProvider
[java] 2014-09-26 13:38:47.605/12.036 Oracle Coherence GE 12.1.3.0.0 <Info>
(thread=Cluster, member=n/a): Created a new cluster "cluster:0x1DF1" with Member(Id=1,
Timestamp=2014-09-26 13:38:43.43, Address=127.0.0.1:8088, MachineId=21026,
Location=site:,process:8812, Role=CoherenceServer, Edition=Grid Edition,
Mode=Development, CpuCou
nt=4, SocketCount=4)
[java] 2014-09-26 13:38:47.606/12.037 Oracle Coherence GE 12.1.3.0.0 <Info>
(thread=main, member=n/a): Started cluster Name=cluster:0x1DF1
[java]
[java] Group{Address=224.12.1.3, Port=4617, TTL=0}
[java]
[java] MasterMemberSet(
[java] ThisMember=Member(Id=1, Timestamp=2014-09-26 13:38:43.43,
Address=127.0.0.1:8088, MachineId=21026, Location=site:,process:8812,
Role=CoherenceServer)
[java] OldestMember=Member(Id=1, Timestamp=2014-09-26 13:38:43.43,
Address=127.0.0.1:8088, MachineId=21026, Location=site:,process:8812,
Role=CoherenceServer)
[java] ActualMemberSet=MemberSet(Size=1
[java] Member(Id=1, Timestamp=2014-09-26 13:38:43.43, Address=127.0.0.1:8088,
MachineId=21026, Location=site:,process:8812, Role=CoherenceServer)
[java] )
[java] MemberId|ServiceVersion|ServiceJoined|MemberState
[java] 1|12.1.3|2014-09-26 13:38:43.43|JOINED
[java] RecycleMillis=1200000
[java] RecycleSet=MemberSet(Size=0
[java] )
[java] )
[java]
[java] TcpRing{Connections=[]}
[java] IpMonitor{Addresses=0, Timeout=15s}
[java]
[java] 2014-09-26 13:38:47.659/12.090 Oracle Coherence GE 12.1.3.0.0 <D5>
(thread=Invocation:Management, member=1): Service Management joined the cluster with
senior
service member 1
[java] 2014-09-26 13:38:47.691/12.123 Oracle Coherence GE 12.1.3.0.0 <Info>
(thread=main, member=1): Loaded Reporter configuration from
"jar:file:/D:/Oracle/FMW/cohe
rence/lib/coherence.jar!/reports/report-group.xml"
[java] 2014-09-26 13:38:48.813/13.244 Oracle Coherence GE 12.1.3.0.0 <Info>
(thread=NameService:TcpAcceptor:TcpProcessor, member=1): The specified local address
"/127.0.0.1" is a loopback address; clients running on remote machines will not be
able to connect to this TcpAcceptor
[java] 2014-09-26 13:38:48.814/13.245 Oracle Coherence GE 12.1.3.0.0 <Info>
(thread=NameService:TcpAcceptor, member=1): TcpAcceptor now listening for connections
on 127.0.0.1:8088.3
[java] 2014-09-26 13:38:49.981/14.412 Oracle Coherence GE 12.1.3.0.0 <D5>
(thread=DistributedCache:TopLinkGridJPA, member=1): Service TopLinkGridJPA joined the
cluster with senior service member 1
[java] 2014-09-26 13:38:50.019/14.450 Oracle Coherence GE 12.1.3.0.0 <Info>
(thread=main, member=1):
[java] Services
[java] (
[java] ClusterService{Name=Cluster, State=(SERVICE_STARTED, STATE_JOINED),
Id=0, Version=12.1.3, OldestMemberId=1}
[java] InvocationService{Name=Management, State=(SERVICE_STARTED), Id=2,
Version=12.1.3, OldestMemberId=1}
[java] PartitionedCache{Name=TopLinkGridJPA, State=(SERVICE_STARTED),
LocalStorage=enabled, PartitionCount=257, BackupCount=1, AssignedPartitions=0,
BackupPartitio
ns=0, CoordinatorId=1}
[java] )
[java]
[java] Started DefaultCacheServer...
[java]
[java] 2014-09-26 13:38:50.031/14.462 Oracle Coherence GE 12.1.3.0.0 <D5>
(thread=DistributedCache:TopLinkGridJPA, member=1): This member has become the
distribution
coordinator for MemberSet(Size=1
[java] Member(Id=1, Timestamp=2014-09-26 13:38:43.43, Address=127.0.0.1:8088,
MachineId=21026, Location=site:,process:8812, Role=CoherenceServer)
[java] )
[java] 2014-09-26 13:40:35.620/120.051 Oracle Coherence GE 12.1.3.0.0 <D5>
(thread=Cluster, member=1): Member(Id=2, Timestamp=2014-09-26 13:40:35.433,
Address=127.0.0.1:8090, MachineId=21026, Location=site:,process:9056) joined Cluster
with senior member 1
[java] 2014-09-26 13:40:35.693/120.124 Oracle Coherence GE 12.1.3.0.0 <D5>
(thread=Invocation:Management, member=1): Member 2 joined Service Management with
senior member 1
[java] 2014-09-26 13:40:38.343/122.774 Oracle Coherence GE 12.1.3.0.0 <D5>
(thread=DistributedCache:TopLinkGridJPA, member=1): Member 2 joined Service
TopLinkGridJPA
with senior member 1
[java] [EL Config]: metadata: The access type for the persistent class [class
cachestore.model.Employee] is set to [FIELD].
[java] [EL Config]: metadata: The alias name for the entity class [class
cachestore.model.Employee] is being defaulted to: Employee.
[java] [EL Config]: metadata: The table name for entity [class
cachestore.model.Employee] is being defaulted to: EMPLOYEE.
[java] [EL Config]: metadata: The column name for element [id] is being defaulted
to: ID.
[java] [EL Config]: metadata: The column name for element [lastName] is being
defaulted to: LASTNAME.
[java] [EL Config]: metadata: The column name for element [firstName] is being
defaulted to: FIRSTNAME.
[java] [EL Info]: EclipseLink, version: Eclipse Persistence Services -
2.5.2.v20140319-9ad6abd
[java] [EL Fine]: connection: Detected database platform:
org.eclipse.persistence.platform.database.oracle.Oracle11Platform
[java] [EL Config]: connection: Connection(1238763987)--connecting(DatabaseLogin(
[java] platform=>Oracle11Platform
[java] user name=> "csdemo"
[java] datasource URL=> "jdbc:oracle:thin:@localhost:1521:orap"
[java] ))
[java] [EL Config]: connection: Connection(52371844)--Connected:
jdbc:oracle:thin:@localhost:1521:orap
[java] User: CSDEMO
[java] Database: Oracle Version: Oracle Database 11g Enterprise Edition
Release 11.2.0.3.0 - 64bit Production
[java] With the Partitioning, OLAP, Data Mining and Real Application Testing
options
[java] Driver: Oracle JDBC driver Version: 11.2.0.3.0
[java] [EL Config]: connection: Connection(1957721809)--connecting(DatabaseLogin(
[java] platform=>Oracle11Platform
[java] user name=> "csdemo"
[java] datasource URL=> "jdbc:oracle:thin:@localhost:1521:orap"
[java] ))
[java] [EL Config]: connection: Connection(1833488176)--Connected:
jdbc:oracle:thin:@localhost:1521:orap
[java] User: CSDEMO
[java] Database: Oracle Version: Oracle Database 11g Enterprise Edition
Release 11.2.0.3.0 - 64bit Production
[java] With the Partitioning, OLAP, Data Mining and Real Application Testing
options
[java] Driver: Oracle JDBC driver Version: 11.2.0.3.0
[java] [EL Info]: connection:
file:/D:/Java_Projects/GGCoherenceOBE/cgga/workspace/CacheStoreDemo/CacheStoreDemo/bin
/_employee login successful
[java] 2014-09-26 13:41:30.740/175.171 Oracle Coherence GE 12.1.3.0.0 <D5>
(thread=Cluster, member=1): Member(Id=3, Timestamp=2014-09-26 13:41:30.561,
Address=127.0.
0.1:8092, MachineId=21026, Location=site:,process:8860,
Role=GoldengateAtgUserExitMain) joined Cluster with senior member 1
[java] 2014-09-26 13:41:31.091/175.522 Oracle Coherence GE 12.1.3.0.0 <D5>
(thread=Invocation:Management, member=1): Member 3 joined Service Management with
senior member 1
[java] 2014-09-26 13:41:33.383/177.814 Oracle Coherence GE 12.1.3.0.0 <D5>
(thread=DistributedCache:TopLinkGridJPA, member=1): Member 3 joined Service
TopLinkGridJPA
with senior member 1
[java] [EL Fine]: sql: Connection(52371844)--SELECT ID, FIRSTNAME, LASTNAME FROM
EMPLOYEE WHERE (ID = ?)
[java] bind => [1]
[java] [EL Fine]: sql: Connection(1833488176)--INSERT INTO EMPLOYEE (ID,
FIRSTNAME, LASTNAME) VALUES (?, ?, ?)
[java] bind => [1, Joachim, Jaensch]
[java] [EL Fine]: sql: Connection(52371844)--SELECT ID, FIRSTNAME, LASTNAME FROM
EMPLOYEE WHERE (ID = ?)
[java] bind => [3]
[java] [EL Fine]: sql: Connection(52371844)--SELECT ID, FIRSTNAME, LASTNAME FROM
EMPLOYEE WHERE (ID = ?)
[java] bind => [3]
[java] 2014-09-26 13:57:00.473/1104.904 Oracle Coherence GE 12.1.3.0.0 <D5>
(thread=Cluster, member=1): TcpRing disconnected from Member(Id=3, Timestamp=2014-09-
26 13:41:30.561, Address=127.0.0.1:8092, MachineId=21026, Location=site:,process:8860,
Role=GoldengateAtgUserExitMain) due to a peer departure; removing the member.
[java] 2014-09-26 13:57:00.473/1104.904 Oracle Coherence GE 12.1.3.0.0 <D5>
(thread=Invocation:Management, member=1): Member 3 left service Management with senior
member 1
[java] 2014-09-26 13:57:00.473/1104.904 Oracle Coherence GE 12.1.3.0.0 <D5>
(thread=Cluster, member=1): Member(Id=3, Timestamp=2014-09-26 13:57:00.473,
Address=127.0
.0.1:8092, MachineId=21026, Location=site:,process:8860,
Role=GoldengateAtgUserExitMain) left Cluster with senior member 1
[java] 2014-09-26 13:57:00.476/1104.907 Oracle Coherence GE 12.1.3.0.0 <D5>
(thread=DistributedCache:TopLinkGridJPA, member=1): Member 3 left service
TopLinkGridJPA
with senior member 1
[java] [EL Fine]: sql: Connection(52371844)--SELECT ID, FIRSTNAME, LASTNAME FROM
EMPLOYEE WHERE (ID = ?)
[java] bind => [5]
[java] [EL Fine]: sql: Connection(1833488176)--INSERT INTO EMPLOYEE (ID,
FIRSTNAME, LASTNAME) VALUES (?, ?, ?)
[java] bind => [5, Clara, Morgenstern]
8. Documentation
Oracle GoldenGate Adapters - Administrator's Guide for Java 11g Release 2 (11.2.1.0.0) E28384-01 December 2012
Installing, Configuring, and Running the Oracle GoldenGate Adapter for Oracle
Coherence
System Documentation: Oracle Fusion Middleware - Integrating Oracle Coherence 12c (12.1.3) E47886-01 May 2014 Chapter 7 - Integrating with Oracle Coherence GoldenGate HotCache Oracle-By- Example (OBE) Tutorial: The Oracle GoldenGate Adapter for Coherence http://www.oracle.com/webfolder/technetwork/tutorials/obe/fmw/coherence/coher
ence_12c/index.html?cid=8135&ssid=104255585275005