Operating
System : RHEL5 - 64bit.
Database : Oracle Database
11g Enterprise Edition Release 11.2.0.1.0 - Production
STEP
1 :- Installation of
GoldenGate Software by unzipping/untar the tar file.
**************************** SOURCE ***********************
[oracle@rac3 goldengate]$ cd /home/oracle/gg
[oracle@rac3 gg]$ ls
fbo_ggs_Linux_x86_ora11g_32bit.tar
[oracle@rac3 gg]$ tar -xvf fbo_ggs_Linux_x86_ora11g_32bit.tar
**************************** TARGET ***********************
[oracle@rac3 goldengate]$ cd /home/oracle/gg
[oracle@rac3 gg]$ ls
fbo_ggs_Linux_x86_ora11g_32bit.tar
[oracle@rac3 gg]$ tar -xvf fbo_ggs_Linux_x86_ora11g_32bit.tar
STEP
2:- It is mandatory to
setup the Path, LD_Library_path to execute ggsci command else you will receive
the highlighted error below.
**************************** SOURCE
***********************
[oracle@rac3 bin-D_H]$export PATH=$PATH:/home/oracle/gg
[oracle@rac3 bin-D_H]$export LD_LIBRARY_PATH=$ORACLE_HOME/lib/:/home/oracle/gg
[oracle@rac3 bin-D_H]$cd /home/oracle/gg
[oracle@rac3 gg-D_H]$./ggsci
Oracle GoldenGate Command
Interpreter for Oracle
Version 11.2.1.0.1
OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230_FBO
Linux, x86, 32bit
(optimized), Oracle 11g on Apr 23 2012 08:09:25
Copyright (C) 1995, 2012,
Oracle and/or its affiliates. All rights reserved.
GGSCI (rac3.sukku.com)
1>
***************************** TARGET
***********************
[oracle@rac4 gg-D_H]$./ggsci
./ggsci: error while loading
shared libraries: libnnz11.so: cannot open shared object file: No such file or
directory
[oracle@rac4
gg-D_H]$export PATH=$PATH:/home/oracle/gg
[oracle@rac4
gg-D_H]$export LD_LIBRARY_PATH=$ORACLE_HOME/lib/:/home/oracle/gg
[oracle@rac4 gg-D_H]$pwd
/home/oracle/gg
[oracle@rac4
gg-D_H]$./ggsci
Oracle GoldenGate Command
Interpreter for Oracle
Version 11.2.1.0.1
OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230_FBO
Linux, x86, 32bit
(optimized), Oracle 11g on Apr 23 2012 08:09:25
Copyright (C) 1995, 2012,
Oracle and/or its affiliates. All rights reserved.
GGSCI (rac4.sukku.com)
1>
STEP
3:- it is mandatory to
create sub directories by using “create
subdirs” command at ggsci
prompt.
**************************** SOURCE ***********************
GGSCI (rac3.sukku.com)
1> create subdirs
Creating subdirectories
under current directory /home/oracle/gg
Parameter files /home/oracle/gg/dirprm: already
exists
Report files /home/oracle/gg/dirrpt:
created
Checkpoint files /home/oracle/gg/dirchk: created
Process status files /home/oracle/gg/dirpcs: created
SQL script files /home/oracle/gg/dirsql: created
Database definitions
files /home/oracle/gg/dirdef: created
Extract data files /home/oracle/gg/dirdat: created
Temporary files /home/oracle/gg/dirtmp: created
Stdout files /home/oracle/gg/dirout:
created
***************************** TARGET ***********************
GGSCI (rac4.sukku.com)
1> create subdirs
Creating subdirectories
under current directory /home/oracle/gg
Parameter files /home/oracle/gg/dirprm: already
exists
Report files /home/oracle/gg/dirrpt:
created
Checkpoint files /home/oracle/gg/dirchk: created
Process status files /home/oracle/gg/dirpcs: created
SQL script files /home/oracle/gg/dirsql: created
Database definitions
files /home/oracle/gg/dirdef: created
Extract data files /home/oracle/gg/dirdat: created
Temporary files /home/oracle/gg/dirtmp: created
Stdout files /home/oracle/gg/dirout:
created
STEP
4:- create a user at
database level to access DB from ggsci.
**************************** SOURCE
***********************
SQL> grant connect,resource, dba, select any dictionary, select any
table, create table, flashback any table, execute on dbms_flashback, execute on
utl_file to ggs identified by ggs;
Grant succeeded.
SQL> conn ggs/ggs
Connected.
***************************** TARGET
***********************
SQL> grant
connect,resource, dba, select any dictionary, select any table, create table,
flashback any table, execute on dbms_flashback, execute on utl_file to ggs
identified by ggs;
Grant succeeded.
SQL> conn ggt/ggt
Connected.
STEP
5:- It is mandatory to
login to database to access date from ggsci
**************************** SOURCE
***********************
GGSCI (rac3.sukku.com)
2> dblogin userid ggs, password ggs
Successfully logged into
database.
***************************** TARGET
***********************
Note: There may be a chance of multiple DB
instances running on same node. It is mandatory to export the instance name
where we have created a user for GoldenGate.
GGSCI (rac4.sukku.com)
2> dblogin userid ggt, password ggt
ERROR: Unable to connect to
database using user ggt. Please check privileges.
ORA-12162: TNS:net service name
is incorrectly specified.
[oracle@rac4 gg-D_H]$. oraenv
ORACLE_SID = [oracle] ?
ggtestdb2
The Oracle base for
ORACLE_HOME=/oraeng/app/oracle/product/11.2.0 is /oraeng/app/oracle/product
GGSCI (rac4.sukku.com)
1> dblogin userid ggt, password ggt
Successfully logged into
database.
##############################################################
Note: ggsci command won’t accept ‘;’
at the end of the commands.
GGSCI (rac3.sukku.com)
3> info all; ----- ; not allowed for ggsci commands.
ERROR: Invalid command.
##############################################################
STEP
6:- To check what are the
resources running on goldengate.
**************************** SOURCE
***********************
GGSCI (rac3.sukku.com)
4> info all
Program Status
Group Lag at Chkpt Time Since Chkpt --- by default Manager process will be in
stopped status.
MANAGER STOPPED
Note: Edit the parameter file.
User authentication is not mandatory in the
parameter file, but it is recommended to authenticate.
GGSCI (rac3.sukku.com)
5> edit params mgr
---------- vi editor----
port 7809
userid ggs, password ggs
--- (NOT Mandatory)
------------------------
Note: To start the manager process.
GGSCI (rac3.sukku.com)
6> start manager
Manager started.
GGSCI (rac3.sukku.com)
7> info all
Program Status
Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
***************************** TARGET
***********************
[oracle@rac4
dirprm-D_H]$pwd
/home/oracle/gg/dirprm
[oracle@rac4 dirprm-D_H]$vi mgr.prm
port 7809
GGSCI (rac4.sukku.com)
4> info all
Program Status
Group Lag at Chkpt Time Since Chkpt
MANAGER STOPPED
Note: To start the manager process.
GGSCI (rac4.sukku.com)
5> start manager
Manager started.
Note: To stop the manager process.
GGSCI (rac4.sukku.com)
6> stop manager
Manager process is
required by other GGS processes.
Are you sure you want to
stop it (y/n)? yes
Sending STOP request to
MANAGER ...
Request processed.
Manager stopped.
GGSCI (rac4.sukku.com)
7> start manager
Manager started.
Note: To check the status of manager
process.
GGSCI (rac4.sukku.com)
8> status manager
Manager is running (IP
port rac4.sukku.com.7809).
GGSCI (rac4.sukku.com)
9>
**************************** SOURCE
***********************
---
Initial Load through extract process -------
Note: before starting the initial load
replication, make sure that the structure of table exists at Target side.
“SOURCEISTABLE” is the keyword/parameter to run the
Initial load through GoldenGate.
GGSCI (rac3.sukku.com)
9> ADD EXTRACT initload, SOURCEISTABLE
EXTRACT added.
GGSCI (rac3.sukku.com)
10> info all
Program Status
Group Lag at Chkpt Time Since Chkpt ---
Initial load extract process will not show in info all
MANAGER RUNNING
GGSCI (rac3.sukku.com)
11> edit params initload
EXTRACT initload
USERID ggs, PASSWORD ggs
RMTHOST rac4, MGRPORT 7809
RMTTASK replicat, GROUP repload
TABLE ggs.t;
***************************** TARGET
***********************
“SPECIALRUN” is the keyword to receive the initial load at
replicat side.
Extract/Replicat
group name must be less than 8 characters.
GGSCI (rac4.sukku.com)
8> ADD REPLICAT initload2, SPECIALRUN
ERROR: Invalid group name (must
be at most 8 characters).
GGSCI (rac4.sukku.com)
9> ADD REPLICAT repload, SPECIALRUN
REPLICAT added.
GGSCI (rac4.sukku.com)
10> EDIT PARAMS repload
REPLICAT repload
USERID ggt, PASSWORD ggt
ASSUMETARGETDEFS
MAP ggs.t, TARGET ggt.t;
**************************** SOURCE
***********************
Example: Create a table and insert few records..
SQL> select count(*) from t;
COUNT(*)
----------
160
GGSCI (rac3.sukku.com)
23> start extract initload
Sending START request to MANAGER...
EXTRACT INITLOAD starting
GGSCI (rac3.sukku.com)
24> info extract initload
EXTRACT INITLOAD Last Started 2012-09-20 15:17 Status RUNNING
Checkpoint Lag Not Available
Log Read Checkpoint Table
GGS.T
2012-09-20 15:17:51 Record 1
Task SOURCEISTABLE
GGSCI (rac3.sukku.com)
25> info extract initload
EXTRACT INITLOAD
Last Started 2012-09-20 15:20 Status STOPPED
Checkpoint Lag Not Available
Log Read Checkpoint Table GGS.T
2012-09-20 15:20:22 Record 160
Task SOURCEISTABLE
***************************** TARGET
***********************
create a table as similar to source..
GGSCI (rac4.sukku.com)
17> info replicat repload
REPLICAT REPLOAD
Initialized 2012-09-20
15:02 Status
RUNNING
Checkpoint Lag 00:00:00 (updated 00:18:04 ago)
Log Read Checkpoint Not Available
Task SPECIALRUN
GGSCI (rac4.sukku.com)
18> info replicat repload
REPLICAT REPLOAD
Initialized 2012-09-20
15:02 Status
STOPPED
Checkpoint Lag 00:00:00 (updated 00:18:55 ago)
Log Read Checkpoint Not Available
Task SPECIALRUN
SQL> select count(*) from t;
COUNT(*)
----------
160
Note:
Checkpoint Table is mandatory for normal Extract & Replicat.
GGSCI (rac3.sukku.com)
26> edit params ./GLOBALS
GGSCHEMA ggs
CHECKPOINTTABLE ggs.chkpt
GGSCI (rac3.sukku.com)
27> dblogin userid ggs, password ggs
Successfully logged into
database.
GGSCI (rac3.sukku.com)
28> add checkpointtable ggs.chkpt
Successfully created
checkpoint table ggs.chkpt.
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------
------- ----------
CHKPT TABLE
CHKPT_LOX TABLE
T TABLE
SQL> desc chkpt_lox
Name
Null? Type
-----------------------------------------
-------- ----------------------------
GROUP_NAME NOT NULL
VARCHAR2(8)
GROUP_KEY NOT NULL
NUMBER(19)
LOG_CMPLT_CSN NOT NULL
VARCHAR2(129)
LOG_CMPLT_XIDS_SEQ NOT NULL NUMBER(5)
LOG_CMPLT_XIDS NOT NULL
VARCHAR2(2000)
SQL> desc chkpt
Name
Null? Type
-----------------------------------------
-------- ----------------------------
GROUP_NAME NOT NULL VARCHAR2(8)
GROUP_KEY NOT NULL
NUMBER(19)
SEQNO
NUMBER(10)
RBA NOT NULL
NUMBER(19)
AUDIT_TS VARCHAR2(29)
CREATE_TS NOT NULL DATE
LAST_UPDATE_TS NOT NULL DATE
CURRENT_DIR NOT NULL
VARCHAR2(255)
LOG_CSN VARCHAR2(129)
LOG_XID
VARCHAR2(129)
LOG_CMPLT_CSN
VARCHAR2(129)
LOG_CMPLT_XIDS
VARCHAR2(2000)
VERSION NUMBER(3)
***************************** SOURCE
***********************
“threads 2” is for RAC databases, so that Goldengate will
be aware of that it should get the data from 2 sources (Node1 & Node2
online redologs).
GGSCI (rac3.sukku.com)
30> add extract ext,tranlog, threads 2, begin now
EXTRACT added.
GGSCI (rac3.sukku.com)
31> add rmttrail /home/oracle/gg/dirdat/rt, extract ext
RMTTRAIL added.
GGSCI (rac3.sukku.com)
32> edit params ext
EXTRAXT ext
USERID ggs, PASSWORD ggs
RMTHOST rac4, MGRPORT 7809
RMTTRAIL /home/oracle/gg/dirdat/rt
TABLE ggs.t;
***************************** TARGET
***********************
GGSCI (rac4.sukku.com)
19> add replicat rep, exttrail /home/oracle/gg/dirdat/rt
ERROR: No checkpoint table
specified for ADD REPLICAT.
GGSCI (rac4.sukku.com)
20> edit params ./GLOBALS
GGSCHEMA ggt
CHECKPOINTTABLE ggt.chkpt
GGSCI (rac4.sukku.com)
21> dblogin userid ggt, password ggt
Successfully logged into
database.
GGSCI (rac4.sukku.com)
22> add checkpointtable ggt.chkpt
Successfully created
checkpoint table ggt.chkpt.
GGSCI (rac4.sukku.com)
23> add replicat rep, exttrail /home/oracle/gg/dirdat/rt
REPLICAT added.
GGSCI (rac4.sukku.com)
24> edit params rep
REPLICAT rep
ASSUMETARGETDEFS
USERID ggt, PASSWORD ggt
MAP ggs.t, TARGET ggt.t;
##############################################################
***************************** SOURCE
***********************
GGSCI (rac3.sukku.com)
36> start extract ext
Sending START request to
MANAGER ...
EXTRACT EXT starting
GGSCI (rac3.sukku.com)
51> info extract ext
EXTRACT EXT
Initialized 2012-09-20
16:10 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:49 ago)
Log Read Checkpoint Oracle Redo Logs
2012-09-20 16:10:08 Thread 1, Seqno 0, RBA 0
SCN 0.0 (0)
Log Read Checkpoint Oracle Redo Logs
2012-09-20 16:10:08 Thread 2, Seqno 0, RBA 0
SCN 0.0 (0)
GGSCI (rac3.sukku.com)
52> info all
Program Status
Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING
EXT 00:00:00 00:00:58
--------------------------------------------- without
threads 2 option in RAC DB
------------------------------------------
2012-09-20 15:57:18
ERROR OGG-00446 Oracle GoldenGate Capture for Oracle,
ext.prm: The number of Oracle redo
threads (2) is not the same as the number of checkpoint threads (1). EXTRACT
groups on RAC systems should be created with the THREADS parameter (e.g., ADD
EXT <group name>, TRANLOG, THREADS 2, BEGIN...).
----------------------------------------------------------------------------------------------------------------------------------
***************************** TARGET
***********************
GGSCI (rac4.sukku.com)
29> start replicat rep
Sending START request
REPLICAT REP starting
GGSCI (rac4.sukku.com)
30> info all
Program Status
Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
REPLICAT RUNNING
REP 00:00:00 00:00:00
GGSCI (rac4.sukku.com)
31> info replicat rep
REPLICAT REP
Last Started 2012-09-20 16:13
Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:06 ago)
Log Read Checkpoint File /home/oracle/gg/dirdat/rt000000
First Record RBA 0
########################################################################################
Note: Unable to
replicate.. because redo's are in ASM..
2012-09-20 16:57:33
ERROR OGG-00446 Oracle GoldenGate Capture for Oracle,
ext.prm: No valid log files for current
redo sequence 256, thread 1, error retrieving redo file name for sequence 256,
archived = 0, use_alternate = 0Not able to establish initial position for begin
time 2012-09-20 16:56:52.
2012-09-20 16:57:33
ERROR OGG-01668 Oracle GoldenGate Capture for Oracle,
ext.prm: PROCESS ABENDING.
Note: create password
file and grant sysasm privilege and added this parameter to read ASM logfiles
to fix the above error.
EXTRACT ext
USERID ggs, PASSWORD ggs
RMTHOST rac4, MGRPORT 7809
RMTTRAIL /home/oracle/gg/dirdat/rt
tranlogoptions asmuser sys@asm1, asmpassword sys
TABLE ggs.t;
GGSCI (rac3.sukku.com) 63> stats extract ext
Sending STATS request to
EXTRACT EXT ...
Start of Statistics at
2012-09-20 21:21:27.
DDL replication statistics
(for all trails):
*** Total statistics since
extract started ***
Operations 3.00
Mapped operations 3.00
Unmapped operations 0.00
Other operations 0.00
Excluded operations 0.00
Output to
/home/oracle/gg/dirdat/rt:
Extracting from GGS.A to
GGS.A:
*** Total statistics since
2012-09-20 18:45:06 ***
Total inserts 1.00
Total updates 0.00
Total deletes 0.00
Total discards 0.00
Total operations 1.00
*** Daily statistics since
2012-09-20 18:45:06 ***
Total inserts 1.00
Total updates 0.00
Total deletes 0.00
Total discards 0.00
Total operations 1.00
*** Hourly statistics since
2012-09-20 21:00:00 ***
No database operations have been
performed.
*** Latest statistics since
2012-09-20 18:45:06 ***
Total inserts 1.00
Total updates 0.00
Total deletes 0.00
Total discards 0.00
Total operations 1.00
Extracting from
GGS.GGS_MARKER to GGS.GGS_MARKER:
*** Total statistics since
2012-09-20 18:45:06 ***
No database operations have been
performed.
*** Daily statistics since
2012-09-20 18:45:06 ***
No database operations have been
performed.
*** Hourly statistics since
2012-09-20 21:00:00 ***
No database operations have been
performed.
*** Latest statistics since
2012-09-20 18:45:06 ***
No database operations have been
performed.
Extracting from
GGS.GGS_MARKER to GGS.GGS_MARKER:
*** Total statistics since
2012-09-20 18:45:06 ***
No database operations have been
performed.
*** Daily statistics since
2012-09-20 18:45:06 ***
No database operations have been
performed.
*** Hourly statistics since
2012-09-20 21:00:00 ***
No database operations have been
performed.
*** Latest statistics since
2012-09-20 18:45:06 ***
No database operations have been performed.
Extracting from GGS.H to
GGS.H:
*** Total statistics since
2012-09-20 18:45:06 ***
Total inserts 2.00
Total updates 0.00
Total deletes 0.00
Total discards 0.00
Total operations 2.00
*** Daily statistics since
2012-09-20 18:45:06 ***
Total inserts 2.00
Total updates 0.00
Total deletes 0.00
Total discards 0.00
Total operations 2.00
*** Hourly statistics since
2012-09-20 21:00:00 ***
No database operations have been
performed.
*** Latest statistics since
2012-09-20 18:45:06 ***
Total inserts 2.00
Total updates 0.00
Total deletes 0.00
Total discards 0.00
Total operations 2.00
End of Statistics.
No comments:
Post a Comment