Standardizing the Oracle GoldenGate Home Path (OGG_HOME)

2 min read
Nov 15, 2017

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.
  But for Oracle GoldenGate it seems much less standard. I see homes such as:
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:
Or if installing the new GoldenGate Microservices Architecture:
  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:
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.

Get Email Notifications

No Comments Yet

Let us know what you think