Pythian Blog: Technical Track

Standardizing the Oracle GoldenGate Home Path (OGG_HOME)

I don't work with Oracle GoldenGate extensively but when I do I find it somewhat remarkable that there aren't more standards with something as simple as the Oracle GoldenGate software home path (OGG_HOME). With the Oracle Database, in recent years (decades) the nomenclature has become relatively standardized as:
${ORACLE_BASE}/product/<major version>/dbhome_<n>
For example.
/u01/app/oracle/product/12.2.0/dbhome_1
  But for Oracle GoldenGate it seems much less standard. I see homes such as:
/u01/oracle/ggs
 /u01/app/GoldenGate
 /u01/app/ggate
 /u01/app/oracle/product/gg
 /u01/app/oracle/product/gg/12.3.0
 /u01/app/oracle/11.2.0/gg
 /u01/app/gg12.2
 /u01/gg/12.2.1
 /u01/app/oracle/<db_name>/ogg
All sorts of permutations!   What I want to is install " Oracle GoldenGate 12.3.0 for Oracle Database 11g ". But I need to consider:
  • What if I want to also use OGG against a 12c database on the same server?
  • What if we upgrade the version of the database?
  • What if I have multiple databases of the same server to replicate to/from?
  • What if I have multiple databases of mixed versions?
  • Are we going to upgrade OGG in place or out of place?
  • What if we want to try the Microservices Architecture?
  • What if we're using RAC?
  This brings up some interesting discussions even among more seasoned Oracle GoldenGate experts. Even the question of whether to use just " gg " or " ogg " in the path is up for discussion? And of course we may likely want to move the trail files to a different location/filesystem using the standard approaches to accomplish that.   P ersonally, my preference for this requirement would be:
/u01/app/oracle/product/gg/12.3.0_ora11g
Or if installing the new GoldenGate Microservices Architecture:
/u01/app/oracle/product/gg/12.3.0_ma_ora11g
  I like that as it's descriptive:
  • Shows that this home has the 12.3.0 version of Oracle GoldenGate
  • Shows that it's for Oracle Database 11g
  • It's under the Oracle Software tree (under ${ORACLE_BASE}/product)
  • Provides the option for multiple GoldenGate installs under the "gg" sub-directory (if ever necessary)
  • Allows for out-of-place upgrades (at some time in the future) into a similar and parallel path
  Another valid suggestion is to maintain the order of <version>/<product name> which would make a path such as:
/u01/app/oracle/product/12.3.0/gg_ora11g
I think that’s pretty reasonable as well.   If you see an issue with those suggestions or have a better idea, please post a reply below. Share your thoughts including reasons why an alternative may be a better standard.

No Comments Yet

Let us know what you think

Subscribe by email