Reset gc_policy_minimum parameter to default

“_gc_policy_minimum” parameter and Dynamic Resource Management in Oracle RAC

Remastering happens when a database node takes over control of resources that were previously managed by another node before it failed. This is common during events like reboots or shutdowns when a node joins or leaves the cluster. During these times, the Global Resource Directory (GRD)—a key component that keeps track of resources—has to be redistributed among the remaining nodes.

When a node leaves, its portion of the GRD is spread out to the remaining nodes. Similarly, when a new node joins, portions of the GRD from existing nodes are reassigned to incorporate the new node. This process temporarily halts access to the affected data blocks as the system reconfigures itself, which can cause a brief “freeze” in the cluster, affecting online applications. Depending on factors like memory size (SGA) and the number of active blocks, this pause can last up to a minute.

Oracle RAC uses a technique called “lazy remastering” to minimize disruptions during instance recovery. Instead of remastering all resources across all nodes, it focuses only on the most critical ones. This selective remastering helps maintain system performance while ensuring consistency. During this process, the Distributed Lock Manager (DLM) and the System Monitor (SMON) perform essential tasks like clearing locks held by failed instances and acquiring necessary buffer locks for recovery.

While these operations are in progress, most lock requests are put on hold, temporarily making the database unavailable for some users. However, tasks that don’t require lock changes can continue as usual. If another node fails during this time, its resources are also evenly redistributed among the surviving nodes.

The database can dynamically adapt to changing workloads by migrating resources to nodes that use them most frequently. For example, if a single node is the only one accessing a specific tablespace, the resource masters for that tablespace are moved to that node. This adaptive behavior reduces interconnect traffic and improves performance by increasing the chances that data can be accessed locally.

Overall, lazy remastering helps maintain system stability and performance during node failures or cluster reconfigurations by minimizing disruptions and keeping most resources where they are, allowing many processes to continue their work uninterrupted.

_gc_policy_minimum parameter controls Minimum number of global cache operations (open, convert, close) per minute on the object to qualify for affinity or read-mostly. The default may be tuned to allow more or less objects to be picked.

As default value of “_gc_policy_minimum”(formerly known as _gc_affinity_minimum) is quite low for busy environments,

Those who are setting this parameter to 15000 according to the Best Practices and Recommendations for RAC databases with SGA size over 100GB (Doc ID 1619155.1), I have good news for you. 

From 19.20 (19c DBRU JUL ’23) on, You may reset it to its default value. 

SQL> ALTER SYSTEM RESET "_gc_policy_minimum" scope=spfile;

Due to internal bug 34729755, 15000 is the new default in 23c, 19c DBRU JUL ’23, and 19c ADB.  DBAs having compulsive tuning disorder like me won’t have to tune this parameter any more in those releases or later.

According to the  DRM – Dynamic Resource management (Doc ID 390483.1), DRM attributes are intentionally undocumented since they may change depending on the version. These attributes should not be changed without discussing with Support.

You can query the X$OBJECT_POLICY_STATISTICS view, the value you see is the object affinity statistics from the last policy evaluation, which is less than or equal to 10 minutes. You can query the view V$GCSPFMASTER_INFO to list the objects under the DRM protocol (affinity and read-mostly).

You can access much more information about the Dynamic Resource management from the “RAC object remastering ( Dynamic remastering )” blog post by Riyaj Shamsudeen, IMO still the best after more than 10 years.

Hope it helps.


Discover More from Osman DİNÇ


Comments

Leave your comment