I hadn't played with this setting before so I decided to perform a quick
test... Here is my instance (on Solaris 9) before the parameter is set...
$ sqlplus "/ as sysdba"
SQL*Plus: Release 9.2.0.3.0 - Production on Thu Mar 11 20:35:29 2004
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to an idle instance.
SQL> startup ORACLE instance started.
Total System Global Area 319902492 bytes Fixed Size 455452 bytes Variable Size 234881024 bytes Database Buffers 83886080 bytes Redo Buffers 679936 bytes Database mounted. Database opened. SQL>
SQL> startup ORACLE instance started.
Total System Global Area 1074878116 bytes Fixed Size 456356 bytes Variable Size 989855744 bytes Database Buffers 83886080 bytes Redo Buffers 679936 bytes Database mounted. Database opened. SQL>
load averages: 0.039062, 0.089844, 0.085938 20:56:55 36 processes: 35 sleeping, 1 on cpu CPU states: % idle, % user, % kernel, % iowait, % swap Memory: 1152M real, 752M free, 514M swap in use, 1517M swap free
PID USERNAME THR PRI NICE SIZE RES STATE TIME CPU COMMAND 2493 oracle 1 50 0 1592K 1184K cpu 0:00 0.68% top 2307 oracle 1 59 0 4312K 3640K sleep 0:04 0.17% xterm 2308 oracle 1 59 0 1872K 1360K sleep 0:00 0.04% ksh 1 root 1 59 0 1208K 280K sleep 0:03 0.03% init 211 root 1 59 0 1040K 688K sleep 0:00 0.01% utmpd 393 root 7 59 0 2600K 2280K sleep 2:22 0.00% mibiisa 366 root 1 59 0 2152K 1576K sleep 2:00 0.00% snmpdx 227 root 1 59 0 4360K 1592K sleep 0:02 0.00% sendmail 197 root 19 59 0 2992K 2344K sleep 0:01 0.00% nscd 134 root 1 59 0 2560K 1864K sleep 0:01 0.00% inetd 18767 oracle 1 59 0 15M 5320K sleep 0:00 0.00% tnslsnr 158 root 3 59 0 4040K 2088K sleep 0:00 0.00% automountd 174 root 17 59 0 4152K 2048K sleep 0:00 0.00% syslogd 378 root 2 59 0 3536K 2040K sleep 0:00 0.00% snmpXdmid 155 daemon 1 59 0 2520K 1736K sleep 0:00 0.00% statd
load averages: 0.187500, 0.121094, 0.097656 20:57:48 41 processes: 40 sleeping, 1 on cpu CPU states: % idle, % user, % kernel, % iowait, % swap Memory: 1152M real, 567M free, 1570M swap in use, 460M swap free
PID USERNAME THR PRI NICE SIZE RES STATE TIME CPU COMMAND 2512 oracle 1 0 0 1592K 1184K cpu 0:00 0.68% top 2505 oracle 1 59 0 1083M 184M sleep 0:00 0.57% oracle 2501 oracle 11 59 0 1091M 182M sleep 0:00 0.17% oracle 2499 oracle 15 59 0 1088M 183M sleep 0:00 0.16% oracle 2307 oracle 1 59 0 4312K 3640K sleep 0:04 0.12% xterm 2503 oracle 11 59 0 1086M 183M sleep 0:00 0.12% oracle 2497 oracle 1 59 0 1084M 181M sleep 0:00 0.08% oracle 2507 oracle 1 59 0 1083M 179M sleep 0:00 0.06% oracle 366 root 1 59 0 2152K 1576K sleep 2:00 0.05% snmpdx 197 root 19 59 0 2992K 2344K sleep 0:01 0.02% nscd 2308 oracle 1 49 0 1872K 1360K sleep 0:00 0.01% ksh 18767 oracle 1 59 0 15M 5320K sleep 0:00 0.01% tnslsnr 393 root 7 59 0 2600K 2280K sleep 2:22 0.00% mibiisa 1 root 1 59 0 1208K 280K sleep 0:03 0.00% init 227 root 1 59 0 4360K 1592K sleep 0:02 0.00% sendmail
SGA_MAX_SIZE tells Oracle the maximum allowed memory allocation for the SGA. You can dynamically alter the size of the SGA up to SGA_MAX_SIZE. Here's why you want to set it: it has a default value. The default value of SGA_MAX_SIZE is the value for sga size on startup - not too much. Typically not a lot more than the shared_pool_size value on startup (maybe 20MB more). Efictively, this leaves you no room to increase the size of the sga. So set SGA_MAX_SIZE to a larghe value, like 256M, or whatever. It doesn't load any more memory at start up, but allows you to increase up to this value.
-----Original Message----- From: DENNIS WILLIAMS [mailto:DWILLIAMS@xxxxxxxxxxxxx] Sent: Thursday, March 11, 2004 3:08 PM To: 'oracle-l@xxxxxxxxxxxxx' Subject: SGA_MAX_SIZE on Solaris
Has anyone experimented with SGA_MAX_SIZE? Does Oracle request that amount of memory on startup? If memory of the components like SHARED_POOL_SIZE and DB_CACHE_SIZE are smaller than SGA_MAX_SIZE, does Oracle only request enough memory for the components? If the size of one of the components is reduced dynamically, does Solaris eventually reclaim that space? I have a test system with many Oracle9i instances. Most are little used, and I allocate only a small amount of memory. However, now and then a development group will start pounding an instance. Often they run out of memory. So I have to audit the memory settings of all instances, then notify developers on other instances that I need to bounce their instance to retrieve some memory. A hassle for everyone concerned. I'm wondering if I can set the SGA_MAX_SIZE high on all instances, but then just allocate a small amount of memory. Then if an instance needs more memory, I could allocate it dynamically, and also dynamically reduce the memory allocated in other instances. Any thoughts appreciated.
Dennis Williams
DBA
Lifetouch, Inc.
dwilliams@xxxxxxxxxxxxx
---------------------------------------------------------------- Please see the official ORACLE-L FAQ: http://www.orafaq.com ---------------------------------------------------------------- To unsubscribe send email to: oracle-l-request@xxxxxxxxxxxxx put 'unsubscribe' in the subject line. -- Archives are at //www.freelists.org/archives/oracle-l/ FAQ is at //www.freelists.org/help/fom-serve/cache/1.html -----------------------------------------------------------------
This e-mail, including attachments, may include confidential and/or
proprietary information, and may be used only by the person or entity to
which it is addressed. If the reader of this e-mail is not the intended
recipient or his or her authorized agent, the reader is hereby notified that
any dissemination, distribution or copying of this e-mail is prohibited. If
you have received this e-mail in error, please notify the sender by replying
to this message and delete this e-mail immediately.
----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to: oracle-l-request@xxxxxxxxxxxxx
put 'unsubscribe' in the subject line.
--
Archives are at //www.freelists.org/archives/oracle-l/
FAQ is at //www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------
-- Regards, Tim Johnston Tel: 978-322-4226 Fax: 978-322-4100
---------------------------------------------------------------- Please see the official ORACLE-L FAQ: http://www.orafaq.com ---------------------------------------------------------------- To unsubscribe send email to: oracle-l-request@xxxxxxxxxxxxx put 'unsubscribe' in the subject line. -- Archives are at //www.freelists.org/archives/oracle-l/ FAQ is at //www.freelists.org/help/fom-serve/cache/1.html -----------------------------------------------------------------