Sun Microsystems, Inc.  Oracle System Handbook - ISO 7.0 May 2018 Internal/Partner Edition
   Home | Current Systems | Former STK Products | EOL Systems | Components | General Info | Search | Feedback

Asset ID: 1-79-1599721.1
Update Date:2018-04-07
Keywords:

Solution Type  Predictive Self-Healing Sure

Solution  1599721.1 :   SuperCluster - Why is oradism (ora_dism*) started on Solaris?  


Related Items
  • Oracle SuperCluster M6-32 Hardware
  •  
  • SPARC SuperCluster T4-4
  •  
  • Oracle SuperCluster T5-8 Half Rack
  •  
  • Oracle SuperCluster T5-8 Full Rack
  •  
Related Categories
  • PLA-Support>Eng Systems>Exadata/ODA/SSC>SPARC SuperCluster>DB: SuperCluster_EST
  •  




In this Document
Purpose
Scope
Details
References


Applies to:

SPARC SuperCluster T4-4
Oracle SuperCluster T5-8 Full Rack
Oracle SuperCluster T5-8 Half Rack
Oracle SuperCluster M6-32 Hardware
Oracle Solaris on x86-64 (64-bit)
Oracle Solaris on SPARC (64-bit)

Purpose

 This document is to explain the presence of an ora_dism<sidname> process in  Solaris environments even when Dynamic Intimate Shared Memory (DISM) is not in use.  This document will assist in understanding false positives from legacy health check tools that rely on ps outputs, as well as assist in troubleshooting various issues by ensuring that the presence of such processes do not prevent the appropriate checks for Dynamic Intimate Shared memory (DISM) from taking place.

Scope

 Intended for anyone running or supporting an Oracle database on Solaris.

Details

 Based on documents such as <Document 1468297.1> Dynamic Intimate Shared Memory (DISM) is not supported for use on SPARC SuperCluster Solaris environments. Many other Solaris generic support articles, legacy monitoring tools and older perceptions generate warnings or concerns if a ora_dism<instancename> process is found in the environment. The history behind this is that the oradism executable was originally built to enable Dynamic Intimate Shared Memory (DISM). This is one of the reasons for it having the setuid bit.  Over various releases, the oradism executable has been used to enable several other database operations, most occurring at database startup, after which the processes exit.  However certain operation must maintain the running process such as Oracle Shared Memorry in 12c and dnfs in 11G and above.

In Solaris, oradism program is used for:

 Know if NUMA is enabled on Solaris.
 Mount dNFS volumes
 Dispatch ACFS (ASM Clustered File System) request -non SuperCluster systems at this time.
 Perform SCSI commands across scsi disks
 Attach to DISM memory, lock and unlock it
 Change process priority
 Dump OS information
 Integration with DTrace
 Implementation of Optimized Shared Memory in 12c

 

If there is a case where Dynamic Intimate Shared Memory  is the suspected culprit, verify whether it is indeed enabled by using pmap:

 

ps -aef | grep ora | grep smon

oracle 12524 1 0 05:40:13 ? 0:25 ora_smon_prod

% pmap –xs 12524 | egrep 'ism|osm'

0000000380000000 38010880 38010880 - 38010880 256M rwxsR [ ism shmid=0xb ]
0000000C90000000   131072 131072   -   131072   4M rwxsR [ ism shmid=0xb ]
0000000C98000000       16     16   -       16   8K rwxsR [ ism shmid=0xb ]

 

 The output from pmap –xs shows three address ranges associated with shmid=0xb (that is, id=11, since “b” is 11 in hexadecimal): one with 256 Mbyte pages, one with 4 Mbyte pages, and one with 8
 byte pages. Each of them is clearly labeled “ism”. If on 12c and Optimized Shared Memory it would show "osm". If DISM had been in use, the output would have shown “dism” instead. E.g:

root@client03:~# ./dism_chk.sh
10162   n1coll ora_smon_ebcllrw                                                                ora_smon_ebcllrw
10324    n1cas ora_smon_ebcasrw                                                                ora_smon_ebcasrw
11257    n1cas ora_smon_ebcassu                                                                ora_smon_ebcassu
11990    n1cas ora_smon_ebcasug                                                                ora_smon_ebcasug
13240    n1cas ora_smon_ebcasdb                                                                ora_smon_ebcasdb
15666    n1cas ora_smon_ebkarch                                                                ora_smon_ebkarch
17059   n1coll ora_smon_ebclltz                                                                ora_smon_ebclltz
18923   n1amld ora_smon_ebprsnw                                                                ora_smon_ebprsnw   <<<<< OOOPS! This one is using DISM!!
0000000380000000       4096       4096          -          -   4M rwxs-    [ dism shmid=0x6500000e ]
0000000380400000      12288      12288          -          -    - rwxs-    [ dism shmid=0x6500000e ]
0000000381000000       4096       4096          -          -   4M rwxs-    [ dism shmid=0x6500000e ]
0000000381400000       4096          -          -          -    - rwxs-    [ dism shmid=0x6500000e ]
0000000381800000       8192       8192          -          -   4M rwxs-    [ dism shmid=0x6500000e ]
0000000400000000    4194304     737280          -          -    - rwxs-    [ dism shmid=0x6400000f ]
0000000500000000      24576      24576          -          -   4M rwxs-    [ dism shmid=0x6400000f ]
<snip>

Plese note both MAA best practices for RMAN on SuperCluster use dNFS, therefore having these ora_dism<instancename> processes present in a SuperCluster environment is expected. However, the feature of Dynamic Intimate Shared Memory is not supported, therefore the pmap technique  should be used when debugging to make sure this feature is not enabled. For continuous real time checks to ensure that the feature is not in use, all SuperCluster environments should be running ssctuner which uses the memory approach to validate this. The ssctuner tools will log an error to the messages file of the operating system if Dynamic Intimate Shared Memory is in use. Here is an example of such an error as seen in /var/adm/messages:

Sep 16 07:59:36 dbadm01 ssctuner: [ID 702911 local0.notice] success: PID 18658 ora_smon_ebiprsnw uses DISM
Sep 16 07:59:38 dbadm01 ssctuner: [ID 702911 local0.warning] failure: Note CR7152434: SuperCluster nodes running Oracle 11gR2 consistently panic when DISM is enabled
Sep 16 07:59:38 dbadm01 ssctuner: [ID 702911 local0.notice] success: DISM may be in use for a short period during DB creation in which case this message can be ignored unless it repeats.
Sep 16 07:59:38 dbadm01 ssctuner: [ID 702911 local0.warning] failure: Manual DISM changes needed. See /opt/oracle.supercluster/ssctuner/dism_advice.txt

 

References

<NOTE:1468297.1> - SuperCluster - OSM ( Optimized Shared Memory ) (12c) is Supported on SuperCluster DISM ( Dynamic Intimate Shared Memory )(11g) is not
<BUG:17785799> - DNFS BACKGROUND PROCESSES CAN CONFUSE DEBUGGING DUE TO ORA_DISM* NAME
<NOTE:1903388.1> - SuperCluster - ssctuner reference document

Attachments
This solution has no attachment
  Copyright © 2018 Oracle, Inc.  All rights reserved.
 Feedback