Sharing GoldenGate directories in RAC environments
GoldenGate operates in an active/passive capacity for RAC databases. When installing GoldenGate on a local host, certain directories are required to be on shared storage. I will share my opinions for which directories should be placed on shared storage. Determine GoldenGate versions and directories created from ggsci: [code] GGSCI 8> versions Operating System: Linux Version #2 SMP Wed Apr 25 19:57:32 PDT 2018, Release 4.1.12-94.8.3.el7uek.x86_64 Node: ihotloral01.ilcb.tcprod.local Machine: x86_64 Database: Oracle Database 12c Enterprise Edition Release 22.214.171.124.0 - 64bit Production PL/SQL Release 126.96.36.199.0 - Production CORE 188.8.131.52.0 Production TNS for Linux: Version 184.108.40.206.0 - Production NLSRTL Version 220.127.116.11.0 - Production GGSCI 9> show Parameter settings: SET SUBDIRS ON SET DEBUG OFF Current directory: /u03/app/gg/12.2.0 Using subdirectories for all process files Editor: vi Reports (.rpt) /u03/app/gg/12.2.0/dirrpt Parameters (.prm) /u03/app/gg/12.2.0/dirprm Replicat Checkpoints (.cpr) /u03/app/gg/12.2.0/dirchk Extract Checkpoints (.cpe) /u03/app/gg/12.2.0/dirchk Process Status (.pcs) /u03/app/gg/12.2.0/dirpcs SQL Scripts (.sql) /u03/app/gg/12.2.0/dirsql Database Definitions (.def) /u03/app/gg/12.2.0/dirdef Dump files (.dmp) /u03/app/gg/12.2.0/dirdmp Masterkey wallet files (.wlt) /u03/app/gg/12.2.0/dirwlt Credential store files (.crd) /u03/app/gg/12.2.0/dircrd GGSCI 10> [/code] The following directories must be on local host:
dirpcs dirdb"Do not place the dirpcs directory on the shared file system. Problems can occur when the process information contained in the process files do not match the host where the process is currently being startedafter a RAC node failure. If creating a datastore for use by JAgent on the Oracle GoldenGate Performance Metric Server, the dirbdb directory should also be created on local storage." Reference: Oracle GoldenGate with Oracle Real Application Clusters Configuration Best Practices Following Oracle RAC database implementations, the following directories are preferred to be on the local host:
dirtmp dirrpt dirdmpThe following directories should be on shared storage:
dirprm dirchk dirdef dirwlt dircrdCreate symbolic links from local host to shared storage. The following directory should be created directly on share storage:
BR (Bounded Recovery)Based on the above implementation, minimum directories are on shared storage using symbolic links. Why is this important? BUGS! Opatch Failed To Install Patch 18507404 with NO Such Device (Doc ID 2072943.1)
CAUSE Symbolic links causing the issue. Traversing via soft link. SOLUTION It appears to be an issue while traversing via soft link or a probable performance issue as it is unable to identify the device (in your case DBFS) where the Soft link has been created to and no root cause has been identified as such. From the GoldenGate prespective, Please drop the soft link for the patching to succeed and once done re-create the soft link.Even though the note is specific for Patch 18507404, the solution was also applicable for Patch 26849949. In conclusion, while it may be tempting to put all directories on a shared storage, placing only the required directories on shared storage may help to avoid bugs and simplify troubleshooting from having to review fewer files and only pertinent files, to name a few.