High level GoldenGate Architecture
It provides log-based change data capture (CDC) nd replication of commited database transactions. The software provies capture, routing, transformation and delivery of transactional data across heterogenerous enviornments in real time.
The movement of datain 4 steps:
1) Capture: Changed data operations commited in the database transaction logsin a nonintrusive, high_performance, low-overhead implementation
2) Route: variety of transport protocols and compress, encrypt changed data prior to routing
3) Transform: GoldenGate can execute a number of built-in functions like filtering and transformation
4) Apply: It applies the changed transactional data with only sub-second latency
Installation:
Download the golden gate software ogg112102_ggs_Linux_s390x_ora11g_64bit.zip from edelivery.com
http://edelivery.oracle.com
select a langeguage ==> Continue ==> Export Validation and check the box to agree the license agreement
Select the Oracle Fusion Middleware Product Pact and select the appropriate platform and the Oracle GoldenGate Media Pack
Perform the same steps (1 to 4) in source and destination servers
1) tar -xvf fbo_ggs_Linux_x64_ora11g_64bit.tar
2) Make a symbolic link
ln -s $ORACLE_HOME/lib/libnnz11.so $ORACLE_HOME/lib/libnnz10.so
3) Set LD_LIBRARY_PATH and validate the libraries required by GoldenGate are installed by executing the follwoing shell comands
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/apps/11.2.0/gg
dd ggsci
ldd mgr
ldd extract
ldd replicat
The command will return an error message if any missing libraries..
DBATOOLS - oracle: ldd replicat
linux-vdso.so.1 => (0x00007fff557fd000)
libdl.so.2 => /lib64/libdl.so.2 (0x000000392e400000)
libgglog.so => /apps/11.2.0/gg/libgglog.so (0x00002ba6aee97000)
libggrepo.so => /apps/11.2.0/gg/libggrepo.so (0x00002ba6af0d3000)
libdb-5.2.so => /apps/11.2.0/gg/libdb-5.2.so (0x00002ba6af227000)
libicui18n.so.38 => /apps/11.2.0/gg/libicui18n.so.38 (0x00002ba6af4c8000)
libicuuc.so.38 => /apps/11.2.0/gg/libicuuc.so.38 (0x00002ba6af829000)
libicudata.so.38 => /apps/11.2.0/gg/libicudata.so.38 (0x00002ba6afb62000)
libxerces-c.so.28 => /apps/11.2.0/gg/libxerces-c.so.28 (0x00002ba6b0b3e000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x000000392e800000)
libantlr3c.so => /apps/11.2.0/gg/libantlr3c.so (0x00002ba6b1056000)
libnnz11.so => /apps/11.2.0/DB/lib/libnnz11.so (0x00002ba6b116c000)
libclntsh.so.11.1 => /apps/11.2.0/DB/lib/libclntsh.so.11.1 (0x00002ba6b1539000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x000000392fc00000)
libm.so.6 => /lib64/libm.so.6 (0x000000392ec00000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003930000000)
libc.so.6 => /lib64/libc.so.6 (0x000000392e000000)
/lib64/ld-linux-x86-64.so.2 (0x000000392dc00000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x0000003931c00000)
libaio.so.1 => /usr/lib64/libaio.so.1 (0x00002ba6b3ec7000)
4) ./ggsci
GGSCI (ljtcdb105.fnf.com) 2> create subdirs
Creating subdirectories under current directory /apps/11.2.0/gg
Parameter files /apps/11.2.0/gg/dirprm: created (Parameter runtime configuration)
Report files /apps/11.2.0/gg/dirrpt: created (Process report files)
Checkpoint files /apps/11.2.0/gg/dirchk: created (Golden Gate Checkpoint files)
Process status files /apps/11.2.0/gg/dirpcs: created (Process Status)
SQL script files /apps/11.2.0/gg/dirsql: created (SQL scipts)
Database definitions files /apps/11.2.0/gg/dirdef: created (Source data definitions produced by DEFGEN and used to translate heterogeneous data)
Extract data files /apps/11.2.0/gg/dirdat: created (Golden Gate trail and Extract files)
Temporary files /apps/11.2.0/gg/dirtmp: created (Temporary storage for transactions that exceed memory)
Stdout files /apps/11.2.0/gg/dirout: created
5) Switch to archivelog mode
SQL> shutdown immediate ==> startup mount ==>alter database archivelog; alter database open;
6) Enable minimum sumplemental logging
SQL> alter database add supplemental log data;
SQL> alter system switch logfile;
SQL> select supplemental_log_data_min from v$database;
7) Turn off recyclebin (this is optional) and bounce the database
SQL> alter system set recyclebin=off scope=spfile;
8> Create a new tablespace GGATE and a new user GG_USER as Oracle GoldenGate schema name, then assigned it to this tablespace.
create tablespace ggate datafile '+DBA_PD101' size 5g autoextend on;
create user gg_user identified by oracle123 default tablespace GGATE temporary tablespace temp;
9) Grant necessary permission to gg_user
SQL> grant connect, resource, unlimited tablespace to gg_user;
SQL> grant execute on utl_file to gg_user;
10) Create necessary objects for ddl replication
SQL> @marker_setup.sql
Marker setup script
SQL> @ddl_setup.sql
Oracle GoldenGate DDL Replication setup script
SQL> @role_setup
GGS Role setup script
This script will drop and recreate the role GGS_GGSUSER_ROLE
SQL> GRANT GGS_GGSUSER_ROLE TO gg_user;
SQL> @ddl_enable.sql
Trigger altered.