Friday, September 25, 2026
  • About Us
  • Contact
DBAInsight
  • Guides
    • 23ai
    • RMAN
    • 26ai
    • Patch Update
    • RMAN
    • MySQL
    • Oracle GoldenGate
  • Cloud Technology
  • Case Studies
  • Troubleshooting
  • Training & Certification
NEWSLETTER
No Result
View All Result
DBAInsight
Home Guides

Understanding Global Resource Directory (GRD) in Oracle RAC and ASM

March 6, 2026
in Guides
0
Understanding Global Resource Directory (GRD) in Oracle RAC and ASM
0
SHARES
140
VIEWS

Table of Contents

Toggle
    • Introduction
      • Related posts
      • Oracle Database Monitoring Tools: 10 Best Tools for DBAs in 2026
      • Oracle Database Release Roadmap 2026: Current Support Status, 19c, 21c and 26ai
  • What is Global Resource Directory (GRD)?
  • Why Global Resource Directory is Needed
  • How Global Resource Directory is Structured
  • Types of Resources Managed by GRD
      • 1️⃣ Cache Resources
      • 2️⃣ Enqueue Resources
      • 3️⃣ ASM Resources
  • 🔄 Master and Shadow Resources in GRD
      • Example
      • Why this design?
  • How GRD Works with GES and GCS
      • Workflow Example
  • GRD in Oracle ASM
      • In ASM, GRD manages:
  • What Happens When GRD is Not Optimized?
  • Best Practices to Optimize Global Resource Directory Usage
      • ✔ Use Service-Based Workload Routing
      • ✔ Partition Hot Tables
      • ✔ Increase Sequence Cache
      • ✔ Use NOORDER sequences in RAC
      • ✔ Keep related transactions on same node
  • Real-Life Example
  • How to Monitor GRD Activity
  • Easy Way to Remember GRD
  • Conclusion

Introduction

When you work with Oracle RAC, one of the most important yet often misunderstood components is the Global Resource Directory (GRD).

If you’ve ever wondered:

Related posts

Oracle Database Monitoring Tools

Oracle Database Monitoring Tools: 10 Best Tools for DBAs in 2026

September 22, 2026
Oracle Database Release Roadmap 2026: Current Support Status, 19c, 21c and 26ai

Oracle Database Release Roadmap 2026: Current Support Status, 19c, 21c and 26ai

September 21, 2026
  • How RAC tracks block ownership across instances
  • How locks are coordinated across nodes
  • How Oracle ensures data consistency in a cluster

👉 The answer is Global Resource Directory (GRD).

In this guide, we’ll break down Global Resource Directory in a simple, real-world way so you can clearly understand how it works in both Oracle RAC and ASM environments.


What is Global Resource Directory (GRD)?

The Global Resource Directory (GRD) is a distributed internal memory structure used by Oracle RAC to manage and track all shared resources in a cluster.

It acts like a cluster-wide index or directory that keeps track of:

  • Which instance owns a data block
  • Which instances have copies of a block
  • Which instance holds locks
  • Which instance is the master for a resource

👉 In simple terms:

Global Resource Directory = The brain of RAC coordination


Why Global Resource Directory is Needed

In a single-instance database, one instance manages everything.

But in RAC:

👉 Multiple instances access the same database files at the same time

Without Global Resource Directory, you would face:

❌ Data corruption
❌ Lock conflicts
❌ Inconsistent reads
❌ Performance issues

GRD solves all of this by acting as the central coordination layer across nodes.


How Global Resource Directory is Structured

The Global Resource Directory is not stored in one place.

It is:

✔ Distributed across all RAC instances
✔ Stored in SGA memory of each instance
✔ Managed dynamically by Oracle

Each instance maintains a portion of the GRD.

This makes it:

  • Highly available
  • Scalable
  • Fault-tolerant

Types of Resources Managed by GRD

GRD tracks different types of resources:

1️⃣ Cache Resources

These are data blocks in memory managed by the Global Cache Service (GCS)

2️⃣ Enqueue Resources

These are locks managed by the Global Enqueue Service (GES)

3️⃣ ASM Resources

In ASM clusters, GRD tracks:

  • Disk group metadata
  • Extent ownership
  • Allocation maps

🔄 Master and Shadow Resources in GRD

Each resource in the Global Resource Directory has:

  • One MASTER copy
  • Multiple SHADOW copies

Example

Block: EMP_DATA_BLOCKMaster → Instance 2
Shadow → Instance 1, Instance 3

Why this design?

✔ Fast lookup
✔ Reduced communication overhead
✔ High availability

If the master instance fails, another instance can quickly take over.


How GRD Works with GES and GCS

The Global Resource Directory works together with:

  • GES (Global Enqueue Service) → handles locks
  • GCS (Global Cache Service) → handles data blocks

Workflow Example

  1. Instance 1 modifies a data block
  2. GRD updates ownership info
  3. Instance 2 requests same block
  4. GRD tells where the block is
  5. GCS transfers the block

👉 GRD is the map, GCS is the transport, and GES is the security system


GRD in Oracle ASM

Many DBAs think GRD is only for RAC databases.

But Global Resource Directory is also used in ASM clusters.

In ASM, GRD manages:

  • Disk group metadata locks
  • Extent allocation
  • Disk rebalancing coordination
  • ADVM and ACFS metadata

This ensures:

✔ Consistent storage view
✔ Safe disk operations
✔ Balanced I/O distribution


What Happens When GRD is Not Optimized?

When GRD coordination becomes heavy, you will see performance issues like:

  • gc cr request
  • gc current block busy
  • ges resource busy
  • enq: TX - row lock contention

These indicate:

👉 Excessive inter-instance communication
👉 Poor cache locality
👉 Lock contention


Best Practices to Optimize Global Resource Directory Usage

Here are practical DBA tips to reduce GRD overhead:

✔ Use Service-Based Workload Routing

Keep sessions connected to the same instance

✔ Partition Hot Tables

Reduce cross-instance block access

✔ Increase Sequence Cache

Reduce SQ enqueue contention

✔ Use NOORDER sequences in RAC

Avoid global synchronization overhead

✔ Keep related transactions on same node

Improves cache locality


Real-Life Example

Let’s say your application:

  • Updates the same table from multiple nodes
  • Uses ordered sequences
  • Has small cache size

This will cause:

❌ High GRD activity
❌ High interconnect traffic
❌ Performance degradation

After tuning:

✔ Larger cache
✔ NOORDER sequence
✔ Service affinity

👉 GRD overhead reduces dramatically


How to Monitor GRD Activity

DBAs can monitor Global Resource Directory activity using views like:

  • GV$GES_RESOURCE
  • GV$GCSPFMASTER_INFO
  • GV$GCSCRMASTER_INFO
  • GV$SESSION_WAIT

These views help identify:

  • Resource masters
  • Block ownership
  • Lock contention

Easy Way to Remember GRD

Here’s a simple memory trick:

GRD = Directory of all RAC resources

It answers questions like:

  • Who owns the block?
  • Who holds the lock?
  • Where is the resource?

Conclusion

The Global Resource Directory is one of the most important internal components of Oracle RAC and ASM.

It ensures:

✔ Data consistency across nodes
✔ Proper lock coordination
✔ Efficient block transfer
✔ High availability

Without the Global Resource Directory, Oracle RAC simply cannot function.

Understanding GRD helps you:

  • Troubleshoot RAC issues faster
  • Optimize performance
  • Design scalable RAC architectures
Tags: Global Resource DirectoryGRD Oracle RACOracle ASM ClusterOracle RAC InternalsRAC Performance Tuning
Previous Post

Oracle RAC 19c Internals Explained: GRD, GES, and GCS Made Simple

Next Post

How Oracle RAC Handles Node Failures: Eviction, Failover, and Recovery

Next Post
Eviction, Failover, and Recovery

How Oracle RAC Handles Node Failures: Eviction, Failover, and Recovery

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

POPULAR NEWS

  • Oracle Patch 38632161: Step-by-Step Guide to Upgrade Oracle 19c to Release Update 19.30

    Oracle Patch 38632161: Step-by-Step Guide to Upgrade Oracle 19c to Release Update 19.30

    0 shares
    Share 0 Tweet 0
  • How To Download And Install The Latest OPatch

    0 shares
    Share 0 Tweet 0
  • How to Install Oracle 19c Database on Red Hat Enterprise Linux 9

    0 shares
    Share 0 Tweet 0
  • Oracle Database 19.32 Release Update (RU) Patching Guide – Patch 39472050

    0 shares
    Share 0 Tweet 0
  • Installing Oracle Database 26AI on Red Hat Enterprise Linux 9

    0 shares
    Share 0 Tweet 0
  • About Us
  • Contact

© 2026 DBAInsight - Smarter Databases. Sharper Insights. DBAInsight.

No Result
View All Result
  • Home
  • Cloud & Modern DBs
  • Guides
  • Cloud Technology
  • Case Studies
  • Troubleshooting
  • Training & Certification

© 2026 DBAInsight - Smarter Databases. Sharper Insights. DBAInsight.

Add as a preferred source on Google
Add as preferred source on Google