After the server reboot, The Goldengate hub Service Manager unable to start with “Service Manager is terminating because it cannot load the inventory” – We will cover in this blog post how to fix the issue. Let’s observe what the actual command and error was
[oracle@gghub bin]$ ./ServiceManager &
[1] 2770
[oracle@gghub bin]$ Service Manager is terminating because it cannot load the inventory from '/ogg/ggma21/ggma_ms/etc/conf/deploymentRegistry.dat'
[1]+ Exit 1 ./ServiceManager
[oracle@gghub bin]$
[oracle@gghub bin]$ netstat -tulnp | egrep '9000|9001'
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
[oracle@gghub bin]$
Let’s check if the file is exist or not
[oracle@gghub bin]$ ls /ogg/ggma21/ggma_ms/etc/conf/deploymentRegistry.dat
ls: cannot access '/ogg/ggma21/ggma_ms/etc/conf/deploymentRegistry.dat': No such file or directory
[oracle@gghub bin]$
Why This Situation?
At some earlier point, created the deployment (using OGGCA.sh) while pointing to /ogg/ggma21/ggma_srv as the deployment home. That step created file as /ogg/ggma21/ggma_srv/etc/conf/deploymentRegistry.dat.
But installed or started using a second GoldenGate home: /ogg/ggma21/ggma_ms. Its etc/ dir was owned by root and only had basic install config (inventory, logs, etc.), but no deployment was created from this home yet and that caused missing the configuration files.
Now we have to copy back the configuration file from ggma_srv home to the ggma_ms which is original installation directory
[oracle@gghub bin]$ find / -name deploymentRegistry.dat -print 2>/dev/null
/ogg/ggma21/ggma_srv/etc/conf/deploymentRegistry.dat
[oracle@gghub bin]$ cp /ogg/ggma21/ggma_srv/etc/conf/deploymentRegistry.dat /ogg/ggma21/ggma_ms/etc/conf/deploymentRegistry.dat
cp: cannot create regular file '/ogg/ggma21/ggma_ms/etc/conf/deploymentRegistry.dat': Permission denied
[oracle@gghub bin]$
Failed to copy because the sub directory etc/conf was owned by root user. Let’s fix this and then we should be able to copy it.
[root@gghub ggma21]# cd ggma_ms/
total 32
-rw-r-----. 1 oracle oinstall 57 Jun 15 2022 oraInst.loc
drwxr-xr-x. 3 oracle oinstall 20 Nov 27 03:42 diagnostics
drwxr-xr-x. 3 oracle oinstall 19 Nov 27 03:42 srvm
drwxr-xr-x. 2 oracle oinstall 26 Nov 27 03:42 deinstall
drwxr-xr-x. 8 oracle oinstall 4096 Nov 27 03:42 lib
drwxr-xr-x. 2 oracle oinstall 4096 Nov 27 03:43 jlib
drwxr-xr-x. 2 oracle oinstall 63 Nov 27 03:43 include
drwxr-xr-x. 7 oracle oinstall 4096 Nov 27 03:43 jdk
drwxr-xr-x. 13 oracle oinstall 4096 Nov 27 03:43 OPatch
drwxr-xr-x. 2 oracle oinstall 4096 Nov 27 03:43 bin
drwxr-xr-x. 8 oracle oinstall 4096 Nov 27 03:43 oui
drwxr-x---. 13 oracle oinstall 4096 Nov 27 03:43 inventory
drwxr-xr-x. 3 oracle oinstall 28 Nov 27 03:43 install
drwxr-xr-x. 3 oracle oinstall 17 Nov 27 03:43 cfgtoollogs
drwxr-xr-x. 4 root root 29 Nov 30 20:25 etc
drwxr-xr-x. 7 root root 63 Nov 30 20:25 var
[root@gghub ggma_ms]# pwd
/ogg/ggma21/ggma_ms
[root@gghub ggma_ms]# chown -R oracle:oinstall /ogg/ggma21/ggma_ms/etc
[root@gghub ggma_ms]# chown -R oracle:oinstall /ogg/ggma21/ggma_ms/var
Now copy the deployment registry file to the ggma_ms directory
[oracle@gghub ~]$ cp /ogg/ggma21/ggma_srv/etc/conf/deploymentRegistry.dat /ogg/ggma21/ggma_ms/etc/conf/deploymentRegistry.dat
[oracle@gghub ~]$ c
We will now start the Service Manager if it able to start or not
[oracle@gghub ~]$ export OGG_HOME=/ogg/ggma21/ggma_ms
[oracle@gghub ~]$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
[oracle@gghub ~]$ export PATH=$OGG_HOME/bin:$PATH
[oracle@gghub ~]$ cd $OGG_HOME/bin
[oracle@gghub bin]$ ./ServiceManager &
[1] 2946
[oracle@gghub bin]$
[1]+ Done ./ServiceManager
[oracle@gghub bin]$ Oracle GoldenGate Service Manager for Oracle
Version 21.3.0.0.0 OGGCORE_21.3.0.0.0_PLATFORMS_210728.1047
Copyright (C) 1995, 2021, Oracle and/or its affiliates. All rights reserved.
Oracle Linux 7, x64, 64bit (optimized) on Jul 28 2021 12:33:40
Operating system character set identified as UTF-8.
[oracle@gghub bin]$
We can see the Service Manager has successfully started and we will access the WEBUI to verify if all the services are started or not?

From the above, we can see all the services are started with “Running” Status.