RE: 9i - Dynamic SGA - SGA_MAX_SIZE

2003-08-14 Thread Mladen Gogala
BTW, my debate of this issue was completely incorrect. As a colleague from
This list has noted, SGA is created using shmget and shmat, not malloc and
calloc.
The only explanation might be that the mechanism is similar to the one of
malloc.

--
Mladen Gogala
Oracle DBA 



-Original Message-
Jessica Mao
Sent: Tuesday, August 05, 2003 6:34 PM
To: Multiple recipients of list ORACLE-L


don't know if it's still true, i played with sga_max_size and db_cache_size
a year ago on 9.0  Solaris8  F15k w/o much luck.

when sga_max_size = 64G and db_cache_size = 32G, db started impressingly
fast. but db server cpu sys% jumped up to 90+ during warming-up tests,
leaving usr% close to 0. tests never finished. reduced sga_max_size = 40G
and db_cache_size = 32G, db cpu still around 50% sys. sga_max_size = 18G and
db_cache_size = 16G, db performing ok. 
after that gave up sga_max_size, increased db_cache_size to 24G
(sga_max_size was then auto set to 24G). db performing ok. db_cache_size =
32G (= sga_max_size). took 32 min to start db. db performing ok.
db_cache_size = 40G (just curious), took 40min to start db. db performing
ok.

-Jessica

--- Mohammed Shakir [EMAIL PROTECTED] wrote:
 Kirti
 
 Thanks for the info.
 
 I could not raise dynamically the size of db_cache_size and did not
 know why, until I noticed the new parameter sga_max_size. Anyway, I 
 tried to lower the size of db_cache_size dynamically and I did not 
 have a problem. So sgma_max_size does play its role in 
 db_cache_sizing.
 
 I have not tested where I increase the size of sga_max_size using
 init.ora and then try to increase the size of db_cache_size 
 dynamically by the same size as the increase in sga_max_size. That is 
 the test for coming weekend.
 
 
 --- Kirtikumar Deshpande [EMAIL PROTECTED] wrote:
  SGA_MAX_SIZE was introduced in 9i to allow dynamic sizing of SGA
  (Dynamic Sizing feature) components such as, shared pool, large 
  pool, buffer cache etc. In versions up to 8i, such changes
  required bouncing the instance. 
  This parameter assumes the value of the SGA at instance startup.
  Various components of the SGA can
  then be increased/reduced as and when needed. The total SGA, thus,
  can reach a maximum value set
  by SGA_MAX_SIZE (if set in the init.ora file). That's the idea.
  However, the implementation is
  different on various platforms. With ISM, and DISM, on Solaris, there
  are other issues when it
  comes to using Dynamic SGA. You may want to search Metalink for
  specific notes/articles for
  Solaris. 
  On AIX 5L as I found out, Oracle uses SGA_MAX_SIZE, if set in
  init.ora, at the instanace startup,
  and allocates the excess (difference in computed SGA value and set
  SGA_MAX_SIZE) to 'variable
  size'. Hence there is no room for any dynamic sizing (upward) of any
  SGA component. I did not try
  to downsize shared pool first, and 'upsize' buffer cache later. May
  be that would work, but that
  is not the intention of using this parameter. 
  
  PGA_AGRREGATE_TARGET is completely different from this parameter. It
  sets an instance-wide upper limit for the memory used by sorting, 
  hashing processes.
  
  Hope this helps..
  
  - Kirti
   
  

__
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Kirtikumar Deshpande
  INET: [EMAIL PROTECTED]

Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in the
message BODY, include a line containing: UNSUB ORACLE-L (or the name of
mailing list you want to be removed from).  You may also send the HELP
command for other information (like subscribing).



Note:
This message is for the named person's use only.  It may 
contain confidential, proprietary or legally privileged 
information.  No confidentiality or privilege is waived 
or lost by any mistransmission.  If you receive this 
message in error, please immediately delete it and all 
copies of it from your system, destroy any hard copies 
of it and notify the sender.  You must not, directly or 
indirectly, use, disclose, distribute, print, or copy 
any part of this message if you are not the intended 
recipient. Wang Trading LLC and any of its subsidiaries 
each reserve the right to monitor all e-mail 
communications through its networks.

Any views expressed in this message are those of the 
individual sender, except where the message states 
otherwise and the sender is authorized to state them 
to be the views of any such entity.
-
-- 
Please see the official 

RE: 9i - Dynamic SGA - SGA_MAX_SIZE

2003-08-14 Thread Jessica Mao
don't know if it's still true, i played with sga_max_size and db_cache_size a year ago 
on 9.0  Solaris8  F15k w/o much luck.

when sga_max_size = 64G and db_cache_size = 32G, db started impressingly fast. but db 
server cpu sys% jumped up to 90+ during warming-up tests, leaving usr% close to 0. 
tests never finished.
reduced sga_max_size = 40G and db_cache_size = 32G, db cpu still around 50% sys.
sga_max_size = 18G and db_cache_size = 16G, db performing ok. 
after that gave up sga_max_size, increased db_cache_size to 24G (sga_max_size was then 
auto set to 24G). db performing ok.
db_cache_size = 32G (= sga_max_size). took 32 min to start db. db performing ok.
db_cache_size = 40G (just curious), took 40min to start db. db performing ok.

-Jessica

--- Mohammed Shakir [EMAIL PROTECTED] wrote:
 Kirti
 
 Thanks for the info.
 
 I could not raise dynamically the size of db_cache_size and did not 
 know why, until I noticed the new parameter sga_max_size. Anyway, I 
 tried to lower the size of db_cache_size dynamically and I did not 
 have a problem. So sgma_max_size does play its role in 
 db_cache_sizing.
 
 I have not tested where I increase the size of sga_max_size using 
 init.ora and then try to increase the size of db_cache_size 
 dynamically by the same size as the increase in sga_max_size. That is 
 the test for coming weekend.
 
 
 --- Kirtikumar Deshpande [EMAIL PROTECTED] wrote:
  SGA_MAX_SIZE was introduced in 9i to allow dynamic sizing of SGA 
  (Dynamic Sizing feature) components such as, shared pool, large 
  pool, buffer cache etc. In versions up to 8i, such changes
  required bouncing the instance. 
  This parameter assumes the value of the SGA at instance startup.
  Various components of the SGA can
  then be increased/reduced as and when needed. The total SGA, thus,
  can reach a maximum value set
  by SGA_MAX_SIZE (if set in the init.ora file). That's the idea.
  However, the implementation is
  different on various platforms. With ISM, and DISM, on Solaris, there
  are other issues when it
  comes to using Dynamic SGA. You may want to search Metalink for
  specific notes/articles for
  Solaris. 
  On AIX 5L as I found out, Oracle uses SGA_MAX_SIZE, if set in
  init.ora, at the instanace startup,
  and allocates the excess (difference in computed SGA value and set
  SGA_MAX_SIZE) to 'variable
  size'. Hence there is no room for any dynamic sizing (upward) of any
  SGA component. I did not try
  to downsize shared pool first, and 'upsize' buffer cache later. May
  be that would work, but that
  is not the intention of using this parameter. 
  
  PGA_AGRREGATE_TARGET is completely different from this parameter. It 
  sets an instance-wide upper limit for the memory used by sorting, 
  hashing processes.
  
  Hope this helps..
  
  - Kirti
   
  

__
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Kirtikumar Deshpande
  INET: [EMAIL PROTECTED]

Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in the
message BODY, include a line containing: UNSUB ORACLE-L (or the name of
mailing list you want to be removed from).  You may also send the HELP
command for other information (like subscribing).



Note:
This message is for the named person's use only.  It may 
contain confidential, proprietary or legally privileged 
information.  No confidentiality or privilege is waived 
or lost by any mistransmission.  If you receive this 
message in error, please immediately delete it and all 
copies of it from your system, destroy any hard copies 
of it and notify the sender.  You must not, directly or 
indirectly, use, disclose, distribute, print, or copy 
any part of this message if you are not the intended 
recipient. Wang Trading LLC and any of its subsidiaries 
each reserve the right to monitor all e-mail 
communications through its networks.

Any views expressed in this message are those of the 
individual sender, except where the message states 
otherwise and the sender is authorized to state them 
to be the views of any such entity.
-
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Mladen Gogala
  INET: [EMAIL PROTECTED]

Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note 

RE: 9i - Dynamic SGA - SGA_MAX_SIZE

2003-08-14 Thread Stephen Lee

Just think, Nirvana is only one bullet away!

 -Original Message-
 From: Mladen Gogala [mailto:[EMAIL PROTECTED]
 Sent: Tuesday, August 05, 2003 11:49 AM
 To: Multiple recipients of list ORACLE-L
 Subject: RE: 9i - Dynamic SGA - SGA_MAX_SIZE
 
 
 To continue down the Stephen's path, shutdown abort will 
 complete very
 quickly
 and will drastically decrease the size of SGA. What is more, 
 the very busy
 environment
 Will not be very busy any more. Perhaps very loud, but not very busy.
 
 --
 Mladen Gogala
 Oracle DBA 
 
 
 
 -Original Message-
 Kirtikumar Deshpande
 Sent: Tuesday, August 05, 2003 12:35 PM
 To: Multiple recipients of list ORACLE-L
 
 
 U R Welcome.
 Although, reducing SGA size is technically possible, it can be a very
 expensive operation in a busy environemt and can take a long time to
 complete. I have not run any specific tests to see how long 
 it takes to
 reduce SGA by a certain amount, but you can imagine what must 
 be done (find
 least used blocks/age out blocks, keep them from re-use, and finally
 'detach' them etc..) 
 
 - Kirti  
 
 --- Mohammed Shakir [EMAIL PROTECTED] wrote:
  Kirti
  
  Thanks for the info.
  
  I could not raise dynamically the size of db_cache_size and did not 
  know why, until I noticed the new parameter sga_max_size. Anyway, I 
  tried to lower the size of db_cache_size dynamically and I did not 
  have a problem. So sgma_max_size does play its role in 
  db_cache_sizing.
  
  I have not tested where I increase the size of sga_max_size using 
  init.ora and then try to increase the size of db_cache_size 
  dynamically by the same size as the increase in 
 sga_max_size. That is 
  the test for coming weekend.
  
  
  --- Kirtikumar Deshpande [EMAIL PROTECTED] wrote:
   SGA_MAX_SIZE was introduced in 9i to allow dynamic sizing of SGA 
   (Dynamic Sizing feature) components such as, shared pool, large 
   pool, buffer cache etc. In versions up to 8i, such changes
   required bouncing the instance. 
   This parameter assumes the value of the SGA at instance startup.
   Various components of the SGA can
   then be increased/reduced as and when needed. The total SGA, thus,
   can reach a maximum value set
   by SGA_MAX_SIZE (if set in the init.ora file). That's the idea.
   However, the implementation is
   different on various platforms. With ISM, and DISM, on 
 Solaris, there
   are other issues when it
   comes to using Dynamic SGA. You may want to search Metalink for
   specific notes/articles for
   Solaris. 
   On AIX 5L as I found out, Oracle uses SGA_MAX_SIZE, if set in
   init.ora, at the instanace startup,
   and allocates the excess (difference in computed SGA value and set
   SGA_MAX_SIZE) to 'variable
   size'. Hence there is no room for any dynamic sizing 
 (upward) of any
   SGA component. I did not try
   to downsize shared pool first, and 'upsize' buffer cache 
 later. May
   be that would work, but that
   is not the intention of using this parameter. 
   
   PGA_AGRREGATE_TARGET is completely different from this 
 parameter. It 
   sets an instance-wide upper limit for the memory used by sorting, 
   hashing processes.
   
   Hope this helps..
   
   - Kirti

   
 
 __
 Do you Yahoo!?
 Yahoo! SiteBuilder - Free, easy-to-use web site design software
 http://sitebuilder.yahoo.com
 -- 
 Please see the official ORACLE-L FAQ: http://www.orafaq.net
 -- 
 Author: Kirtikumar Deshpande
   INET: [EMAIL PROTECTED]
 
 Fat City Network Services-- 858-538-5051 http://www.fatcity.com
 San Diego, California-- Mailing list and web hosting services
 -
 To REMOVE yourself from this mailing list, send an E-Mail message
 to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') 
 and in the
 message BODY, include a line containing: UNSUB ORACLE-L (or 
 the name of
 mailing list you want to be removed from).  You may also send the HELP
 command for other information (like subscribing).
 
 
 
 Note:
 This message is for the named person's use only.  It may 
 contain confidential, proprietary or legally privileged 
 information.  No confidentiality or privilege is waived 
 or lost by any mistransmission.  If you receive this 
 message in error, please immediately delete it and all 
 copies of it from your system, destroy any hard copies 
 of it and notify the sender.  You must not, directly or 
 indirectly, use, disclose, distribute, print, or copy 
 any part of this message if you are not the intended 
 recipient. Wang Trading LLC and any of its subsidiaries 
 each reserve the right to monitor all e-mail 
 communications through its networks.
 
 Any views expressed in this message are those of the 
 individual sender, except where the message states 
 otherwise and the sender is authorized to state them 
 to be the views of any such entity

Re: 9i - Dynamic SGA - SGA_MAX_SIZE

2003-08-14 Thread Tanel Poder
Hi!

I made a simple C program and tested shmget in linux using strace, the test
didn't show any malloc() or brk() call, while when using malloc explicitly,
brk() was called. This was on linux, I am too lazy to install a compiler on
my test solaris machine, if anyone is interested, just run this with truss
and check output.

#include sys/ipc.h
#include sys/shm.h
int i;
char c;
main() {
//c = malloc(555);
i = shmget(0, 1000, 511+IPC_CREAT+IPC_EXCL);
}

Tanel.

- Original Message - 
To: Multiple recipients of list ORACLE-L [EMAIL PROTECTED]
Sent: Friday, August 08, 2003 11:39 PM


 Mladen,
 But then again, shmget and shmat use malloc/calloc internally, it just
 differs in that shmget/shmat create the memory space and then make a
public
 handle so that multiple processes can access the memory allocated. (Very
 simplisticly put)
 So in a certain sense it is more than just a similar mechanism.

 What was this discussion about anyway ;)


 -Mensaje original-
 De: Mladen Gogala [mailto:[EMAIL PROTECTED]
 Enviado el: viernes, 08 de agosto de 2003 16:09
 Para: Multiple recipients of list ORACLE-L
 Asunto: RE: 9i - Dynamic SGA - SGA_MAX_SIZE

 BTW, my debate of this issue was completely incorrect. As a colleague from
 This list has noted, SGA is created using shmget and shmat, not malloc and
 calloc.
 The only explanation might be that the mechanism is similar to the one of
 malloc.

 --
 Mladen Gogala
 Oracle DBA



 -Original Message-
 Jessica Mao
 Sent: Tuesday, August 05, 2003 6:34 PM
 To: Multiple recipients of list ORACLE-L


 don't know if it's still true, i played with sga_max_size and
db_cache_size
 a year ago on 9.0  Solaris8  F15k w/o much luck.

 when sga_max_size = 64G and db_cache_size = 32G, db started impressingly
 fast. but db server cpu sys% jumped up to 90+ during warming-up tests,
 leaving usr% close to 0. tests never finished. reduced sga_max_size = 40G
 and db_cache_size = 32G, db cpu still around 50% sys. sga_max_size = 18G
and
 db_cache_size = 16G, db performing ok.
 after that gave up sga_max_size, increased db_cache_size to 24G
 (sga_max_size was then auto set to 24G). db performing ok. db_cache_size =
 32G (= sga_max_size). took 32 min to start db. db performing ok.
 db_cache_size = 40G (just curious), took 40min to start db. db performing
 ok.

 -Jessica

 --- Mohammed Shakir [EMAIL PROTECTED] wrote:
  Kirti
 
  Thanks for the info.
 
  I could not raise dynamically the size of db_cache_size and did not
  know why, until I noticed the new parameter sga_max_size. Anyway, I
  tried to lower the size of db_cache_size dynamically and I did not
  have a problem. So sgma_max_size does play its role in
  db_cache_sizing.
 
  I have not tested where I increase the size of sga_max_size using
  init.ora and then try to increase the size of db_cache_size
  dynamically by the same size as the increase in sga_max_size. That is
  the test for coming weekend.
 
 
  --- Kirtikumar Deshpande [EMAIL PROTECTED] wrote:
   SGA_MAX_SIZE was introduced in 9i to allow dynamic sizing of SGA
   (Dynamic Sizing feature) components such as, shared pool, large
   pool, buffer cache etc. In versions up to 8i, such changes
   required bouncing the instance.
   This parameter assumes the value of the SGA at instance startup.
   Various components of the SGA can
   then be increased/reduced as and when needed. The total SGA, thus,
   can reach a maximum value set
   by SGA_MAX_SIZE (if set in the init.ora file). That's the idea.
   However, the implementation is
   different on various platforms. With ISM, and DISM, on Solaris, there
   are other issues when it
   comes to using Dynamic SGA. You may want to search Metalink for
   specific notes/articles for
   Solaris.
   On AIX 5L as I found out, Oracle uses SGA_MAX_SIZE, if set in
   init.ora, at the instanace startup,
   and allocates the excess (difference in computed SGA value and set
   SGA_MAX_SIZE) to 'variable
   size'. Hence there is no room for any dynamic sizing (upward) of any
   SGA component. I did not try
   to downsize shared pool first, and 'upsize' buffer cache later. May
   be that would work, but that
   is not the intention of using this parameter.
  
   PGA_AGRREGATE_TARGET is completely different from this parameter. It
   sets an instance-wide upper limit for the memory used by sorting,
   hashing processes.
  
   Hope this helps..
  
   - Kirti
  
  

 __
 Do you Yahoo!?
 Yahoo! SiteBuilder - Free, easy-to-use web site design software
 http://sitebuilder.yahoo.com
 -- 
 Please see the official ORACLE-L FAQ: http://www.orafaq.net
 -- 
 Author: Kirtikumar Deshpande
   INET: [EMAIL PROTECTED]

 Fat City Network Services-- 858-538-5051 http://www.fatcity.com
 San Diego, California-- Mailing list and web hosting services
 -
 To REMOVE yourself from this mailing list, send an E-Mail message
 to: [EMAIL PROTECTED

RE: 9i - Dynamic SGA - SGA_MAX_SIZE

2003-08-14 Thread Roger Xu
Why I have db_cache_size set to zero in my database?

SQL show parameter db_cache_size

NAME TYPEVALUE
 --- --
db_cache_sizebig integer 0
SQL

-Original Message-
Sent: Tuesday, August 05, 2003 5:34 PM
To: Multiple recipients of list ORACLE-L


don't know if it's still true, i played with sga_max_size and db_cache_size a year ago 
on 9.0  Solaris8  F15k w/o much luck.

when sga_max_size = 64G and db_cache_size = 32G, db started impressingly fast. but db 
server cpu sys% jumped up to 90+ during warming-up tests, leaving usr% close to 0. 
tests never finished.
reduced sga_max_size = 40G and db_cache_size = 32G, db cpu still around 50% sys.
sga_max_size = 18G and db_cache_size = 16G, db performing ok. 
after that gave up sga_max_size, increased db_cache_size to 24G (sga_max_size was then 
auto set to 24G). db performing ok.
db_cache_size = 32G (= sga_max_size). took 32 min to start db. db performing ok.
db_cache_size = 40G (just curious), took 40min to start db. db performing ok.

-Jessica

--- Mohammed Shakir [EMAIL PROTECTED] wrote:
 Kirti
 
 Thanks for the info.
 
 I could not raise dynamically the size of db_cache_size and did not 
 know why, until I noticed the new parameter sga_max_size. Anyway, I 
 tried to lower the size of db_cache_size dynamically and I did not 
 have a problem. So sgma_max_size does play its role in 
 db_cache_sizing.
 
 I have not tested where I increase the size of sga_max_size using 
 init.ora and then try to increase the size of db_cache_size 
 dynamically by the same size as the increase in sga_max_size. That is 
 the test for coming weekend.
 
 
 --- Kirtikumar Deshpande [EMAIL PROTECTED] wrote:
  SGA_MAX_SIZE was introduced in 9i to allow dynamic sizing of SGA 
  (Dynamic Sizing feature) components such as, shared pool, large 
  pool, buffer cache etc. In versions up to 8i, such changes
  required bouncing the instance. 
  This parameter assumes the value of the SGA at instance startup.
  Various components of the SGA can
  then be increased/reduced as and when needed. The total SGA, thus,
  can reach a maximum value set
  by SGA_MAX_SIZE (if set in the init.ora file). That's the idea.
  However, the implementation is
  different on various platforms. With ISM, and DISM, on Solaris, there
  are other issues when it
  comes to using Dynamic SGA. You may want to search Metalink for
  specific notes/articles for
  Solaris. 
  On AIX 5L as I found out, Oracle uses SGA_MAX_SIZE, if set in
  init.ora, at the instanace startup,
  and allocates the excess (difference in computed SGA value and set
  SGA_MAX_SIZE) to 'variable
  size'. Hence there is no room for any dynamic sizing (upward) of any
  SGA component. I did not try
  to downsize shared pool first, and 'upsize' buffer cache later. May
  be that would work, but that
  is not the intention of using this parameter. 
  
  PGA_AGRREGATE_TARGET is completely different from this parameter. It 
  sets an instance-wide upper limit for the memory used by sorting, 
  hashing processes.
  
  Hope this helps..
  
  - Kirti
   
  

__
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Kirtikumar Deshpande
  INET: [EMAIL PROTECTED]

Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in the
message BODY, include a line containing: UNSUB ORACLE-L (or the name of
mailing list you want to be removed from).  You may also send the HELP
command for other information (like subscribing).



Note:
This message is for the named person's use only.  It may 
contain confidential, proprietary or legally privileged 
information.  No confidentiality or privilege is waived 
or lost by any mistransmission.  If you receive this 
message in error, please immediately delete it and all 
copies of it from your system, destroy any hard copies 
of it and notify the sender.  You must not, directly or 
indirectly, use, disclose, distribute, print, or copy 
any part of this message if you are not the intended 
recipient. Wang Trading LLC and any of its subsidiaries 
each reserve the right to monitor all e-mail 
communications through its networks.

Any views expressed in this message are those of the 
individual sender, except where the message states 
otherwise and the sender is authorized to state them 
to be the views of any such entity.
-
-- 
Please see the official 

RE: 9i - Dynamic SGA - SGA_MAX_SIZE

2003-08-14 Thread Kirtikumar Deshpande
U R Welcome.
Although, reducing SGA size is technically possible, it can be a very expensive 
operation in a
busy environemt and can take a long time to complete. I have not run any specific 
tests to see how
long it takes to reduce SGA by a certain amount, but you can imagine what must be done 
(find least
used blocks/age out blocks, keep them from re-use, and finally 'detach' them etc..) 

- Kirti  

--- Mohammed Shakir [EMAIL PROTECTED] wrote:
 Kirti
 
 Thanks for the info.
 
 I could not raise dynamically the size of db_cache_size and did not
 know why, until I noticed the new parameter sga_max_size. Anyway, I
 tried to lower the size of db_cache_size dynamically and I did not have
 a problem. So sgma_max_size does play its role in db_cache_sizing.
 
 I have not tested where I increase the size of sga_max_size using
 init.ora and then try to increase the size of db_cache_size dynamically
 by the same size as the increase in sga_max_size. That is the test for
 coming weekend.
 
 
 --- Kirtikumar Deshpande [EMAIL PROTECTED] wrote:
  SGA_MAX_SIZE was introduced in 9i to allow dynamic sizing of SGA
  (Dynamic Sizing feature)
  components such as, shared pool, large pool, buffer cache etc. In
  versions up to 8i, such changes
  required bouncing the instance. 
  This parameter assumes the value of the SGA at instance startup.
  Various components of the SGA can
  then be increased/reduced as and when needed. The total SGA, thus,
  can reach a maximum value set
  by SGA_MAX_SIZE (if set in the init.ora file). That's the idea.
  However, the implementation is
  different on various platforms. With ISM, and DISM, on Solaris, there
  are other issues when it
  comes to using Dynamic SGA. You may want to search Metalink for
  specific notes/articles for
  Solaris. 
  On AIX 5L as I found out, Oracle uses SGA_MAX_SIZE, if set in
  init.ora, at the instanace startup,
  and allocates the excess (difference in computed SGA value and set
  SGA_MAX_SIZE) to 'variable
  size'. Hence there is no room for any dynamic sizing (upward) of any
  SGA component. I did not try
  to downsize shared pool first, and 'upsize' buffer cache later. May
  be that would work, but that
  is not the intention of using this parameter. 
  
  PGA_AGRREGATE_TARGET is completely different from this parameter. It
  sets an instance-wide upper
  limit for the memory used by sorting, hashing processes. 
  
  Hope this helps.. 
  
  - Kirti 
   
  

__
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Kirtikumar Deshpande
  INET: [EMAIL PROTECTED]

Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).


RE: 9i - Dynamic SGA - SGA_MAX_SIZE

2003-08-09 Thread Nelson Flores
Mladen,
But then again, shmget and shmat use malloc/calloc internally, it just
differs in that shmget/shmat create the memory space and then make a public
handle so that multiple processes can access the memory allocated. (Very
simplisticly put)
So in a certain sense it is more than just a similar mechanism.

What was this discussion about anyway ;)


-Mensaje original-
De: Mladen Gogala [mailto:[EMAIL PROTECTED] 
Enviado el: viernes, 08 de agosto de 2003 16:09
Para: Multiple recipients of list ORACLE-L
Asunto: RE: 9i - Dynamic SGA - SGA_MAX_SIZE

BTW, my debate of this issue was completely incorrect. As a colleague from
This list has noted, SGA is created using shmget and shmat, not malloc and
calloc.
The only explanation might be that the mechanism is similar to the one of
malloc.

--
Mladen Gogala
Oracle DBA 



-Original Message-
Jessica Mao
Sent: Tuesday, August 05, 2003 6:34 PM
To: Multiple recipients of list ORACLE-L


don't know if it's still true, i played with sga_max_size and db_cache_size
a year ago on 9.0  Solaris8  F15k w/o much luck.

when sga_max_size = 64G and db_cache_size = 32G, db started impressingly
fast. but db server cpu sys% jumped up to 90+ during warming-up tests,
leaving usr% close to 0. tests never finished. reduced sga_max_size = 40G
and db_cache_size = 32G, db cpu still around 50% sys. sga_max_size = 18G and
db_cache_size = 16G, db performing ok. 
after that gave up sga_max_size, increased db_cache_size to 24G
(sga_max_size was then auto set to 24G). db performing ok. db_cache_size =
32G (= sga_max_size). took 32 min to start db. db performing ok.
db_cache_size = 40G (just curious), took 40min to start db. db performing
ok.

-Jessica

--- Mohammed Shakir [EMAIL PROTECTED] wrote:
 Kirti
 
 Thanks for the info.
 
 I could not raise dynamically the size of db_cache_size and did not
 know why, until I noticed the new parameter sga_max_size. Anyway, I 
 tried to lower the size of db_cache_size dynamically and I did not 
 have a problem. So sgma_max_size does play its role in 
 db_cache_sizing.
 
 I have not tested where I increase the size of sga_max_size using
 init.ora and then try to increase the size of db_cache_size 
 dynamically by the same size as the increase in sga_max_size. That is 
 the test for coming weekend.
 
 
 --- Kirtikumar Deshpande [EMAIL PROTECTED] wrote:
  SGA_MAX_SIZE was introduced in 9i to allow dynamic sizing of SGA
  (Dynamic Sizing feature) components such as, shared pool, large 
  pool, buffer cache etc. In versions up to 8i, such changes
  required bouncing the instance. 
  This parameter assumes the value of the SGA at instance startup.
  Various components of the SGA can
  then be increased/reduced as and when needed. The total SGA, thus,
  can reach a maximum value set
  by SGA_MAX_SIZE (if set in the init.ora file). That's the idea.
  However, the implementation is
  different on various platforms. With ISM, and DISM, on Solaris, there
  are other issues when it
  comes to using Dynamic SGA. You may want to search Metalink for
  specific notes/articles for
  Solaris. 
  On AIX 5L as I found out, Oracle uses SGA_MAX_SIZE, if set in
  init.ora, at the instanace startup,
  and allocates the excess (difference in computed SGA value and set
  SGA_MAX_SIZE) to 'variable
  size'. Hence there is no room for any dynamic sizing (upward) of any
  SGA component. I did not try
  to downsize shared pool first, and 'upsize' buffer cache later. May
  be that would work, but that
  is not the intention of using this parameter. 
  
  PGA_AGRREGATE_TARGET is completely different from this parameter. It
  sets an instance-wide upper limit for the memory used by sorting, 
  hashing processes.
  
  Hope this helps..
  
  - Kirti
   
  

__
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Kirtikumar Deshpande
  INET: [EMAIL PROTECTED]

Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in the
message BODY, include a line containing: UNSUB ORACLE-L (or the name of
mailing list you want to be removed from).  You may also send the HELP
command for other information (like subscribing).



Note:
This message is for the named person's use only.  It may 
contain confidential, proprietary or legally privileged 
information.  No confidentiality or privilege is waived 
or lost by any mistransmission.  If you receive this 
message in error, please immediately delete it and all 
copies of it from your system, destroy any hard copies 
of it and notify the sender.  You

RE: 9i - Dynamic SGA - SGA_MAX_SIZE

2003-08-09 Thread Mladen Gogala
To continue down the Stephen's path, shutdown abort will complete very
quickly
and will drastically decrease the size of SGA. What is more, the very busy
environment
Will not be very busy any more. Perhaps very loud, but not very busy.

--
Mladen Gogala
Oracle DBA 



-Original Message-
Kirtikumar Deshpande
Sent: Tuesday, August 05, 2003 12:35 PM
To: Multiple recipients of list ORACLE-L


U R Welcome.
Although, reducing SGA size is technically possible, it can be a very
expensive operation in a busy environemt and can take a long time to
complete. I have not run any specific tests to see how long it takes to
reduce SGA by a certain amount, but you can imagine what must be done (find
least used blocks/age out blocks, keep them from re-use, and finally
'detach' them etc..) 

- Kirti  

--- Mohammed Shakir [EMAIL PROTECTED] wrote:
 Kirti
 
 Thanks for the info.
 
 I could not raise dynamically the size of db_cache_size and did not 
 know why, until I noticed the new parameter sga_max_size. Anyway, I 
 tried to lower the size of db_cache_size dynamically and I did not 
 have a problem. So sgma_max_size does play its role in 
 db_cache_sizing.
 
 I have not tested where I increase the size of sga_max_size using 
 init.ora and then try to increase the size of db_cache_size 
 dynamically by the same size as the increase in sga_max_size. That is 
 the test for coming weekend.
 
 
 --- Kirtikumar Deshpande [EMAIL PROTECTED] wrote:
  SGA_MAX_SIZE was introduced in 9i to allow dynamic sizing of SGA 
  (Dynamic Sizing feature) components such as, shared pool, large 
  pool, buffer cache etc. In versions up to 8i, such changes
  required bouncing the instance. 
  This parameter assumes the value of the SGA at instance startup.
  Various components of the SGA can
  then be increased/reduced as and when needed. The total SGA, thus,
  can reach a maximum value set
  by SGA_MAX_SIZE (if set in the init.ora file). That's the idea.
  However, the implementation is
  different on various platforms. With ISM, and DISM, on Solaris, there
  are other issues when it
  comes to using Dynamic SGA. You may want to search Metalink for
  specific notes/articles for
  Solaris. 
  On AIX 5L as I found out, Oracle uses SGA_MAX_SIZE, if set in
  init.ora, at the instanace startup,
  and allocates the excess (difference in computed SGA value and set
  SGA_MAX_SIZE) to 'variable
  size'. Hence there is no room for any dynamic sizing (upward) of any
  SGA component. I did not try
  to downsize shared pool first, and 'upsize' buffer cache later. May
  be that would work, but that
  is not the intention of using this parameter. 
  
  PGA_AGRREGATE_TARGET is completely different from this parameter. It 
  sets an instance-wide upper limit for the memory used by sorting, 
  hashing processes.
  
  Hope this helps..
  
  - Kirti
   
  

__
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Kirtikumar Deshpande
  INET: [EMAIL PROTECTED]

Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in the
message BODY, include a line containing: UNSUB ORACLE-L (or the name of
mailing list you want to be removed from).  You may also send the HELP
command for other information (like subscribing).



Note:
This message is for the named person's use only.  It may 
contain confidential, proprietary or legally privileged 
information.  No confidentiality or privilege is waived 
or lost by any mistransmission.  If you receive this 
message in error, please immediately delete it and all 
copies of it from your system, destroy any hard copies 
of it and notify the sender.  You must not, directly or 
indirectly, use, disclose, distribute, print, or copy 
any part of this message if you are not the intended 
recipient. Wang Trading LLC and any of its subsidiaries 
each reserve the right to monitor all e-mail 
communications through its networks.

Any views expressed in this message are those of the 
individual sender, except where the message states 
otherwise and the sender is authorized to state them 
to be the views of any such entity.
-
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Mladen Gogala
  INET: [EMAIL PROTECTED]

Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an 

RE: 9i - Dynamic SGA - SGA_MAX_SIZE

2003-08-06 Thread Kirtikumar Deshpande
Because you are still using db_block_buffers in init.ora file.. 

- Kirti 


--- Roger Xu [EMAIL PROTECTED] wrote:

 Why I have db_cache_size set to zero in my database?
 
 SQL show parameter db_cache_size
 
 NAME TYPEVALUE
  --- --
 db_cache_sizebig integer 0
 SQL
 
 -Original Message-
 Sent: Tuesday, August 05, 2003 5:34 PM
 To: Multiple recipients of list ORACLE-L
 
 
snip 

__
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Kirtikumar Deshpande
  INET: [EMAIL PROTECTED]

Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).



Re: 9i - Dynamic SGA - SGA_MAX_SIZE

2003-08-04 Thread Stephen . HODGKINSON

Oracle have changed there response when I pointed out that ask Tom
indicated that different operating systems appear to perform differently

Oracle's response is below and from all your replies this would appear to
be the case.

Thanks, for your help. stephen








 ** 
 ***
 Yes, on most platforms the shared memory would be pre-allocated for the
 SGA. equivalent to SGFA_MAX_SIZE. Solaris with Dynamic ISM enabled is one  
 exception. 
 There may be others. It's not 100% obvious if this is really wasting   
 resources. If the  
 memory is never being referenced it may not have to be resident in 
 physical   
 memory (though some platforms do try to keep the SGA pinned in memory).  
 ** 
 ***







Phone: 01737 27 5564
[EMAIL PROTECTED]


   
   
Mladen Gogala  
   
[EMAIL PROTECTED]   To: Multiple recipients of list 
ORACLE-L [EMAIL PROTECTED]  
hia.net cc:   
   
Sent by: Subject: Re: 9i - Dynamic SGA - 
SGA_MAX_SIZE 
[EMAIL PROTECTED]  
  
ity.com
   
   
   
   
   
03/08/03 05:19 
   
Please respond 
   
to ORACLE-L
   
   
   
   
   




Kirti, problem is in the malloc mechanism. The subroutine to free the
memory
doesn't return it to the OS, it returns it to the allocation pool instead.
As a consequence, when oracle does free, its address space is not going
to
go down. You realize, of course, that malloc, calloc, realloc and free are
the
only options, because of their portability. There are low level allocation
routines like brk() to increase the address space, but unaware of any
routine
to decrease the address space. Here is the manual page for the library
subroutine called mallopt, which is mostly obsolete but still exists on
HP-UX. The mechanism remained the same, but the control was taken away from

the users. Manual page does illustrate the mechanism, though.
malloc(3C)   malloc(3C)





  NAME
   malloc(), free(), realloc(), calloc(), mallopt(), mallinfo(),
   memorymap() - main memory allocator

  SYNOPSIS
   #include stdlib.h

   void *malloc(size_t size);

   void *calloc(size_t nelem, size_t elsize);

   void *realloc(void *ptr, size_t size);

   void

Re: 9i - Dynamic SGA - SGA_MAX_SIZE

2003-08-04 Thread Jared . Still
We covered a similar issue with sort_area_size  in Tim Gorman's seminar at 
IOUG in April.

Unless brk() is called, the memory is not returned to the OS.

Jared






Kirtikumar Deshpande [EMAIL PROTECTED]
Sent by: [EMAIL PROTECTED]
 08/03/2003 12:29 PM
 Please respond to ORACLE-L

 
To: Multiple recipients of list ORACLE-L [EMAIL PROTECTED]
cc: 
Subject:Re: 9i - Dynamic SGA - SGA_MAX_SIZE


Thanks, Mladen. That makes sense. 
One just needs to make sure (by testing) that the OS supports this 
feature. 

- Kirti

--- Mladen Gogala [EMAIL PROTECTED] wrote:
 Kirti, problem is in the malloc mechanism. The subroutine to free the 
memory
 doesn't return it to the OS, it returns it to the allocation pool 
instead.
 As a consequence, when oracle does free, its address space is not 
going to 
 go down. You realize, of course, that malloc, calloc, realloc and free 
are the 
 only options, because of their portability. There are low level 
allocation 
 routines like brk() to increase the address space, but unaware of any 
routine
 to decrease the address space. Here is the manual page for the library 
 subroutine called mallopt, which is mostly obsolete but still exists 
on
 HP-UX. The mechanism remained the same, but the control was taken away 
from 
 the users. Manual page does illustrate the mechanism, though.
 malloc(3C) malloc(3C)
 
snip 

__
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Kirtikumar Deshpande
  INET: [EMAIL PROTECTED]

Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).



-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: 
  INET: [EMAIL PROTECTED]

Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).



RE: 9i - Dynamic SGA - SGA_MAX_SIZE

2003-08-04 Thread Mohammed Shakir
Kirti

Thanks for the info.

I could not raise dynamically the size of db_cache_size and did not
know why, until I noticed the new parameter sga_max_size. Anyway, I
tried to lower the size of db_cache_size dynamically and I did not have
a problem. So sgma_max_size does play its role in db_cache_sizing.

I have not tested where I increase the size of sga_max_size using
init.ora and then try to increase the size of db_cache_size dynamically
by the same size as the increase in sga_max_size. That is the test for
coming weekend.


--- Kirtikumar Deshpande [EMAIL PROTECTED] wrote:
 SGA_MAX_SIZE was introduced in 9i to allow dynamic sizing of SGA
 (Dynamic Sizing feature)
 components such as, shared pool, large pool, buffer cache etc. In
 versions up to 8i, such changes
 required bouncing the instance. 
 This parameter assumes the value of the SGA at instance startup.
 Various components of the SGA can
 then be increased/reduced as and when needed. The total SGA, thus,
 can reach a maximum value set
 by SGA_MAX_SIZE (if set in the init.ora file). That's the idea.
 However, the implementation is
 different on various platforms. With ISM, and DISM, on Solaris, there
 are other issues when it
 comes to using Dynamic SGA. You may want to search Metalink for
 specific notes/articles for
 Solaris. 
 On AIX 5L as I found out, Oracle uses SGA_MAX_SIZE, if set in
 init.ora, at the instanace startup,
 and allocates the excess (difference in computed SGA value and set
 SGA_MAX_SIZE) to 'variable
 size'. Hence there is no room for any dynamic sizing (upward) of any
 SGA component. I did not try
 to downsize shared pool first, and 'upsize' buffer cache later. May
 be that would work, but that
 is not the intention of using this parameter. 
 
 PGA_AGRREGATE_TARGET is completely different from this parameter. It
 sets an instance-wide upper
 limit for the memory used by sorting, hashing processes. 
 
 Hope this helps.. 
 
 - Kirti 
  
 
 --- Mohammed Shakir [EMAIL PROTECTED] wrote:
  I am little confused about this issue to. I am working on Oracle
  9.2.0.3 on Solaris 9 (64 bits) platform. I did not set sga_max_size
  parameter and I see it set. I am not sure what it means and what
 kind
  of problem it will cause me. 
  
  I have pga_aggregate_target is set for 512MB and it seems it is not
  counted in this count. I know it is a separate space in the memory.
  Since this is a new system for me, I am little concerned that
 Oracle
  does not chock on me.
  
  --- Kirtikumar Deshpande [EMAIL PROTECTED] wrote:
   It does not work as advertised, in AIX either... I played with
 this
   in AIX 5L. 
   
   
   - Kirti 
   
   
   
 
 __
 Do you Yahoo!?
 Yahoo! SiteBuilder - Free, easy-to-use web site design software
 http://sitebuilder.yahoo.com
 -- 
 Please see the official ORACLE-L FAQ: http://www.orafaq.net
 -- 
 Author: Kirtikumar Deshpande
   INET: [EMAIL PROTECTED]
 
 Fat City Network Services-- 858-538-5051 http://www.fatcity.com
 San Diego, California-- Mailing list and web hosting services
 -
 To REMOVE yourself from this mailing list, send an E-Mail message
 to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
 the message BODY, include a line containing: UNSUB ORACLE-L
 (or the name of mailing list you want to be removed from).  You may
 also send the HELP command for other information (like subscribing).


=
Mohammed Shakir
CompuSoft, Inc.
11 Heather Way
East Brunswick, NJ 08816-2825
(732) 672-0464 (Cell)
(732) 257-6001 (Home)

__
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Mohammed Shakir
  INET: [EMAIL PROTECTED]

Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).


Re: 9i - Dynamic SGA - SGA_MAX_SIZE

2003-08-03 Thread Tanel Poder
Hi!

I think sbrk() (which calls brk()) can be executed with negative value to
reduce total heap size for a process?

Anyway, on windows, SGA_MAX_SIZE didn't affect allocation of virtual memory,
my SGA was 200M and max_size was set to 512M, still only 200M was allocated
at startup.

Tanel.

- Original Message -
To: Multiple recipients of list ORACLE-L [EMAIL PROTECTED]
Sent: Sunday, August 03, 2003 7:19 AM


 Kirti, problem is in the malloc mechanism. The subroutine to free the
memory
 doesn't return it to the OS, it returns it to the allocation pool
instead.
 As a consequence, when oracle does free, its address space is not going
to
 go down. You realize, of course, that malloc, calloc, realloc and free are
the
 only options, because of their portability. There are low level allocation
 routines like brk() to increase the address space, but unaware of any
routine
 to decrease the address space. Here is the manual page for the library
 subroutine called mallopt, which is mostly obsolete but still exists on
 HP-UX. The mechanism remained the same, but the control was taken away
from
 the users. Manual page does illustrate the mechanism, though.
 malloc(3C)
malloc(3C)





   NAME
malloc(), free(), realloc(), calloc(), mallopt(), mallinfo(),
memorymap() - main memory allocator

   SYNOPSIS
#include stdlib.h

void *malloc(size_t size);

void *calloc(size_t nelem, size_t elsize);

void *realloc(void *ptr, size_t size);

void free(void *ptr);

void memorymap(int show_stats);

   SYSTEM V SYNOPSIS
#include malloc.h

char *malloc(unsigned size);

void free(char *ptr);

char *realloc(char *ptr, unsigned size);

char *calloc(unsigned nelem, unsigned elsize);

int mallopt(int cmd, int value);

struct mallinfo mallinfo(void);

  Remarks
The functionality in the old malloc(3X) package has been
incorporated
into malloc(3C).  The library (/usr/lib/libmalloc.a) corresponding
to
the -lmalloc linker option is now an empty library.  Makefiles that
reference this library will continue to work.  Applications that
used
the malloc(3X) package should still work properly with the new
malloc(3C) package.  If the old versions must be used, they are
provided in files /usr/old/libmalloc3x.a and /usr/old/libmalloc3c.o
for Release 8.07 only.

   DESCRIPTION
The functions described in this manual entry provide a simple,
general-purpose memory allocation package:

 malloc()   allocates space for a block of at least size
bytes, but does not initialize the space.

 calloc()   allocates space for an array of nelem elements,
each of size elsize bytes, and initializes the



   Hewlett-Packard Company- 1 - HP-UX Release 9.0: August
1992






   malloc(3C)
malloc(3C)





space to zeros.

 realloc()  changes the size of the block pointed to by ptr
to
size bytes and returns a pointer to the
(possibly
moved) block.  Existing contents are unchanged
up
to the lesser of the new and old sizes.  If ptr
is
a NULL pointer, realloc() behaves like malloc()
for the specified size.  If size is zero and
ptr
is not a NULL pointer, the object it points to
is
freed and NULL is returned.

 free() deallocates the space pointed to by ptr (a
pointer
to a block previously allocated by malloc(),
realloc(), or calloc()) and makes the space
available for further allocation.  If ptr is a
NULL pointer, no action occurs.

 mallopt()  provides for control over the allocation
algorithm
and other options in the malloc(3C) package.
The
available values for cmd are:

 M_MXFAST   Set maxfast to value.  The
algorithm allocates all
blocks
below the size of maxfast
in
large groups, then doles
them
out very quickly.  The
default
value for maxfast is zero
(0).

 M_NLBLKS   Set numlblks to value.  The
above mentioned ``large
groups'' each contain
numlblks
blocks.  numlblks must be

Re: 9i - Dynamic SGA - SGA_MAX_SIZE

2003-08-03 Thread Kirtikumar Deshpande
Thanks, Mladen. That makes sense. 
One just needs to make sure (by testing) that the OS supports this feature. 

- Kirti

--- Mladen Gogala [EMAIL PROTECTED] wrote:
 Kirti, problem is in the malloc mechanism. The subroutine to free the memory
 doesn't return it to the OS, it returns it to the allocation pool instead.
 As a consequence, when oracle does free, its address space is not going to 
 go down. You realize, of course, that malloc, calloc, realloc and free are the 
 only options, because of their portability. There are low level allocation 
 routines like brk() to increase the address space, but unaware of any routine
 to decrease the address space. Here is the manual page for the library 
 subroutine called mallopt, which is mostly obsolete but still exists on
 HP-UX. The mechanism remained the same, but the control was taken away from 
 the users. Manual page does illustrate the mechanism, though.
 malloc(3C)   malloc(3C)
 
snip 

__
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Kirtikumar Deshpande
  INET: [EMAIL PROTECTED]

Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).


RE: 9i - Dynamic SGA - SGA_MAX_SIZE

2003-08-02 Thread Mohammed Shakir
I am little confused about this issue to. I am working on Oracle
9.2.0.3 on Solaris 9 (64 bits) platform. I did not set sga_max_size
parameter and I see it set. I am not sure what it means and what kind
of problem it will cause me. 

I have pga_aggregate_target is set for 512MB and it seems it is not
counted in this count. I know it is a separate space in the memory.
Since this is a new system for me, I am little concerned that Oracle
does not chock on me.

--- Kirtikumar Deshpande [EMAIL PROTECTED] wrote:
 It does not work as advertised, in AIX either... I played with this
 in AIX 5L. 
 
 
 - Kirti 
 
 
 --- Hately, Mike (LogicaCMG) [EMAIL PROTECTED] wrote:
  Stephen,
  
  The documentation is pretty wooly regarding this issue but the way
 it seems
  to be intended to work is this:
  At startup Oracle will allocate an SGA sized as specified in the
  sga_max_size parameter. This is to ensure that the system has
 enough memory
  accomodate what you see as a maximum requirement for the SGA.
  After it's allocated this and started the database it should
 deallocate any
  memory it holds over and above that required to store the
 components of the
  SGA. In some platforms/versions this deallocation doesn't occur.
 Solaris for
  example behaves like this unless you move to version 8. 
  It's possible that your version of Tru64 has a similar limitation
 or that
  you're seeing a bug. 
  To my mind though, Oracle Support's claim that this is expected
 behaviour is
  a bit of a cop out. This is certainly not the way it was supposed
 to work.
  The concept guide states the following:
  
  The SGA can grow in response to a database administrator
 statement, up to
  an operating system specified maximum and the SGA_MAX_SIZE
 specification.
  
  and 
  
  Oracle can start instances underconfigured and allow the instance
 to use
  more memory by growing the SGA components, up to a maximum of
 SGA_MAX_SIZE
  
  Both of these statements imply that the unused memory is supposed
 to be
  released back to the operating system.
  The way that this feature operates on your system it allows you to
 juggle
  storage backwards and forwards between caches which is still useful
 but not
  'what it says on the box'.
  
  I'd ask Oracle under what cirtcumstances this is normal behaviour.
 It's not
  the way the software is intended to work so maybe it's a platform
  limitation. 
  
  In order to give you a better idea of what Oracle thinks it's SGA
 is using
  you can query the following views :
  
   - V$SGA_CURRENT_RESIZE_OPS: 
 Information about SGA resize operations that are currently in
 progress. 
 An operation can be a grow or a shrink of a dynamic SGA
 component.
   
   - V$SGA_RESIZE_OPS: 
 Information about the last 100 completed SGA resize operations. 
 This does not include any operations currently in progress. 
  
   - V$SGA_DYNAMIC_COMPONENTS: Information about the dynamic
 components in
  SGA. 
 This view summarizes information based on all completed SGA
 resize
  operations since startup. 
  
   - V$SGA_DYNAMIC_FREE_MEMORY: 
 Information about the amount of SGA memory available for future
 dynamic
  SGA resize operations. 
  
  
  Hope this helps,
  Mike Hately
  
  
 
 __
 Do you Yahoo!?
 Yahoo! SiteBuilder - Free, easy-to-use web site design software
 http://sitebuilder.yahoo.com
 -- 
 Please see the official ORACLE-L FAQ: http://www.orafaq.net
 -- 
 Author: Kirtikumar Deshpande
   INET: [EMAIL PROTECTED]
 
 Fat City Network Services-- 858-538-5051 http://www.fatcity.com
 San Diego, California-- Mailing list and web hosting services
 -
 To REMOVE yourself from this mailing list, send an E-Mail message
 to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
 the message BODY, include a line containing: UNSUB ORACLE-L
 (or the name of mailing list you want to be removed from).  You may
 also send the HELP command for other information (like subscribing).


=
Mohammed Shakir
CompuSoft, Inc.
11 Heather Way
East Brunswick, NJ 08816-2825
(732) 672-0464 (Cell)
(732) 257-6001 (Home)

__
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Mohammed Shakir
  INET: [EMAIL PROTECTED]

Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).


RE: 9i - Dynamic SGA - SGA_MAX_SIZE

2003-08-02 Thread Kirtikumar Deshpande
SGA_MAX_SIZE was introduced in 9i to allow dynamic sizing of SGA (Dynamic Sizing 
feature)
components such as, shared pool, large pool, buffer cache etc. In versions up to 8i, 
such changes
required bouncing the instance. 
This parameter assumes the value of the SGA at instance startup. Various components of 
the SGA can
then be increased/reduced as and when needed. The total SGA, thus, can reach a maximum 
value set
by SGA_MAX_SIZE (if set in the init.ora file). That's the idea. However, the 
implementation is
different on various platforms. With ISM, and DISM, on Solaris, there are other issues 
when it
comes to using Dynamic SGA. You may want to search Metalink for specific 
notes/articles for
Solaris. 
On AIX 5L as I found out, Oracle uses SGA_MAX_SIZE, if set in init.ora, at the 
instanace startup,
and allocates the excess (difference in computed SGA value and set SGA_MAX_SIZE) to 
'variable
size'. Hence there is no room for any dynamic sizing (upward) of any SGA component. I 
did not try
to downsize shared pool first, and 'upsize' buffer cache later. May be that would 
work, but that
is not the intention of using this parameter. 

PGA_AGRREGATE_TARGET is completely different from this parameter. It sets an 
instance-wide upper
limit for the memory used by sorting, hashing processes. 

Hope this helps.. 

- Kirti 
 

--- Mohammed Shakir [EMAIL PROTECTED] wrote:
 I am little confused about this issue to. I am working on Oracle
 9.2.0.3 on Solaris 9 (64 bits) platform. I did not set sga_max_size
 parameter and I see it set. I am not sure what it means and what kind
 of problem it will cause me. 
 
 I have pga_aggregate_target is set for 512MB and it seems it is not
 counted in this count. I know it is a separate space in the memory.
 Since this is a new system for me, I am little concerned that Oracle
 does not chock on me.
 
 --- Kirtikumar Deshpande [EMAIL PROTECTED] wrote:
  It does not work as advertised, in AIX either... I played with this
  in AIX 5L. 
  
  
  - Kirti 
  
  
  

__
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Kirtikumar Deshpande
  INET: [EMAIL PROTECTED]

Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).


Re: 9i - Dynamic SGA - SGA_MAX_SIZE

2003-08-02 Thread Mladen Gogala
Kirti, problem is in the malloc mechanism. The subroutine to free the memory
doesn't return it to the OS, it returns it to the allocation pool instead.
As a consequence, when oracle does free, its address space is not going to 
go down. You realize, of course, that malloc, calloc, realloc and free are the 
only options, because of their portability. There are low level allocation 
routines like brk() to increase the address space, but unaware of any routine
to decrease the address space. Here is the manual page for the library 
subroutine called mallopt, which is mostly obsolete but still exists on
HP-UX. The mechanism remained the same, but the control was taken away from 
the users. Manual page does illustrate the mechanism, though.
malloc(3C)   malloc(3C)





 NAME
  malloc(), free(), realloc(), calloc(), mallopt(), mallinfo(),
  memorymap() - main memory allocator
 SYNOPSIS
  #include stdlib.h
  void *malloc(size_t size);

  void *calloc(size_t nelem, size_t elsize);

  void *realloc(void *ptr, size_t size);

  void free(void *ptr);

  void memorymap(int show_stats);

 SYSTEM V SYNOPSIS
  #include malloc.h
  char *malloc(unsigned size);

  void free(char *ptr);

  char *realloc(char *ptr, unsigned size);

  char *calloc(unsigned nelem, unsigned elsize);

  int mallopt(int cmd, int value);

  struct mallinfo mallinfo(void);

Remarks
  The functionality in the old malloc(3X) package has been incorporated
  into malloc(3C).  The library (/usr/lib/libmalloc.a) corresponding to
  the -lmalloc linker option is now an empty library.  Makefiles that
  reference this library will continue to work.  Applications that used
  the malloc(3X) package should still work properly with the new
  malloc(3C) package.  If the old versions must be used, they are
  provided in files /usr/old/libmalloc3x.a and /usr/old/libmalloc3c.o
  for Release 8.07 only.
 DESCRIPTION
  The functions described in this manual entry provide a simple,
  general-purpose memory allocation package:
   malloc()   allocates space for a block of at least size
  bytes, but does not initialize the space.
   calloc()   allocates space for an array of nelem elements,
  each of size elsize bytes, and initializes the


 Hewlett-Packard Company- 1 - HP-UX Release 9.0: August 1992





 malloc(3C)   malloc(3C)





  space to zeros.

   realloc()  changes the size of the block pointed to by ptr to
  size bytes and returns a pointer to the (possibly
  moved) block.  Existing contents are unchanged up
  to the lesser of the new and old sizes.  If ptr is
  a NULL pointer, realloc() behaves like malloc()
  for the specified size.  If size is zero and ptr
  is not a NULL pointer, the object it points to is
  freed and NULL is returned.
   free() deallocates the space pointed to by ptr (a pointer
  to a block previously allocated by malloc(),
  realloc(), or calloc()) and makes the space
  available for further allocation.  If ptr is a
  NULL pointer, no action occurs.
   mallopt()  provides for control over the allocation algorithm
  and other options in the malloc(3C) package.  The
  available values for cmd are:
   M_MXFAST   Set maxfast to value.  The
  algorithm allocates all blocks
  below the size of maxfast in
  large groups, then doles them
  out very quickly.  The default
  value for maxfast is zero (0).
   M_NLBLKS   Set numlblks to value.  The
  above mentioned ``large
  groups'' each contain numlblks
  blocks.  numlblks must be
  greater than 1.  The default
  value for numlblks is 100.
   M_GRAINSet grain to value.  The sizes
  of all blocks smaller than
  maxfast are considered to be
  rounded up to the nearest
  

RE: 9i - Dynamic SGA - SGA_MAX_SIZE

2003-08-01 Thread Venu Gopal

Stephen,

That's the way it's meant to work.
This is how Oracle guarantees that you can grow upto the value of
SGA_MAX_SIZE. Look at the case below:

DAY 1: you have your sga_max set to 100m but you are currently using
only 50m of it.
DAY 2: you want to use all 100m and you try to increase the sga size,
but some other app has used rest of the physical memory and there is no
sufficient memory available, at this stage oracle has to error out
saying 'insufficient memory', but in reality it does not!!

In reality: On DAY 1, Oracle tries to occupy all 100m in the memory so
that it doesn't have any issues in future... this way you have 100m
reserved for oracle, use it whenever you want to use it.

Hope this helps you...

~Venu


-Original Message-
[EMAIL PROTECTED]
Sent: Friday, August 01, 2003 3:24 PM
To: Multiple recipients of list ORACLE-L



Hi,

does anybody have any experience with setting the SGA_MAX_SIZE in 9i.

I assumed the purpose of this parameter was that SGA would grow as
requested to that limit.

Example:
You could configure your SGA to be 80M
Set the SGA_MAX_SIZE to be 250M.

I would have expected oracle to acquire 80M of memory from the UNIX
machine.

In fact using ipcs you can see  that oracle will always acquire the
value
of SGA_MAX_SIZE.

It acquires the extra space in the Variable Size of the SGA
 

 

 

 

 

 Sga_max_size=75m.

 

 Show sga:

 Total System Global Area 77041728 bytes

 Fixed Size 733248 bytes

 Variable Size 41943040 bytes

 Database Buffers 33554432 bytes

 Redo Buffers 811008 bytes

 

 

 sga_max_size=110M and keep everything  else the same.

 

 show sga:

 Total System Global Area 114790680 bytes

 Fixed Size 733464 bytes

 Variable Size 79691776 bytes

 Database Buffers 33554432 bytes

 Redo Buffers 811008 bytes

 Database mounted.

 Database opened.

 

 




I have raised a lengthy call on Metalink and the consultants are
convinced
this is normal behaviour and what you would expect.

Do people agree with the metalink consultants?

Maybe my expectations were to high but I thought a dynamic sga would
mean I
could change the amount of memory acquired by the UNIX box.

All opinions welcome. I am on tru64 platform -  9.2.0.3.0

Thanks, Stephen



**
This email contains information which is confidential. It is for the 
exclusive use of the addressee. If you are not an addressee please 
contact us immediately on 01737 275500. Please note that any 
distribution, copying or use of this communication or its contents is 
prohibited.

This footnote also confirms that this email message and all associated
attachments have been swept by Network Associates VirusScan for the 
presence of computer viruses.
**

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: 
  INET: [EMAIL PROTECTED]

Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).


**Disclaimer

Information contained in this E-MAIL being proprietary to Wipro Limited is 
'privileged' and 'confidential' and intended for use only by the individual
 or entity to which it is addressed. You are notified that any use, copying 
or dissemination of the information contained in the E-MAIL in any manner 
whatsoever is strictly prohibited.

***
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Venu Gopal
  INET: [EMAIL PROTECTED]

Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).


Re: 9i - Dynamic SGA - SGA_MAX_SIZE

2003-08-01 Thread Tanel Poder
Hi!

You should check mem usage from OS instead. Using ipcs -m for example.

Tanel.

- Original Message -
To: Multiple recipients of list ORACLE-L [EMAIL PROTECTED]
Sent: Friday, August 01, 2003 12:54 PM




 Hi,

 does anybody have any experience with setting the SGA_MAX_SIZE in 9i.

 I assumed the purpose of this parameter was that SGA would grow as
 requested to that limit.

 Example:
 You could configure your SGA to be 80M
 Set the SGA_MAX_SIZE to be 250M.

 I would have expected oracle to acquire 80M of memory from the UNIX
 machine.

 In fact using ipcs you can see  that oracle will always acquire the value
 of SGA_MAX_SIZE.

 It acquires the extra space in the Variable Size of the SGA





  Sga_max_size=75m.

  Show sga:
  Total System Global Area 77041728 bytes
  Fixed Size 733248 bytes
  Variable Size 41943040 bytes
  Database Buffers 33554432 bytes
  Redo Buffers 811008 bytes


  sga_max_size=110M and keep everything  else the same.

  show sga:
  Total System Global Area 114790680 bytes
  Fixed Size 733464 bytes
  Variable Size 79691776 bytes
  Database Buffers 33554432 bytes
  Redo Buffers 811008 bytes
  Database mounted.
  Database opened.





 I have raised a lengthy call on Metalink and the consultants are convinced
 this is normal behaviour and what you would expect.

 Do people agree with the metalink consultants?

 Maybe my expectations were to high but I thought a dynamic sga would mean
I
 could change the amount of memory acquired by the UNIX box.

 All opinions welcome. I am on tru64 platform -  9.2.0.3.0

 Thanks, Stephen



 **
 This email contains information which is confidential. It is for the
 exclusive use of the addressee. If you are not an addressee please
 contact us immediately on 01737 275500. Please note that any
 distribution, copying or use of this communication or its contents is
 prohibited.

 This footnote also confirms that this email message and all associated
 attachments have been swept by Network Associates VirusScan for the
 presence of computer viruses.
 **

 --
 Please see the official ORACLE-L FAQ: http://www.orafaq.net
 --
 Author:
   INET: [EMAIL PROTECTED]

 Fat City Network Services-- 858-538-5051 http://www.fatcity.com
 San Diego, California-- Mailing list and web hosting services
 -
 To REMOVE yourself from this mailing list, send an E-Mail message
 to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
 the message BODY, include a line containing: UNSUB ORACLE-L
 (or the name of mailing list you want to be removed from).  You may
 also send the HELP command for other information (like subscribing).



-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Tanel Poder
  INET: [EMAIL PROTECTED]

Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).



Re: 9i - Dynamic SGA - SGA_MAX_SIZE

2003-08-01 Thread Stephen . HODGKINSON

Tanel,

I have done this.

ipcs -m would not give me the size of the memory acquired on my system so I
used ipcs -a

I have  also looked into the ps vax

Which gives more detail:

Currently this shows 199M reserved to the SGA

EM9I  /oracle/app/oracle/product/9.2.0/dbs  ps avx|head -1
   PID TTY  S   TIME   SL PAGEIN   VSZ  RSS %CPU %MEM
COMMAND
OEM9I  /oracle/app/oracle/product/9.2.0/dbs  ps avx|grep OEM9I
472016 ??   S0:00.252  3  199M 6.2M  0.0  0.4
ora_dbw0_OEM9I
481099 ??   I0:00.20   32  2  198M 5.2M  0.0  0.3
ora_d000_OEM9I
481163 ??   S0:00.292 33  196M 3.8M  0.0  0.2
ora_pmon_OEM9I
481141 ??   S0:00.182  8  196M 3.6M  0.0  0.2
ora_s000_OEM9I
480555 ??   S0:01.49   19125  195M 2.9M  0.0  0.2
ora_qmn0_OEM9I
481126 ??   I0:00.66  184 41  195M 2.9M  0.0  0.2
ora_smon_OEM9I
481159 ??   S0:00.253 34  199M 2.8M  0.0  0.2
ora_lgwr_OEM9I
480962 ??   S0:00.601  5  195M 2.7M  0.0  0.2
ora_cjq0_OEM9I
481151 ??   I0:00.20  748  2  195M 2.7M  0.0  0.2
ora_reco_OEM9I
481148 ??   S0:00.432  2  195M 2.5M  0.0  0.2
ora_ckpt_OEM9I
481909 pts/22   S  + 0:00.010  0 2.28M 232K  0.0  0.0 grep
OEM9I

I reduce the SGA_MAX_SIZE by 30M (keep all other parameters the same ) and
the memory acquired on the OS drops by 30M

481979 ??   S0:00.252  0  167M 6.4M  0.0  0.4
ora_dbw0_OEM9I
481988 ??   S0:00.19   19  0  166M 5.2M  0.0  0.3
ora_d000_OEM9I
482000 ??   S0:00.191  0  164M 3.8M  0.0  0.2
ora_pmon_OEM9I
482040 ??   S0:00.17   19  0  164M 3.6M  0.0  0.2
ora_s000_OEM9I
481976 ??   S0:00.667  0  163M 2.9M  0.3  0.2
ora_smon_OEM9I
482004 ??   S0:00.222  1  167M 2.8M  0.0  0.2
ora_lgwr_OEM9I
481946 ??   S0:00.202  0  163M 2.7M  0.1  0.2
ora_cjq0_OEM9I
482024 ??   S0:00.172  0  163M 2.5M  0.0  0.2
ora_ckpt_OEM9I
481998 ??   S0:00.16   17  0  163M 2.4M  0.0  0.2
ora_reco_OEM9I
482030 ??   S0:00.16   19  0  163M 2.4M  0.0  0.2
ora_qmn0_OEM9I

Oracle says this is what you would expect. It will grab the entire value of
SGA_MAX_SIZE.

This certainly seems to be correct I just think it is stupid.  Why grab the
memory from the os but never use it.


stephen.


[EMAIL PROTECTED]


   

Tanel Poder  

tanel.poder.00   To: Multiple recipients of list ORACLE-L 
[EMAIL PROTECTED]  
[EMAIL PROTECTED]cc:  

Sent by:  Subject: Re: 9i - Dynamic SGA - 
SGA_MAX_SIZE 
[EMAIL PROTECTED]  
  
ty.com 

   

   

01/08/03 12:19 

Please respond 

to ORACLE-L

   

   





Hi!

You should check mem usage from OS instead. Using ipcs -m for example.

Tanel.

- Original Message -
To: Multiple recipients of list ORACLE-L [EMAIL PROTECTED]
Sent: Friday, August 01, 2003 12:54 PM




 Hi,

 does anybody have any experience with setting the SGA_MAX_SIZE in 9i.

 I assumed the purpose of this parameter was that SGA would grow as
 requested to that limit

RE: 9i - Dynamic SGA - SGA_MAX_SIZE

2003-08-01 Thread Stephen . HODGKINSON

Venu,

this does help and this is what the guys on metalink said.

What I do not understand - what a waste.

If I have  to grab 100M initially on the OS side I may aswell use it.

In my metalink tar I quoted many references in the documentation:

E.G.





 In the Database Administration guide:  
 Chapter 2: 'The size of the SGA is dynamic, and can grow or shrink by  
 dynamically altering  these parameters.'   

 Now I would say grabing the SGA_MAX_SIZE for the entire uptime of the  
 database is not what I would call dynamic. 

 I can't see any growing or shrinking in SGA size.  






Stephen Hodgkinson
Oracle DBA
TotalFina Elf Gas  Power Ltd


Phone: 01737 27 5564
[EMAIL PROTECTED]


   
   
Venu Gopal   
   
[EMAIL PROTECTED]   To: Multiple recipients of list 
ORACLE-L [EMAIL PROTECTED]  
pro.com cc:   
   
Sent by: Subject: RE: 9i - Dynamic SGA - 
SGA_MAX_SIZE 
[EMAIL PROTECTED]  
  
ity.com
   
   
   
   
   
01/08/03 12:14 
   
Please respond 
   
to ORACLE-L
   
   
   
   
   





Stephen,

That's the way it's meant to work.
This is how Oracle guarantees that you can grow upto the value of
SGA_MAX_SIZE. Look at the case below:

DAY 1: you have your sga_max set to 100m but you are currently using
only 50m of it.
DAY 2: you want to use all 100m and you try to increase the sga size,
but some other app has used rest of the physical memory and there is no
sufficient memory available, at this stage oracle has to error out
saying 'insufficient memory', but in reality it does not!!

In reality: On DAY 1, Oracle tries to occupy all 100m in the memory so
that it doesn't have any issues in future... this way you have 100m
reserved for oracle, use it whenever you want to use it.

Hope this helps you...

~Venu


-Original Message-
[EMAIL PROTECTED]
Sent: Friday, August 01, 2003 3:24 PM
To: Multiple recipients of list ORACLE-L



Hi,

does anybody have any experience with setting the SGA_MAX_SIZE in 9i.

I assumed the purpose of this parameter was that SGA would grow as
requested to that limit.

Example:
You could configure your SGA to be 80M
Set the SGA_MAX_SIZE to be 250M.

I would have expected oracle to acquire 80M of memory from the UNIX
machine.

In fact using ipcs you can see  that oracle will always acquire the
value
of SGA_MAX_SIZE.

It acquires the extra space in the Variable Size of the SGA










 Sga_max_size=75m.



 Show sga:

 Total System Global Area 77041728 bytes

 Fixed Size 733248 bytes

RE: 9i - Dynamic SGA - SGA_MAX_SIZE

2003-08-01 Thread Hately, Mike (LogicaCMG)
Stephen,

The documentation is pretty wooly regarding this issue but the way it seems
to be intended to work is this:
At startup Oracle will allocate an SGA sized as specified in the
sga_max_size parameter. This is to ensure that the system has enough memory
accomodate what you see as a maximum requirement for the SGA.
After it's allocated this and started the database it should deallocate any
memory it holds over and above that required to store the components of the
SGA. In some platforms/versions this deallocation doesn't occur. Solaris for
example behaves like this unless you move to version 8. 
It's possible that your version of Tru64 has a similar limitation or that
you're seeing a bug. 
To my mind though, Oracle Support's claim that this is expected behaviour is
a bit of a cop out. This is certainly not the way it was supposed to work.
The concept guide states the following:

The SGA can grow in response to a database administrator statement, up to
an operating system specified maximum and the SGA_MAX_SIZE specification.

and 

Oracle can start instances underconfigured and allow the instance to use
more memory by growing the SGA components, up to a maximum of SGA_MAX_SIZE

Both of these statements imply that the unused memory is supposed to be
released back to the operating system.
The way that this feature operates on your system it allows you to juggle
storage backwards and forwards between caches which is still useful but not
'what it says on the box'.

I'd ask Oracle under what cirtcumstances this is normal behaviour. It's not
the way the software is intended to work so maybe it's a platform
limitation. 

In order to give you a better idea of what Oracle thinks it's SGA is using
you can query the following views :

 - V$SGA_CURRENT_RESIZE_OPS: 
   Information about SGA resize operations that are currently in progress. 
   An operation can be a grow or a shrink of a dynamic SGA component.
 
 - V$SGA_RESIZE_OPS: 
   Information about the last 100 completed SGA resize operations. 
   This does not include any operations currently in progress. 

 - V$SGA_DYNAMIC_COMPONENTS: Information about the dynamic components in
SGA. 
   This view summarizes information based on all completed SGA resize
operations since startup. 

 - V$SGA_DYNAMIC_FREE_MEMORY: 
   Information about the amount of SGA memory available for future dynamic
SGA resize operations. 


Hope this helps,
Mike Hately

-Original Message-
Sent: 01 August 2003 11:59
To: Multiple recipients of list ORACLE-L



Tanel,

I have done this.

ipcs -m would not give me the size of the memory acquired on my system so I
used ipcs -a

I have  also looked into the ps vax

Which gives more detail:

Currently this shows 199M reserved to the SGA

EM9I  /oracle/app/oracle/product/9.2.0/dbs  ps avx|head -1
   PID TTY  S   TIME   SL PAGEIN   VSZ  RSS %CPU %MEM
COMMAND
OEM9I  /oracle/app/oracle/product/9.2.0/dbs  ps avx|grep OEM9I
472016 ??   S0:00.252  3  199M 6.2M  0.0  0.4
ora_dbw0_OEM9I
481099 ??   I0:00.20   32  2  198M 5.2M  0.0  0.3
ora_d000_OEM9I
481163 ??   S0:00.292 33  196M 3.8M  0.0  0.2
ora_pmon_OEM9I
481141 ??   S0:00.182  8  196M 3.6M  0.0  0.2
ora_s000_OEM9I
480555 ??   S0:01.49   19125  195M 2.9M  0.0  0.2
ora_qmn0_OEM9I
481126 ??   I0:00.66  184 41  195M 2.9M  0.0  0.2
ora_smon_OEM9I
481159 ??   S0:00.253 34  199M 2.8M  0.0  0.2
ora_lgwr_OEM9I
480962 ??   S0:00.601  5  195M 2.7M  0.0  0.2
ora_cjq0_OEM9I
481151 ??   I0:00.20  748  2  195M 2.7M  0.0  0.2
ora_reco_OEM9I
481148 ??   S0:00.432  2  195M 2.5M  0.0  0.2
ora_ckpt_OEM9I
481909 pts/22   S  + 0:00.010  0 2.28M 232K  0.0  0.0 grep
OEM9I

I reduce the SGA_MAX_SIZE by 30M (keep all other parameters the same ) and
the memory acquired on the OS drops by 30M

481979 ??   S0:00.252  0  167M 6.4M  0.0  0.4
ora_dbw0_OEM9I
481988 ??   S0:00.19   19  0  166M 5.2M  0.0  0.3
ora_d000_OEM9I
482000 ??   S0:00.191  0  164M 3.8M  0.0  0.2
ora_pmon_OEM9I
482040 ??   S0:00.17   19  0  164M 3.6M  0.0  0.2
ora_s000_OEM9I
481976 ??   S0:00.667  0  163M 2.9M  0.3  0.2
ora_smon_OEM9I
482004 ??   S0:00.222  1  167M 2.8M  0.0  0.2
ora_lgwr_OEM9I
481946 ??   S0:00.202  0  163M 2.7M  0.1  0.2
ora_cjq0_OEM9I
482024 ??   S0:00.172  0  163M 2.5M  0.0  0.2
ora_ckpt_OEM9I
481998 ??   S0:00.16   17  0  163M 2.4M  0.0  0.2
ora_reco_OEM9I
482030 ??   S0:00.16   19  0  163M 2.4M  0.0  0.2
ora_qmn0_OEM9I

Oracle says this is what you would expect. It will grab the entire value of
SGA_MAX_SIZE.

This certainly seems to be correct I just think it 

Re: 9i - Dynamic SGA - SGA_MAX_SIZE

2003-08-01 Thread Tanel Poder
Hi!

 Oracle says this is what you would expect. It will grab the entire value
of
 SGA_MAX_SIZE.

 This certainly seems to be correct I just think it is stupid.  Why grab
the
 memory from the os but never use it.

Check from man pages of  ps, top or other utility, how to check how much of
the *physical* memory is actually used by Oracle. I'm no Unix memory
management expert, but I believe that if you use malloc() and for allocating
memory, no physical memory pages are grabbed before you actually access the
memory (note that calloc() does 'touch' every page, I believe) Only mapping
with virtual memory is done at first, that probably means only some slight
changes to kernels/CPUs paging or whatever memory mapping and translation
tables. So, Oracle probably 'allocates' the memory set with sga_max_size,
but uses only as much as needed or allowed. So, If you set sga_max_size to
2G but have defined SGA to be only 1G, then no more than 1G of physical
memory can ever be used by Oracle SGA. Only virtual memory (which means swap
space too) is 'wasted'.

You can try to experiment - write a small C program, which allocates 100M of
memory without 'touching' it, the amount of available physical memory should
remain (almost) the same and no paging should occur either.

With sga_max_size Oracle makes sure, that in some point of time it is
possible to allocate that much of virtual memory to Oracle and nothing is
really wasted (ok, a bit of swap space is wasted, but who cares about few
gigabytes novadays))

Tanel.


-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Tanel Poder
  INET: [EMAIL PROTECTED]

Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).


RE: 9i - Dynamic SGA - SGA_MAX_SIZE

2003-08-01 Thread Kirtikumar Deshpande
It does not work as advertised, in AIX either... I played with this in AIX 5L. 


- Kirti 


--- Hately, Mike (LogicaCMG) [EMAIL PROTECTED] wrote:
 Stephen,
 
 The documentation is pretty wooly regarding this issue but the way it seems
 to be intended to work is this:
 At startup Oracle will allocate an SGA sized as specified in the
 sga_max_size parameter. This is to ensure that the system has enough memory
 accomodate what you see as a maximum requirement for the SGA.
 After it's allocated this and started the database it should deallocate any
 memory it holds over and above that required to store the components of the
 SGA. In some platforms/versions this deallocation doesn't occur. Solaris for
 example behaves like this unless you move to version 8. 
 It's possible that your version of Tru64 has a similar limitation or that
 you're seeing a bug. 
 To my mind though, Oracle Support's claim that this is expected behaviour is
 a bit of a cop out. This is certainly not the way it was supposed to work.
 The concept guide states the following:
 
 The SGA can grow in response to a database administrator statement, up to
 an operating system specified maximum and the SGA_MAX_SIZE specification.
 
 and 
 
 Oracle can start instances underconfigured and allow the instance to use
 more memory by growing the SGA components, up to a maximum of SGA_MAX_SIZE
 
 Both of these statements imply that the unused memory is supposed to be
 released back to the operating system.
 The way that this feature operates on your system it allows you to juggle
 storage backwards and forwards between caches which is still useful but not
 'what it says on the box'.
 
 I'd ask Oracle under what cirtcumstances this is normal behaviour. It's not
 the way the software is intended to work so maybe it's a platform
 limitation. 
 
 In order to give you a better idea of what Oracle thinks it's SGA is using
 you can query the following views :
 
  - V$SGA_CURRENT_RESIZE_OPS: 
Information about SGA resize operations that are currently in progress. 
An operation can be a grow or a shrink of a dynamic SGA component.
  
  - V$SGA_RESIZE_OPS: 
Information about the last 100 completed SGA resize operations. 
This does not include any operations currently in progress. 
 
  - V$SGA_DYNAMIC_COMPONENTS: Information about the dynamic components in
 SGA. 
This view summarizes information based on all completed SGA resize
 operations since startup. 
 
  - V$SGA_DYNAMIC_FREE_MEMORY: 
Information about the amount of SGA memory available for future dynamic
 SGA resize operations. 
 
 
 Hope this helps,
 Mike Hately
 
 

__
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Kirtikumar Deshpande
  INET: [EMAIL PROTECTED]

Fat City Network Services-- 858-538-5051 http://www.fatcity.com
San Diego, California-- Mailing list and web hosting services
-
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).