Wednesday, May 9, 2012

Install Oracle Golden Gate 11g on Linux


In this post I will describe how to install Oracle Golden Gate on an RHEL 5 platform.

GoldenGate software is also available on OTN but for our platform we need to download the required software from the Oracle E-Delivery web site.

Select the Product Pack “Oracle Fusion Middleware” and the platform Linux X86-64.

Then select “Oracle GoldenGate on Oracle Media Pack for Linux x86-64″ and since we are installing this for an Oracle 11g database, we download “Oracle GoldenGate V10.4.0.x for Oracle 11g 64bit on RedHat 5.0″


     $ unzip V18159-01.zip

Archive: V18159-01.zip

inflating: ggs_redhatAS50_x64_ora11g_64bit_v10.4.0.19_002.tar


     $tar -xvof ggs_redhatAS50_x64_ora11g_64bit_v10.4.0.19_002.tar
     $ export PATH=$PATH:/u01/app/oracle/ggs
     $ export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/u01/app/oracle/ggs
     $ ./ggsci

      $GGSCI (racnode1.localdomain) 1> CREATE SUBDIRS

     Creating subdirectories under current directory /u01/app/oracle/product/11.2.0/dbhome_1

     Parameter files /u01/app/oracle/ggs/dirprm: created

     Report files /u01/app/oracle/ggs/dirrpt: created

     Checkpoint files /u01/app/oracle/ggs/dirchk: created
     Process status files /u01/app/oracle/ggs/dirpcs: created
     SQL script files /u01/app/oracle/ggs/dirsql: created
     Database definitions files /u01/app/oracle/ggs/dirdef: created
     Extract data files /u01/app/oracle/ggs/dirdat: created
     Temporary files /u01/app/oracle/ggs/dirtmp: created
     Stdout files /u01/app/oracle/ggs/dirout: created


    We then need to create a database user which will be used by the GoldenGate Manager,           Extract and Replicat processes. We can create individual users for each process or configure just a common user – in our case we will create the one user GGS and grant it the required privileges.

     SQL> create tablespace ggs_data datafile ‘/u02/oradata/gavin/ggs_data01.dbf’ size     200m;

     SQL> create user ggs identified by ggs_owner default tablespace ggs_data temporary tablespace temp;
     User created.
     
     SQL> grant connect,resource to ggs_owner;
     Grant succeeded.

     SQL> grant select any dictionary, select any table to ggs_owner;
     Grant succeeded.

     SQL> grant create table to ggs_owner;
     Grant succeeded.

     SQL> grant flashback any table to ggs_owner;
     Grant succeeded.

     SQL> grant execute on dbms_flashback to ggs_owner;
     Grant succeeded.

     SQL> grant execute on utl_file to ggs_owner;
     Grant succeeded.

     We can then confirm that the GoldenGate user we have just created is able to connect to the Oracle database

     $ ./ggsci

     GGSCI (racnode1.localdomain) 1> DBLOGIN USERID ggs_owner, PASSWORD ggs_owner

     Successfully logged into database.




     We also need to enable supplemental logging at the database level otherwise we will get this    error when we try to start the Extract process -

     2011-02-02 13:51:21 GGS ERROR 190 No minimum supplemental logging is enabled. 
     This may cause extract process to handle key update incorrectly if key column is not in first    row piece.
     2011-02-02 13:51:21 GGS ERROR 190 PROCESS ABENDING.

     SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
     Database altered