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:
GoldenGate Environment and Directory Structure
Code snippetGGSCI 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 12.1.0.2.0 - 64bit Production PL/SQL Release 12.1.0.2.0 - Production CORE 12.1.0.2.0 Production TNS for Linux: Version 12.1.0.2.0 - Production NLSRTL Version 12.1.0.2.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>
Mandatory and Preferred Local Host Directories
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 started after 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 dirdmp
Directories Optimized for Shared Storage
The following directories should be on shared storage:dirprm dirchk dirdef dirwlt dircrd
Create symbolic links from local host to shared storage. The following directory should be created directly on share storage:BR (Bounded Recovery)
Cautionary Note: Symbolic Link Bugs and Patching Issues
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 perspective, Please drop the soft link for the patching to succeed and once done re-create the soft link.
Strategic Directory Placement for Stability
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.
Oracle Database Consulting Services
Ready to optimize your Oracle Database for the future?
Share this
Share this
More resources
Learn more about Pythian by reading the following blogs and articles.
REMOTE_LOGIN_PASSWORDFILE = EXCLUSIVE in Oracle 10g
Minimal Networking Knowledge Recommended for DBAs
Oracle's CREATE INDEX command can take a hint
Ready to unlock value from your data?
With Pythian, you can accomplish your data transformation goals and more.