Debugging DRM

DRM Overview

 

  •  Must READ:  DRM – Dynamic Resource management (Doc ID 390483.1)
  • DRM cycle is very sensity – any problems like network problem, CPU starvation will lead to an instance/node reboot
  • In 99% DRM is not the cause of the problem – it’s more a different problems occurs during DRM window
  • LMON tracks the DRM cycle/steps
  • Insert/Update/Delete operation will continue
  • DRM cycles are often triggered by  hybrid workloads ( OLTP –> Batch -> OLTP … )

 Disable DRM and DRM config params

To disable DRM, set 
 _gc_affinity_time=0                           # Only if DB version is 10.1 or 10.2 
 _gc_undo_affinity=FALSE                       # Only if Db version is 10.2 
 _gc_policy_time=0                             # Only if DB version is 11.1 or higher
 _gc_affinity_time has been renamed to _gc_policy_time in 11g

DRM is driven by the following 
 1.) _gc_affinity_time = Time in minutes at which statistics will be evaluated (default = 10 mins) 
 2.) _gc_affinity_limit = # of times a node accesses a file/object (default = 50) 
 3.) _gc_affinity_minimum = minimum # of times per minute a file/object is accessed before affinity kicks in
 (default = 600 per minute per cpu )[This section is not visible to customers.]

Affinity Locks

  •  Optimization introduced with 10.2
  • Samller more efficient than Fusion Locks ( LE )
  •  Affinity locks can be expanded to Fusion Locks and vice versa
  • Affinity locks apply to data and undo segment blocks

  Affinity Locks sample

  1. GCS lock ( LE ) mastered on instance 2
  2. Instance 2 accesse buffer 50x more than instance 2
  3. LEs dissolved and affinity lock created ( msstership stored in memory )
  4. Instance 1 can now cheaply read/write to that buffer
  5. Instance 2 access buffer again –> Affinity lock expanded to Fusion Lock ( LE )

Symptoms of a DRM problem

  • DRM related wait event: gcs drm feeze in enter server mode
    •    –> Use Note: Script to Collect DRM Information (drmdiag.sql) (Doc ID 1492990.1)
  • Wait Events with large buffer cache ( > 100 Gbyte )
    • remastering takes longer time more for large buffer caches
    • gcs remaster waits
    • DRM hang causes frequent RAC Instances Reconfiguration (Doc ID 1528362.1)
  •   Database slowdown that correlate with DRMs
    •  –> Use Note: Script to Collect DRM Information (drmdiag.sql) (Doc ID 1492990.1)
  •   DRM cycles must be finished in a certain time – if not instance crash with LMON timeout

Reference

  • DRM – Dynamic Resource management (Doc ID 390483.1
  • Script to Collect DRM Information (drmdiag.sql) (Doc ID 1492990.1)
  • Bug 14641937 : HIGH WAIT TIME ON “GCS DRM FREEZE IN ENTER SERVER MODE”
  • DRM hang causes frequent RAC Instances Reconfiguration (Doc ID 1528362.1)
  • BUG:12879027 – LMON PROCESS CAN GET STUCK IN DRM QUIESCE STEP TRIGGERING PSEUDO RECONFIGURATION

One thought on “Debugging DRM”

Leave a Reply

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