![]() | Oracle System Handbook - ISO 7.0 May 2018 Internal/Partner Edition | ||
|
|
![]() |
||||||||||||
Solution Type Problem Resolution Sure Solution 1468297.1 : SuperCluster - OSM ( Optimized Shared Memory ) (12c) is Supported on SuperCluster DISM ( Dynamic Intimate Shared Memory )(11g) is not
Applies to:Solaris Operating System - Version 11.3 to 11.3 [Release 11.0]SPARC SuperCluster T4-4 Full Rack - Version All Versions to All Versions [Release All Releases] Oracle SuperCluster M6-32 Hardware - Version All Versions to All Versions [Release All Releases] SPARC SuperCluster T4-4 - Version All Versions to All Versions [Release All Releases] SPARC SuperCluster T4-4 Half Rack - Version All Versions to All Versions [Release All Releases] Oracle Solaris on SPARC (64-bit) SymptomsThe use of DISM ( Dynamic Intimate Shared Memmory) on the SPARC SuperCluster including the ASM instance can lead to several different issues ranging form excessive swap usage even when memory is available and expose bugs which can cause kernel panics and/or performance problems. This led to not being able to take full advantage of AMM (Automatic Memory Management) on SuperCluster. Automatic Memory Management is now possible again with 12.1.0.1 and above database on Oracle Solaris 11.1 SRU 7.5 and above by leveraging the new Optimized Shared Memory (OSM) mechanism. A dism_chk.sh script is available that can be run as UID 0 root user in any global zone which hosts databases or zones in which databases run. root@sscn2db01# cd /var/tmp o. One can also 'grep' for DISM processes running however in some cases one may be running even if there is no DISM in use... root@sscn1db01# ps -ef | grep dism
root 27312 1 0 Jan 25 ? 0:38 ora_dism_qprd2 root 11283 40858 0 17:35:16 pts/2 0:00 grep dism root 28588 1 0 Jan 25 ? 1:17 ora_dism_prd2 root@sscn1db01# See note SuperCluster - Why is oradism (ora_dism*) started on Solaris? <Document 1599721.1>
ChangesIn 12.1.0.1 and above we now support Optimized Shared Memory (OSM). In 11.2 and 11.1 any database instance, including the ASM instance, that takes advantage of Automatic Memory Management (AMM) can trigger Dynamic Intimate Shared Memory (DISM) which is bad please see the checks in solution section below. Automatic Shared Memory Management (ASMM) is still supported and recommended. CauseThis is due to use of Dynamic Intimate Shared Memory (DISM) on Solaris, and is expected behaviour and not a defect, see the Oracle Database Administrator's Reference 11g Release 2 (11.2) for Linux and UNIX-Based Operating Systems, Appendix D 'Administering Oracle Database on Solaris' for more information. The use of DISM requires that all or part of the SGA memory allocation be reserved in swap space as well as held in memory to allow the SGA to dynamically re-size . DISM is activated automatically in Oracle when the value of the SGA_MAX_SIZE initialization parameter is larger than the sum of all SGA components combined or larger than value of SGA_TARGET. This enables Oracle Database to lock only the amount of physical memory that is currently being used in physical memory. In 11g, DISM is also activated by the setting of MEMORY_TARGET or MEMORY_MAX_TARGET in the same way as above.
Now in 12.1.0.1/ 11.1 SRU 7.5 and above you can use the Automatic Memory Management (AMM) parameters without harm thanks to Optimized Shared Memory (OSM). Solution12.1.0.1 and above enable Automatic Memory Management (AMM) via Optimized Shared Memory (OSM)If you had previously removed Automatic Memory Management by resetting MEMORY_MAX_TARGET you can set it with alter system at the spfile level for all sids i.e : ALTER SYSTEM SET MEMORY_MAX_TARGET=20G scope=spfile sid='*';
Then Remove the SGA_MAX_SIZE and/or the SGA_TARGET parameters with a reset ALTER SYSTEM RESET SGA_TARGET scope=spfile sid='*';
Then restart the database. Below 12.1.0.1 - Prevent Dynamic Intimate Shared Memory (DISM)To prevent this occurring you need to disable the use of DISM by Oracle on Solaris by either unsetting the SGA_MAX_SIZE / MEMORY_MAX_TARGET / MEMORY_TARGET parameters, or ensure SGA_MAX_SIZE is set to the same value as SGA_TARGET parameter or equal to the sum of all SGA components in the instance. If you have the MEMORY_MAX_TARGET / MEMORY_TARGET parameters set then you should unset them with ALTER SYSTEM RESET MEMORY_TARGET sid='*' scope=spfile;
Please note however that Oracle does not recommend disabling the use of Automatic Shared Memory Management (ASMM) within the database, which is a very useful and desirable feature to reduce DBA management of the database
See note SuperCluster - Why is oradism (ora_dism*) started on Solaris? <Document 1599721.1>
Community DiscussionsStill have questions? Use the communities window below to search for similar discussions or start a new discussion on this subject. (Window is the live community not a screenshot) Click here to open in main browser window References<NOTE:1567979.1> - Oracle SuperCluster Supported Software Versions - All Hardware Types<NOTE:1599721.1> - SuperCluster - Why is oradism (ora_dism*) started on Solaris? <NOTE:1579199.1> - Oracle Database 12c Takes Advantage of Optimized Shared Memory Feature on Oracle Solaris <NOTE:1520324.1> - Limiting process size with database parameter PGA_AGGREGATE_LIMIT <NOTE:1603909.1> - SuperCluster M6-32 Supported Software Versions <NOTE:1487081.1> - SuperCluster T4-4 Supported Software Versions <NOTE:1452277.1> - SuperCluster Critical Issues <BUG:12811016> - POOR DATABASE PERFORMANCE WHEN USING MEMORY_TARGET / DISM WITH EXADATA SOLARIS Attachments This solution has no attachment |
||||||||||||
|