Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: 10g DISM on Solaris
Depending on the platform SGA_MAX_SIZE of shared memory will be
allocated at instance startup. And as you can see Solaris 9 on SPARC is
one of those platforms. As such it makes no sense to have different
values for SGA_TARGET and SGA_MAX_SIZE on those platforms.
HTH -- Mark D Powell --
From: oracle-l-bounce_at_freelists.org
[mailto:oracle-l-bounce_at_freelists.org] On Behalf Of Tony Jambu
Sent: Friday, June 24, 2005 7:06 AM
To: Oracle-L_at_freelists.org
Subject: 10g DISM on Solaris
Hi
Am trying to setup Oracle's Automatic Shared Memory Mgmt (ASMM) on
Solaris 9 (and 10) and having some issues. Not sure if it is
(i) bug with Oracle
(ii) bug with Solaris 9,
(iii) I screwed up or
(iv) my understanding/assumption is wrong
O/S: Solaris 9(SPARC)
Oracle: 10.1.0.4 (64bit)
spfile has:
SGA_MAX_SIZE=500M SGA_TARGET=200M
I thought that with the above, oracle will startup with 200M SGA and _only_ 200M of System memory is allocated. You then have the ability to dynamically increase it (using ALTER SYSTEM SET sga_target=xxx ) up to SGA_MAX_SIZE. Q. Is the above assumption correct?
Some stats and information
# -------------------------------------
# -------------------------------------
IPC Resources for ORACLE_SID "OEM10G" :
Shared Memory:
ID KEY 7040 0x629dc97c
Semaphores:
ID KEY 4718614 0xdf751d7c
# -------------------------------------
# ------------------------------------- % ipcs -a | grep 7040 m 7040 0x629dc97c --rw-r----- oracle dba oracle dba 18 524296192 19547 23979 15:22:46 15:22:46 14:59:24 ^^^^ ^^^^^^^^^
Notice that it has allocated 500M of memory. I was expecting it to be 200M
% ps -ef | grep dism
root 23069 1 0 14:59:25 ? 0:00 ora_dism_OEM10G
THis shows Oracle's DISM is running.
Q1. When you set SGA_MAX_SIZE=500M and SGA_TARGET_SIZE=200M,
on startup does Solaris allocate 200M or 500M?
# ==========================
# ==========================
SQL> show sga
Total System Global Area 524288000 bytes
Fixed Size 1303456 bytes Variable Size 388242528 bytes Database Buffers 134217728 bytes Redo Buffers 524288 bytes
SQL> show parameter sga
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ lock_sga boolean FALSE pre_page_sga boolean FALSE sga_max_size big integer 500M sga_target big integer 200M Q2. Does setting SGA_MAX_SIZE make the Shared Memory non-pagable? see reply from Howard Rogers & Nuno http://www.webservertalk.com/archive149-2004-8-333787.html Also Oracle's manual -
Intimate Shared Memory
On Solaris systems, Oracle Database uses Intimate Shared Memory (ISM)
for shared memory segments because it shares virtual memory resources
between Oracle processes. ISM causes the physical memory for the entire
shared memory segment to be locked automatically.
On Solaris 8 and Solaris 9 systems, dynamic/pageable ISM
(DISM) is
available. This enables Oracle Database to share virtual memory
resources between processes sharing the segment, and at the same time,
enables memory paging. The operating system does not have to lock down
physical memory for the entire shared memory segment.
Q3. How does one proof or disproof that Solaris has Dynamic memory allocation enabled?
PS: System has been patch and read the following refernece Enabling Dynamic SGA on Solaris platform - Doc ID: 151222.1 SUN bug. 4675878
-- http://www.freelists.org/webpage/oracle-lReceived on Fri Jun 24 2005 - 09:19:03 CDT
![]() |
![]() |