gavinsoorma.com.au · web view2019-01-05 18:15:26 info ogg-15135 trandata for instantiation csn has...
TRANSCRIPT
Oracle GoldenGate 18c and GoldenGate Cloud Services Workshop
Hands-on Lab Exercise 2
Install and Configure Oracle Goldengate 12.3
Configure the database for Oracle GoldenGate
[root@rac01 ~]# su – oracle
[oracle@rac01 ~]$ export ORACLE_HOME=/acfs_oh/product/12.2.0/dbhome_1
[oracle@rac01 ~]$ export ORACLE_SID=cdb1_1
[oracle@rac01 ~]$ export PATH=$ORACLE_HOME/bin:$PATH
[oracle@rac01 ~]$ sqlplus sys as sysdba
SQL*Plus: Release 12.2.0.1.0 Production on Sat Jan 5 12:50:32 2019
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Enter password:
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 MOUNTED
SQL> alter pluggable database all open;
Pluggable database altered.
SQL> alter pluggable database all save state;
Pluggable database altered.
SQL> alter database force logging;
Database altered.
SQL> alter database add supplemental log data;
Database altered.
SQL> alter system set enable_goldengate_replication=true sid='*';
System altered.
SQL> alter system set streams_pool_size=1024m scope=spfile sid='*';
System altered.
SQL> alter system set sga_target=1660m scope=spfile sid='*';
System altered.
SQL> alter system set sga_max_size=1660m scope=spfile sid='*';
System altered.
SQL> create user C##oggadmin identified by oracle container=all;
User created.
SQL> grant dba to C##oggadmin container=all;
Grant succeeded.
SQL> exec dbms_goldengate_auth.grant_admin_privilege('C##oggadmin',container=>'ALL');
PL/SQL procedure successfully completed.
SQL>
Add entries to the tnsnames.ora
PDB1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac-scan)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = pdb1.localdomain)
)
)
PDB2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac-scan)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = pdb2.localdomain)
)
)
Install Oracle GoldenGate 12.3
[oracle@rac01 sf_software]$ cd 123010_fbo_ggs_Linux_x64_shiphome
[oracle@rac01 123010_fbo_ggs_Linux_x64_shiphome]$ ls
fbo_ggs_Linux_x64_shiphome OGG-12.3.0.1-README.txt OGG_WinUnix_Rel_Notes_12.3.0.1.pdf
[oracle@rac01 123010_fbo_ggs_Linux_x64_shiphome]$ cd fbo_ggs_Linux_x64_shiphome/
[oracle@rac01 fbo_ggs_Linux_x64_shiphome]$ cd Disk1/
[oracle@rac01 Disk1]$ ./runInstaller
Configure the Manager process
[oracle@rac01 goldengate]$ pwd
[oracle@rac01 goldengate]$ ./ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 12.3.0.1.0 OGGCORE_12.3.0.1.0_PLATFORMS_170721.0154_FBO
Linux, x64, 64bit (optimized), Oracle 12c on Jul 21 2017 23:31:13
Operating system character set identified as UTF-8.
Copyright (C) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
GGSCI (rac01.localdomain) 23> edit params mgr
PORT 7809
DYNAMICPORTLIST 7810-7890
LAGREPORTMINUTES 5
LAGINFOMINUTES 5
LAGCRITICALMINUTES 15
AUTOSTART EXTRACT e*
AUTOSTART EXTRACT p*
AUTOSTART REPLICAT r*
AUTORESTART EXTRACT e
AUTORESTART EXTRACT p*
AUTORESTART REPLICAT r*
PURGEOLDEXTRACTS ./dirdat/* MINKEEPDAYS 1 USECHECKPOINTS
ACCESSRULE, PROG *, IPADDR *, ALLOW
GGSCI (rac01.localdomain) 24> stop mgr
Manager process is required by other GGS processes.
Are you sure you want to stop it (y/n)?y
Sending STOP request to MANAGER ...
Request processed.
Manager stopped.
GGSCI (rac01.localdomain) 25> start mgr
Manager started.
GGSCI (rac01.localdomain) 26> info mgr
Manager is running (IP port rac01.localdomain.7809, Process ID 9468).
Configure the Credential Store
GGSCI (rac01.localdomain) 1> add credentialstore
Credential store created in /acfs_oh/app/goldengate/dircrd/.
GGSCI (rac01.localdomain) 2> alter credentialstore add user C##oggadmin@cdb1 alias oggadmin_cdb1
Password:
Credential store in /acfs_oh/app/goldengate/dircrd/ altered.
GGSCI (rac01.localdomain) 3> alter credentialstore add user C##oggadmin@cdb2 alias oggadmin_cdb2
Password:
Credential store in /acfs_oh/app/goldengate/dircrd/ altered.
GGSCI (rac01.localdomain) 6> alter credentialstore add user c##oggadmin@pdb2 alias oggadmin_pdb2
Password:
Credential store in /acfs_oh/app/goldengate/dircrd/ altered.
GGSCI (rac01.localdomain) 7> alter credentialstore add user c##oggadmin@pdb1 alias oggadmin_pdb1
Password:
Credential store in /acfs_oh/app/goldengate/dircrd/ altered.
GGSCI (rac01.localdomain as C##oggadmin@cdb1_2/CDB$ROOT) 5> dblogin useridalias oggadmin_cdb2
Successfully logged into database CDB$ROOT.
GGSCI (rac01.localdomain) 1> dblogin useridalias oggadmin_pdb1
Successfully logged into database PDB1.
GGSCI (rac01.localdomain as c##oggadmin@cdb1_2/PDB1) 2> dblogin useridalias oggadmin_pdb2
Successfully logged into database PDB2.
GGSCI (rac01.localdomain) 4> dblogin useridalias oggadmin_cdb1
Successfully logged into database CDB$ROOT.
Create the Extract and Pump
GGSCI (rac01.localdomain as C##oggadmin@cdb1_2/CDB$ROOT) 7> add extract ext1 integrated tranlog begin now
EXTRACT (Integrated) added.
GGSCI (rac01.localdomain as C##oggadmin@cdb1_2/CDB$ROOT) 8> add exttrail ./dirdat/ogg1/lt extract ext1
EXTTRAIL added.
GGSCI (rac01.localdomain as C##oggadmin@cdb1_2/CDB$ROOT) 9> add extract pump1 exttrailsource ./dirdat/ogg1/lt
EXTRACT added.
GGSCI (rac01.localdomain as C##oggadmin@cdb1_2/CDB$ROOT) 10> add rmttrail ./dirdat/ogg2/rt extract pump1
RMTTRAIL added.
GGSCI (rac01.localdomain as C##oggadmin@cdb1_2/CDB$ROOT) 11> register extract ext1 database container (pdb1)
2019-01-05 16:41:30 INFO OGG-02003 Extract EXT1 successfully registered with database at SCN 1801421.
[oracle@rac01 goldengate]$ sqlplus sys as sysdba
SQL*Plus: Release 12.2.0.1.0 Production on Sat Jan 5 16:44:41 2019
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Enter password:
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> col capture_name format a40
SQL> select capture_name, start_scn,CAPTURED_SCN,status from dba_capture;
CAPTURE_NAME START_SCN CAPTURED_SCN STATUS
---------------------------------------- ---------- ------------ --------
OGG$CAP_EXT1 1801421 1801870 ENABLED
[oracle@rac01 goldengate]$ cd ./dirdat
[oracle@rac01 dirdat]$ mkdir ogg1
[oracle@rac01 dirdat]$ mkdir ogg2
GGSCI (rac01.localdomain) 1> dblogin useridalias oggadmin_ogg1
Successfully logged into database CDB$ROOT.
GGSCI (rac01.localdomain as C##oggadmin@cdb1_2/CDB$ROOT) 2> edit params ext1
EXTRACT ext1
SETENV (ORACLE_HOME='/acfs_oh/product/12.2.0/dbhome_1')
USERIDALIAS oggadmin_cdb1
EXTTRAIL ./dirdat/ogg1/lt
SOURCECATALOG pdb1
TABLE HR.*;
GGSCI (rac01.localdomain as C##oggadmin@cdb1_2/CDB$ROOT) 4> edit params pump1
EXTRACT pump1
SETENV (ORACLE_HOME='/acfs_oh/product/12.2.0/dbhome_1')
USERIDALIAS oggadmin_cdb1
RMTHOST rac-scan, MGRPORT 7809
RMTTRAIL ./dirdat/ogg2/rt
SOURCECATALOG pdb1
TABLE HR.*;
GGSCI (rac01.localdomain) 3> start extract *
Sending START request to MANAGER ...
EXTRACT EXT1 starting
Sending START request to MANAGER ...
EXTRACT PUMP1 starting
GGSCI (rac01.localdomain) 4> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT STARTING EXT1 00:00:00 00:31:27
EXTRACT STARTING PUMP1 00:00:00 00:30:40
GGSCI (rac01.localdomain) 5> !
info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING EXT1 00:00:00 00:31:49
EXTRACT RUNNING PUMP1 00:00:00 00:00:04
Create the Replicat
GGSCI (rac01.localdomain) 1> dblogin useridalias oggadmin_pdb2
Successfully logged into database CDB$ROOT.
GGSCI (rac01.localdomain as C##oggadmin@cdb2_1/CDB$ROOT) 4> add checkpointtable pdb2.c##oggadmin.chkptab
Successfully created checkpoint table pdb2.c##oggadmin.chkptab.
GGSCI (rac01.localdomain as C##oggadmin@cdb2_1/CDB$ROOT) 5> add replicat rep1 integrated exttrail ./dirdat/ogg2/rt
REPLICAT (Integrated) added.
GGSCI (rac01.localdomain as C##oggadmin@cdb2_1/CDB$ROOT) 6> edit params rep1
REPLICAT rep1
SETENV (ORACLE_HOME='/acfs_oh/product/12.2.0/dbhome_1')
USERIDALIAS oggadmin_pdb2
SOURCECATALOG pdb2
MAP PDB1.HR.*, TARGET PDB2.HR.*;
GGSCI (rac01.localdomain as C##oggadmin@cdb2_1/CDB$ROOT) 7> edit params ./GLOBALS
CHECKPOINTTABLE pdb2.c##oggadmin.chkptab
GGSCI (rac01.localdomain as C##oggadmin@cdb2_1/CDB$ROOT) 8> exit
[oracle@rac01 goldengate]$ ./ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 12.3.0.1.0 OGGCORE_12.3.0.1.0_PLATFORMS_170721.0154_FBO
Linux, x64, 64bit (optimized), Oracle 12c on Jul 21 2017 23:31:13
Operating system character set identified as UTF-8.
Copyright (C) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
GGSCI (rac01.localdomain) 12> start rep1
Sending START request to MANAGER ...
REPLICAT REP1 starting
GGSCI (rac01.localdomain) 13> info rep1
REPLICAT REP1 Initialized 2019-01-05 17:46 Status STARTING
INTEGRATED
Checkpoint Lag 00:00:00 (updated 00:19:33 ago)
Process ID 8378
Log Read Checkpoint File ./dirdat/ogg2/rt000000000
First Record RBA 0
GGSCI (rac01.localdomain) 14> !
info rep1
REPLICAT REP1 Initialized 2019-01-05 17:46 Status STARTING
INTEGRATED
Checkpoint Lag 00:00:00 (updated 00:19:35 ago)
Process ID 8378
Log Read Checkpoint File ./dirdat/ogg2/rt000000000
First Record RBA 0
GGSCI (rac01.localdomain) 15> !
info rep1
REPLICAT REP1 Last Started 2019-01-05 18:05 Status RUNNING
INTEGRATED
Checkpoint Lag 00:00:00 (updated 00:19:45 ago)
Process ID 8378
Log Read Checkpoint File /acfs_oh/app/goldengate/dirdat/ogg2/rt000000000
First Record RBA 0
List the tables in the HR Schema
[oracle@rac01 ~]$ sqlplus c##oggadmin/oracle@pdb1
SQL*Plus: Release 12.2.0.1.0 Production on Sat Jan 5 18:11:42 2019
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Last Successful login time: Sat Jan 05 2019 18:08:33 +08:00
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> select table_name from cdb_tables where owner='HR';
TABLE_NAME
--------------------------------------------------------------------------------
REGIONS
LOCATIONS
DEPARTMENTS
JOBS
EMPLOYEES
JOB_HISTORY
COUNTRIES
7 rows selected.
SQL> select * from hr.regions;
REGION_ID REGION_NAME
---------- -------------------------
1 Europe
2 Americas
3 Asia
4 Middle East and Africa
Add Supplemental Logging
GGSCI (rac01.localdomain) 30> dblogin useridalias oggadmin_cdb1
Successfully logged into database CDB$ROOT.
GGSCI (rac01.localdomain as C##oggadmin@cdb1_2/CDB$ROOT) 31> info trandata pdb1.hr.regions
2019-01-05 18:15:03 INFO OGG-10471 ***** Oracle Goldengate support information on table HR.REGIONS *****
Oracle Goldengate support native capture on table HR.REGIONS.
Oracle Goldengate marked following column as key columns on table HR.REGIONS: REGION_ID.
Logging of supplemental redo log data is disabled for table PDB1.HR.REGIONS.
GGSCI (rac01.localdomain as C##oggadmin@cdb1_2/CDB$ROOT) 32> add trandata pdb1.hr.regions
2019-01-05 18:15:25 INFO OGG-15132 Logging of supplemental redo data enabled for table PDB1.HR.REGIONS.
2019-01-05 18:15:25 INFO OGG-15133 TRANDATA for scheduling columns has been added on table PDB1.HR.REGIONS.
2019-01-05 18:15:26 INFO OGG-15135 TRANDATA for instantiation CSN has been added on table PDB1.HR.REGIONS.
2019-01-05 18:15:27 INFO OGG-10471 ***** Oracle Goldengate support information on table HR.REGIONS *****
Oracle Goldengate support native capture on table HR.REGIONS.
Oracle Goldengate marked following column as key columns on table HR.REGIONS: REGION_ID.
GGSCI (rac01.localdomain as C##oggadmin@cdb1_2/CDB$ROOT) 33> info trandata pdb1.hr.regions
2019-01-05 18:15:39 INFO OGG-10471 ***** Oracle Goldengate support information on table HR.REGIONS *****
Oracle Goldengate support native capture on table HR.REGIONS.
Oracle Goldengate marked following column as key columns on table HR.REGIONS: REGION_ID.
Logging of supplemental redo log data is enabled for table PDB1.HR.REGIONS.
Columns supplementally logged for table PDB1.HR.REGIONS: "REGION_ID".
Prepared CSN for table PDB1.HR.REGIONS: 1858028
GGSCI (rac01.localdomain as C##oggadmin@cdb1_2/CDB$ROOT) 34>
Perform DML transaction on the source database
SQL> insert into hr.regions
2 values
3 (5,'Indian Sub-Continent');
1 row created.
SQL> commit;
Commit complete.
Verify that the transaction has been captured by GoldenGate
GGSCI (rac01.localdomain as C##oggadmin@cdb1_2/CDB$ROOT) 49> stats ext1 latest
Sending STATS request to EXTRACT EXT1 ...
Start of Statistics at 2019-01-05 18:22:08.
Output to ./dirdat/ogg1/lt:
Extracting from PDB1.HR.REGIONS to PDB1.HR.REGIONS:
*** Latest statistics since 2019-01-05 18:21:55 ***
Total inserts 1.00
Total updates 0.00
Total deletes 0.00
Total discards 0.00
Total operations 1.00
End of Statistics.
GGSCI (rac01.localdomain as C##oggadmin@cdb1_2/CDB$ROOT) 50> stats pump1 latest
Sending STATS request to EXTRACT PUMP1 ...
Start of Statistics at 2019-01-05 18:22:17.
Output to ./dirdat/ogg2/rt:
Extracting from PDB1.HR.REGIONS to PDB1.HR.REGIONS:
*** Latest statistics since 2019-01-05 18:21:57 ***
Total inserts 1.00
Total updates 0.00
Total deletes 0.00
Total discards 0.00
Total operations 1.00
End of Statistics.
Verify that the transaction has been applied by GoldenGate
GGSCI (rac01.localdomain as C##oggadmin@cdb1_2/CDB$ROOT) 73> stats rep1 latest
Sending STATS request to REPLICAT REP1 ...
Start of Statistics at 2019-01-05 18:31:14.
Integrated Replicat Statistics:
Total transactions 1.00
Redirected 0.00
Replicated procedures 0.00
DDL operations 0.00
Stored procedures 0.00
Datatype functionality 0.00
Event actions 0.00
Direct transactions ratio 0.00%
Replicating from PDB1.HR.REGIONS to PDB2.HR.REGIONS:
*** Latest statistics since 2019-01-05 18:29:54 ***
Total inserts 1.00
Total updates 0.00
Total deletes 0.00
Total discards 0.00
Total operations 2.00
End of Statistics.
GGSCI (rac01.localdomain as C##oggadmin@cdb1_2/CDB$ROOT) 74>
2