Top level heaps/subheaps
Hi, I am getting little confussion how the memory is allocated for top-level heaps and subheaps in shared pool. How can we know what are all the top-level heaps and subheaps and their hierarchy. Is it possible to get it from any X$ tables. Freeable chunks can be flushed out?If yes ,then why there should be another type asrecreatable chunks? Please explain. Thanks in advance Syed
RE: Top level heaps/subheaps
Title: Message To quote Steve's book, aka "The Bible": freeabl: Freeable chunks contain objects that are normally needed for the duration of a session or call, and are freed thereafter. However, they can sometimes be freed earlier, either in whole or in part. Freeable chunks are not available for temporary removal from memory, because they are not recreatable. If you don't have this book, go now, to the bookstore and buy it. Then read it about 100 times, after which, if you're *really* bright, maybe 20% of it will have sunk in, at which point you'll know more than you'll ever need about Oracle internals. ;-) (Personally, I'm probably pushing 15% or so;-)) -Mark PS If you're not familiar with the book I refer to, it's "Oracle Internal Services for waits, latches, locks, and memory" by Steve Adams, published by O'Reilly. Seriously, if you really want to know this stuff, get that book. Mark J. Bobak Oracle DBA ProQuest Company Ann Arbor, MI "Imagination was given to man to compensate him for what he is not, and a sense of humor was provided to console him for what he is." --Unknown -Original Message-From: Sultan Syed [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 06, 2004 8:49 AMTo: Multiple recipients of list ORACLE-LSubject: Top level heaps/subheaps Hi, I am getting little confussion how the memory is allocated for top-level heaps and subheaps in shared pool. How can we know what are all the top-level heaps and subheaps and their hierarchy. Is it possible to get it from any X$ tables. Freeable chunks can be flushed out?If yes ,then why there should be another type asrecreatable chunks? Please explain. Thanks in advance Syed
RE: Top level heaps/subheaps
Title: Message However, give serious thought to reading Jonathon Lewis' book Practical Oracle 8i prior to the Adams book unless you understand virtually everything in Jonathon's book. Steve's book is excellent but verbosity is not one of his problems. Allan -Original Message-From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Bobak, MarkSent: Tuesday, January 06, 2004 8:10 AMTo: Multiple recipients of list ORACLE-LSubject: RE: Top level heaps/subheaps To quote Steve's book, aka "The Bible": freeabl: Freeable chunks contain objects that are normally needed for the duration of a session or call, and are freed thereafter. However, they can sometimes be freed earlier, either in whole or in part. Freeable chunks are not available for temporary removal from memory, because they are not recreatable. If you don't have this book, go now, to the bookstore and buy it. Then read it about 100 times, after which, if you're *really* bright, maybe 20% of it will have sunk in, at which point you'll know more than you'll ever need about Oracle internals. ;-) (Personally, I'm probably pushing 15% or so;-)) -Mark PS If you're not familiar with the book I refer to, it's "Oracle Internal Services for waits, latches, locks, and memory" by Steve Adams, published by O'Reilly. Seriously, if you really want to know this stuff, get that book. Mark J. Bobak Oracle DBA ProQuest Company Ann Arbor, MI "Imagination was given to man to compensate him for what he is not, and a sense of humor was provided to console him for what he is." --Unknown -Original Message-From: Sultan Syed [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 06, 2004 8:49 AMTo: Multiple recipients of list ORACLE-LSubject: Top level heaps/subheaps Hi, I am getting little confussion how the memory is allocated for top-level heaps and subheaps in shared pool. How can we know what are all the top-level heaps and subheaps and their hierarchy. Is it possible to get it from any X$ tables. Freeable chunks can be flushed out?If yes ,then why there should be another type asrecreatable chunks? Please explain. Thanks in advance Syed __ This email is intended solely for the person or entity to which it is addressed and may contain confidential and/or privileged information. Copying, forwarding or distributing this message by persons or entities other than the addressee is prohibited. If you have received this email in error, please contact the sender immediately and delete the material from any computer. This email may have been monitored for policy compliance. [021216]
RE: Top level heaps/subheaps
Title: Message I won't argue that, Allan. The guy writes two sentences, and it takes a week for the full implications of what he said to sink in. Jonathan's book is excellent as well. They are both at the top of my reference list, as well as my recommended list. Mark J. Bobak Oracle DBA ProQuest Company Ann Arbor, MI "Imagination was given to man to compensate him for what he is not, and a sense of humor was provided to console him for what he is." --Unknown -Original Message-From: Nelson, Allan [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 06, 2004 9:44 AMTo: Multiple recipients of list ORACLE-LSubject: RE: Top level heaps/subheaps However, give serious thought to reading Jonathon Lewis' book Practical Oracle 8i prior to the Adams book unless you understand virtually everything in Jonathon's book. Steve's book is excellent but verbosity is not one of his problems. Allan -Original Message-From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Bobak, MarkSent: Tuesday, January 06, 2004 8:10 AMTo: Multiple recipients of list ORACLE-LSubject: RE: Top level heaps/subheaps To quote Steve's book, aka "The Bible": freeabl: Freeable chunks contain objects that are normally needed for the duration of a session or call, and are freed thereafter. However, they can sometimes be freed earlier, either in whole or in part. Freeable chunks are not available for temporary removal from memory, because they are not recreatable. If you don't have this book, go now, to the bookstore and buy it. Then read it about 100 times, after which, if you're *really* bright, maybe 20% of it will have sunk in, at which point you'll know more than you'll ever need about Oracle internals. ;-) (Personally, I'm probably pushing 15% or so;-)) -Mark PS If you're not familiar with the book I refer to, it's "Oracle Internal Services for waits, latches, locks, and memory" by Steve Adams, published by O'Reilly. Seriously, if you really want to know this stuff, get that book. Mark J. Bobak Oracle DBA ProQuest Company Ann Arbor, MI "Imagination was given to man to compensate him for what he is not, and a sense of humor was provided to console him for what he is." --Unknown -Original Message-From: Sultan Syed [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 06, 2004 8:49 AMTo: Multiple recipients of list ORACLE-LSubject: Top level heaps/subheaps Hi, I am getting little confussion how the memory is allocated for top-level heaps and subheaps in shared pool. How can we know what are all the top-level heaps and subheaps and their hierarchy. Is it possible to get it from any X$ tables. Freeable chunks can be flushed out?If yes ,then why there should be another type asrecreatable chunks? Please explain. Thanks in advance Syed __This email is intended solely for the person or entity to which it is addressed and may contain confidential and/or privileged information. Copying, forwarding or distributing this message by persons or entities other than the addressee is prohibited. If you have received this email in error, please contact the sender immediately and delete the material from any computer. This email may have been monitored for policy compliance. [021216]
Re: (long) Top level heaps/subheaps
Well, a heap is just a bunch of memory (allocated incontiguous extents) and you can practically allocate any size of chunk of memory from it (with some restrictions). A regular heap has freelist and LRU list mechanismsfor managing space init as well as memory allocation/releasing routines which you can then call. Oracle uses its generic heap manager code (KGH) for managing it's memory.Once you allocate a chunk from heap it's up to the allocator what he does with it. It can just use it for some kind of static data, but can also create another heap in these chunks it allocated, this heap may use different heap manager code for managing its memory if needed (for example shared pool reserved area and large pool behave a little differently, they don't have LRU list mechanisms). If you take any heapdump using alter session set events 'immediate trace name heapdump level x' ; then top level heaps show parent= in their descriptors. Note that this "top call heap" has allocatedchunks for heap with descriptor address 06B51DB0 (callheap) and also you see that "callheap" has a parent heap with descriptoraddress06B52790. HEAP DUMP heap name="top call heap" desc=06B52790extent sz=0x213c alt=92 het=32767 rec=0 flg=2 opc=2parent= owner= nex= xsz=0xfffcEXTENT 0 addr=071D0004 Chunk 71d000c sz= 112 perm "perm " alo=112 Chunk 71d007c sz= 65412 free " "EXTENT 1 addr=07170004 Chunk 717000c sz= 232 perm "perm " alo=232 Chunk 71700f4 sz= 60724 free " " Chunk 717ee28 sz= 1352 freeable "callheap " ds=06B51DB0 Chunk 717f370 sz= 1072 freeable "callheap " ds=06B51DB0 Chunk 717f7a0 sz= 1072 recreate "callheap " latch= ds 6b51db0 sz= 3496 ct= 3 [snipped] HEAP DUMP heap name="callheap" desc=06B51DB0extent sz=0x424 alt=32767 het=32767 rec=0 flg=2 opc=3parent=06B52790 owner= nex= xsz=0x53cEXTENT 0 addr=0717EE34 Chunk 717ee3c sz= 1332 freeable "qkkele "EXTENT 1 addr=0717F37C Chunk 717f384 sz= 572 perm "perm " alo=388 Chunk 717f5c0 sz= 444 free " " Chunk 717f77c sz= 36 freeable "qkkkey "EXTENT 2 addr=0717F7BC Chunk 717f7c4 sz= 28 perm "perm " alo=28 Chunk 717f7e0 sz= 956 free " " Chunk 717fb9c sz= 52 freeable "event string "Total heap size = 3420FREE LISTS:Bucket 0 size=76Bucket 1 size=268 Chunk 717f7e0 sz= 956 free " " Chunk 717f5c0 sz= 444 free " "Bucket 2 size=1036Total free space = 1400UNPINNED RECREATABLE CHUNKS (lru first):PERMANENT CHUNKS: Chunk 717f384 sz= 572 perm "perm " alo=388 Chunk 717f7c4 sz= 28 perm "perm " alo=28Permanent space = 600**If making these "full" heapdumps puts too much strain on your system, then it might be easier to use event HEAPDUMP_ADDR which allows to dump heaps only with specified descriptor address. There are other options as well, such is X$KSMHP table to query any heap (which is,blah, highly unsupported)or attaching directly to SGA shared memory segment and reading from there. Sorry fortoo long post, I'm currently too lazy to do anything useful... Tanel.- Original Message - From: Sultan Syed To: Multiple recipients of list ORACLE-L Sent: Tuesday, January 06, 2004 3:49 PMSubject: Top level heaps/subheapsHi,I am getting little confussion how the memory is allocated for top-level heaps and subheaps in shared pool.How can we know what are all the top-level heaps and subheaps and their hierarchy.Is it possible to get it from any X$ tables.Freeable chunks can be flushed out?If yes ,then why there should be another type as recreatable chunks?Please explain.Thanks in advanceSyed
RE: (long) Top level heaps/subheaps
Title: Message Hi all, Why would anybody care about all these heap stuff? How does it help performance Thanks. Abraham Guerra -Original Message-From: Tanel Poder [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 06, 2004 10:04 AMTo: Multiple recipients of list ORACLE-LSubject: Re: (long) Top level heaps/subheaps Well, a heap is just a bunch of memory (allocated incontiguous extents) and you can practically allocate any size of chunk of memory from it (with some restrictions). A regular heap has freelist and LRU list mechanismsfor managing space init as well as memory allocation/releasing routines which you can then call. Oracle uses its generic heap manager code (KGH) for managing it's memory.Once you allocate a chunk from heap it's up to the allocator what he does with it. It can just use it for some kind of static data, but can also create another heap in these chunks it allocated, this heap may use different heap manager code for managing its memory if needed (for example shared pool reserved area and large pool behave a little differently, they don't have LRU list mechanisms). If you take any heapdump using alter session set events 'immediate trace name heapdump level x' ; then top level heaps show parent= in their descriptors. Note that this "top call heap" has allocatedchunks for heap with descriptor address 06B51DB0 (callheap) and also you see that "callheap" has a parent heap with descriptoraddress06B52790. HEAP DUMP heap name="top call heap" desc=06B52790extent sz=0x213c alt=92 het=32767 rec=0 flg=2 opc=2parent= owner= nex= xsz=0xfffcEXTENT 0 addr=071D0004 Chunk 71d000c sz= 112 perm "perm " alo=112 Chunk 71d007c sz= 65412 free " "EXTENT 1 addr=07170004 Chunk 717000c sz= 232 perm "perm " alo=232 Chunk 71700f4 sz= 60724 free " " Chunk 717ee28 sz= 1352 freeable "callheap " ds=06B51DB0 Chunk 717f370 sz= 1072 freeable "callheap " ds=06B51DB0 Chunk 717f7a0 sz= 1072 recreate "callheap " latch= ds 6b51db0 sz= 3496 ct= 3 [snipped] HEAP DUMP heap name="callheap" desc=06B51DB0extent sz=0x424 alt=32767 het=32767 rec=0 flg=2 opc=3parent=06B52790 owner= nex= xsz=0x53cEXTENT 0 addr=0717EE34 Chunk 717ee3c sz= 1332 freeable "qkkele "EXTENT 1 addr=0717F37C Chunk 717f384 sz= 572 perm "perm " alo=388 Chunk 717f5c0 sz= 444 free " " Chunk 717f77c sz= 36 freeable "qkkkey "EXTENT 2 addr=0717F7BC Chunk 717f7c4 sz= 28 perm "perm " alo=28 Chunk 717f7e0 sz= 956 free " " Chunk 717fb9c sz= 52 freeable "event string "Total heap size = 3420FREE LISTS:Bucket 0 size=76Bucket 1 size=268 Chunk 717f7e0 sz= 956 free " " Chunk 717f5c0 sz= 444 free " "Bucket 2 size=1036Total free space = 1400UNPINNED RECREATABLE CHUNKS (lru first):PERMANENT CHUNKS: Chunk 717f384 sz= 572 perm "perm " alo=388 Chunk 717f7c4 sz= 28 perm "perm " alo=28Permanent space = 600**If making these "full" heapdumps puts too much strain on your system, then it might be easier to use event HEAPDUMP_ADDR which allows to dump heaps only with specified descriptor address. There are other options as well, such is X$KSMHP table to query any heap (which is,blah, highly unsupported)or attaching directly to SGA shared memory segment and reading from there. Sorry fortoo long post, I'm currently too lazy to do anything useful... Tanel.- Original Message - From: Sultan Syed To: Multiple recipients of list ORACLE-L Sent: Tuesday, January 06, 2004 3:49 PMSubject: Top level heaps/subheapsHi,I am getting little confussion how the memory is allocated for top-level heaps and subheaps in shared pool.How can we know what are all the top-level heaps and subheaps and their hierarchy.Is it possible to get it from any X$ tables.Freeable chunks can be flushed out?If yes ,then why there should be another type as recreatable chunks?Please explain.Thanks in advanceSyed
Re: Top level heaps/subheaps
[EMAIL PROTECTED] writes I won't argue that, Allan. The guy writes two sentences, and it takes a week for the full implications of what he said to sink in. Jonathan's book is excellent as well. They are both at the top of my reference list, as well as my recommended list. Hi, You should read James and cary's books as well and Tom's books kind regards Pete -- Pete Finnigan email:[EMAIL PROTECTED] Web site: http://www.petefinnigan.com - Oracle security audit specialists Book:Oracle security step-by-step Guide - see http://store.sans.org for details. -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Pete Finnigan 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: (long) Top level heaps/subheaps
* to satisfy curiosity * to have a better understanding of how Oracle works Most DBA's probably don't need to know this stuff. Most performance problems will not likely require you to know any of this. If you spend a lot of time solving other people's 'unsolvable' Oracle performance problems, as Steve Adams, Jonathan Lewis, Cary, Millsap, Gary Goodman, Wolgang Breitling ( Hope I spelled his name correctly this time), or many other consultant types on this list then this kind of thing will be very useful to you. Ditto if you have a large number of instances to deal with, and run into tricky tuning problems. Jared On Tue, 2004-01-06 at 08:24, Guerra, Abraham J wrote: Hi all, Why would anybody care about all these heap stuff? How does it help performance Thanks. Abraham Guerra -Original Message- Sent: Tuesday, January 06, 2004 10:04 AM To: Multiple recipients of list ORACLE-L Well, a heap is just a bunch of memory (allocated in contiguous extents) and you can practically allocate any size of chunk of memory from it (with some restrictions). A regular heap has freelist and LRU list mechanisms for managing space in it as well as memory allocation/releasing routines which you can then call. Oracle uses its generic heap manager code (KGH) for managing it's memory. Once you allocate a chunk from heap it's up to the allocator what he does with it. It can just use it for some kind of static data, but can also create another heap in these chunks it allocated, this heap may use different heap manager code for managing its memory if needed (for example shared pool reserved area and large pool behave a little differently, they don't have LRU list mechanisms). If you take any heapdump using alter session set events 'immediate trace name heapdump level x' ; then top level heaps show parent= in their descriptors. Note that this top call heap has allocated chunks for heap with descriptor address 06B51DB0 (callheap) and also you see that callheap has a parent heap with descriptor address 06B52790. HEAP DUMP heap name=top call heap desc=06B52790 extent sz=0x213c alt=92 het=32767 rec=0 flg=2 opc=2 parent= owner= nex= xsz=0xfffc EXTENT 0 addr=071D0004 Chunk 71d000c sz= 112perm perm alo=112 Chunk 71d007c sz=65412free EXTENT 1 addr=07170004 Chunk 717000c sz= 232perm perm alo=232 Chunk 71700f4 sz=60724free Chunk 717ee28 sz= 1352freeable callheap ds=06B51DB0 Chunk 717f370 sz= 1072freeable callheap ds=06B51DB0 Chunk 717f7a0 sz= 1072recreate callheap latch= ds 6b51db0 sz= 3496 ct=3 [snipped] HEAP DUMP heap name=callheap desc=06B51DB0 extent sz=0x424 alt=32767 het=32767 rec=0 flg=2 opc=3 parent=06B52790 owner= nex= xsz=0x53c EXTENT 0 addr=0717EE34 Chunk 717ee3c sz= 1332freeable qkkele EXTENT 1 addr=0717F37C Chunk 717f384 sz= 572perm perm alo=388 Chunk 717f5c0 sz= 444free Chunk 717f77c sz= 36freeable qkkkey EXTENT 2 addr=0717F7BC Chunk 717f7c4 sz= 28perm perm alo=28 Chunk 717f7e0 sz= 956free Chunk 717fb9c sz= 52freeable event string Total heap size= 3420 FREE LISTS: Bucket 0 size=76 Bucket 1 size=268 Chunk 717f7e0 sz= 956free Chunk 717f5c0 sz= 444free Bucket 2 size=1036 Total free space = 1400 UNPINNED RECREATABLE CHUNKS (lru first): PERMANENT CHUNKS: Chunk 717f384 sz= 572perm perm alo=388 Chunk 717f7c4 sz= 28perm perm alo=28 Permanent space= 600 ** If making these full heapdumps puts too much strain on your system, then it might be easier to use event HEAPDUMP_ADDR which allows to dump heaps only with specified descriptor address. There are other options as well, such is X$KSMHP table to query any heap (which is, blah, highly unsupported) or attaching directly to SGA shared memory segment and reading from there. Sorry for too long post, I'm currently too lazy to do anything useful... Tanel. - Original Message - To: Multiple recipients of list ORACLE-L Sent: Tuesday, January 06, 2004 3:49 PM Hi, I am getting little confussion how the memory is allocated for top-level heaps and subheaps in shared pool. How can we know what are all the top-level heaps and subheaps and their hierarchy. Is it possible to get it from any X$ tables. Freeable chunks can be flushed out?If yes ,then why there should be another type as recreatable chunks? Please
Re: (long) Top level heaps/subheaps
The name is Breitling. Wolfgang Breitling. Not to be confused with Bond. James Bond. On 2004.01.06 12:34, Jared Still wrote: * to satisfy curiosity * to have a better understanding of how Oracle works Most DBA's probably don't need to know this stuff. Most performance problems will not likely require you to know any of this. If you spend a lot of time solving other people's 'unsolvable' Oracle performance problems, as Steve Adams, Jonathan Lewis, Cary, Millsap, Gary Goodman, Wolgang Breitling ( Hope I spelled his name correctly this time), or many other consultant types on this list then this kind of thing will be very useful to you. Ditto if you have a large number of instances to deal with, and run into tricky tuning problems. Jared On Tue, 2004-01-06 at 08:24, Guerra, Abraham J wrote: Hi all, Why would anybody care about all these heap stuff? How does it help performance Thanks. Abraham Guerra -Original Message- Sent: Tuesday, January 06, 2004 10:04 AM To: Multiple recipients of list ORACLE-L Well, a heap is just a bunch of memory (allocated in contiguous extents) and you can practically allocate any size of chunk of memory from it (with some restrictions). A regular heap has freelist and LRU list mechanisms for managing space in it as well as memory allocation/releasing routines which you can then call. Oracle uses its generic heap manager code (KGH) for managing it's memory. Once you allocate a chunk from heap it's up to the allocator what he does with it. It can just use it for some kind of static data, but can also create another heap in these chunks it allocated, this heap may use different heap manager code for managing its memory if needed (for example shared pool reserved area and large pool behave a little differently, they don't have LRU list mechanisms). If you take any heapdump using alter session set events 'immediate trace name heapdump level x' ; then top level heaps show parent= in their descriptors. Note that this top call heap has allocated chunks for heap with descriptor address 06B51DB0 (callheap) and also you see that callheap has a parent heap with descriptor address 06B52790. HEAP DUMP heap name=top call heap desc=06B52790 extent sz=0x213c alt=92 het=32767 rec=0 flg=2 opc=2 parent= owner= nex= xsz=0xfffc EXTENT 0 addr=071D0004 Chunk 71d000c sz= 112perm perm alo=112 Chunk 71d007c sz=65412free EXTENT 1 addr=07170004 Chunk 717000c sz= 232perm perm alo=232 Chunk 71700f4 sz=60724free Chunk 717ee28 sz= 1352freeable callheap ds=06B51DB0 Chunk 717f370 sz= 1072freeable callheap ds=06B51DB0 Chunk 717f7a0 sz= 1072recreate callheap latch= ds 6b51db0 sz= 3496 ct=3 [snipped] HEAP DUMP heap name=callheap desc=06B51DB0 extent sz=0x424 alt=32767 het=32767 rec=0 flg=2 opc=3 parent=06B52790 owner= nex= xsz=0x53c EXTENT 0 addr=0717EE34 Chunk 717ee3c sz= 1332freeable qkkele EXTENT 1 addr=0717F37C Chunk 717f384 sz= 572perm perm alo=388 Chunk 717f5c0 sz= 444free Chunk 717f77c sz= 36freeable qkkkey EXTENT 2 addr=0717F7BC Chunk 717f7c4 sz= 28perm perm alo=28 Chunk 717f7e0 sz= 956free Chunk 717fb9c sz= 52freeable event string Total heap size= 3420 FREE LISTS: Bucket 0 size=76 Bucket 1 size=268 Chunk 717f7e0 sz= 956free Chunk 717f5c0 sz= 444free Bucket 2 size=1036 Total free space = 1400 UNPINNED RECREATABLE CHUNKS (lru first): PERMANENT CHUNKS: Chunk 717f384 sz= 572perm perm alo=388 Chunk 717f7c4 sz= 28perm perm alo=28 Permanent space= 600 ** If making these full heapdumps puts too much strain on your system, then it might be easier to use event HEAPDUMP_ADDR which allows to dump heaps only with specified descriptor address. There are other options as well, such is X$KSMHP table to query any heap (which is, blah, highly unsupported) or attaching directly to SGA shared memory segment and reading from there. Sorry for too long post, I'm currently too lazy to do anything useful... Tanel. - Original Message - To: Multiple recipients of list ORACLE-L Sent: Tuesday, January 06, 2004 3:49 PM Hi, I am getting little confussion how the memory is allocated for top-level heaps and subheaps in shared pool. How
Re: Top level heaps/subheaps
As well as Arthur's books and Douglas's books. Some of the Robert's, too. Personally, I'd recommend Stranger In The Strange Land. On 2004.01.06 12:04, Pete Finnigan wrote: [EMAIL PROTECTED] writes I won't argue that, Allan. The guy writes two sentences, and it takes a week for the full implications of what he said to sink in. Jonathan's book is excellent as well. They are both at the top of my reference list, as well as my recommended list. Hi, You should read James and cary's books as well and Tom's books kind regards Pete -- Pete Finnigan email:[EMAIL PROTECTED] Web site: http://www.petefinnigan.com - Oracle security audit specialists Book:Oracle security step-by-step Guide - see http://store.sans.org for details. -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Pete Finnigan 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). -- Mladen Gogala Oracle DBA -- 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 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: Top level heaps/subheaps
You missed out Terry: quote Oh, it's largely intuitive, Archchancellor. Obviously you have to spend a lot of time learning it first, though. end quote Regards Jonathan Lewis http://www.jlcomp.demon.co.uk The educated person is not the person who can answer the questions, but the person who can question the answers -- T. Schick Jr One-day tutorials: http://www.jlcomp.demon.co.uk/tutorial.html Three-day seminar: see http://www.jlcomp.demon.co.uk/seminar.html UK___November The Co-operative Oracle Users' FAQ http://www.jlcomp.demon.co.uk/faq/ind_faq.html - Original Message - To: Multiple recipients of list ORACLE-L [EMAIL PROTECTED] Sent: Tuesday, January 06, 2004 6:19 PM As well as Arthur's books and Douglas's books. Some of the Robert's, too. Personally, I'd recommend Stranger In The Strange Land. -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Jonathan Lewis 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: Top level heaps/subheaps
Welcome back. I was wondering where you've been the last couple of weeks. At 11:19 AM 1/6/2004, you wrote: As well as Arthur's books and Douglas's books. Some of the Robert's, too. Personally, I'd recommend Stranger In The Strange Land. Wolfgang Breitling Oracle7, 8, 8i, 9i OCP DBA Centrex Consulting Corporation http://www.centrexcc.com -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Wolfgang Breitling 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: (long) Top level heaps/subheaps
Yeah I know, did it again. On Tue, 2004-01-06 at 10:19, Mladen Gogala wrote: The name is Breitling. Wolfgang Breitling. Not to be confused with Bond. James Bond. On 2004.01.06 12:34, Jared Still wrote: * to satisfy curiosity * to have a better understanding of how Oracle works Most DBA's probably don't need to know this stuff. Most performance problems will not likely require you to know any of this. If you spend a lot of time solving other people's 'unsolvable' Oracle performance problems, as Steve Adams, Jonathan Lewis, Cary, Millsap, Gary Goodman, Wolgang Breitling ( Hope I spelled his name correctly this time), or many other consultant types on this list then this kind of thing will be very useful to you. Ditto if you have a large number of instances to deal with, and run into tricky tuning problems. Jared On Tue, 2004-01-06 at 08:24, Guerra, Abraham J wrote: Hi all, Why would anybody care about all these heap stuff? How does it help performance Thanks. Abraham Guerra -Original Message- Sent: Tuesday, January 06, 2004 10:04 AM To: Multiple recipients of list ORACLE-L Well, a heap is just a bunch of memory (allocated in contiguous extents) and you can practically allocate any size of chunk of memory from it (with some restrictions). A regular heap has freelist and LRU list mechanisms for managing space in it as well as memory allocation/releasing routines which you can then call. Oracle uses its generic heap manager code (KGH) for managing it's memory. Once you allocate a chunk from heap it's up to the allocator what he does with it. It can just use it for some kind of static data, but can also create another heap in these chunks it allocated, this heap may use different heap manager code for managing its memory if needed (for example shared pool reserved area and large pool behave a little differently, they don't have LRU list mechanisms). If you take any heapdump using alter session set events 'immediate trace name heapdump level x' ; then top level heaps show parent= in their descriptors. Note that this top call heap has allocated chunks for heap with descriptor address 06B51DB0 (callheap) and also you see that callheap has a parent heap with descriptor address 06B52790. HEAP DUMP heap name=top call heap desc=06B52790 extent sz=0x213c alt=92 het=32767 rec=0 flg=2 opc=2 parent= owner= nex= xsz=0xfffc EXTENT 0 addr=071D0004 Chunk 71d000c sz= 112perm perm alo=112 Chunk 71d007c sz=65412free EXTENT 1 addr=07170004 Chunk 717000c sz= 232perm perm alo=232 Chunk 71700f4 sz=60724free Chunk 717ee28 sz= 1352freeable callheap ds=06B51DB0 Chunk 717f370 sz= 1072freeable callheap ds=06B51DB0 Chunk 717f7a0 sz= 1072recreate callheap latch= ds 6b51db0 sz= 3496 ct=3 [snipped] HEAP DUMP heap name=callheap desc=06B51DB0 extent sz=0x424 alt=32767 het=32767 rec=0 flg=2 opc=3 parent=06B52790 owner= nex= xsz=0x53c EXTENT 0 addr=0717EE34 Chunk 717ee3c sz= 1332freeable qkkele EXTENT 1 addr=0717F37C Chunk 717f384 sz= 572perm perm alo=388 Chunk 717f5c0 sz= 444free Chunk 717f77c sz= 36freeable qkkkey EXTENT 2 addr=0717F7BC Chunk 717f7c4 sz= 28perm perm alo=28 Chunk 717f7e0 sz= 956free Chunk 717fb9c sz= 52freeable event string Total heap size= 3420 FREE LISTS: Bucket 0 size=76 Bucket 1 size=268 Chunk 717f7e0 sz= 956free Chunk 717f5c0 sz= 444free Bucket 2 size=1036 Total free space = 1400 UNPINNED RECREATABLE CHUNKS (lru first): PERMANENT CHUNKS: Chunk 717f384 sz= 572perm perm alo=388 Chunk 717f7c4 sz= 28perm perm alo=28 Permanent space= 600 ** If making these full heapdumps puts too much strain on your system, then it might be easier to use event HEAPDUMP_ADDR which allows to dump heaps only with specified descriptor address. There are other options as well, such is X$KSMHP table to query any heap (which is, blah, highly unsupported) or attaching directly to SGA shared memory segment and reading from there. Sorry for too long post, I'm currently too lazy to do anything useful... Tanel. - Original Message - To: Multiple recipients of
RE: Top level heaps/subheaps
Maybe it indicates the different places we are in but I much prefer While I'm still confused and uncertain, it's on a much higher plane, d'you see, and at least I know I'm bewildered about the really fundamental and important facts of the universe. Treatle nodded. I hadn't looked at it like that, he said, But you're absolutely right. He's really pushed back the boundaries of ignorance. Of course Rumsfeld gets pilloried for much the same. Niall -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jonathan Lewis Sent: 06 January 2004 18:40 To: Multiple recipients of list ORACLE-L Subject: Re: Top level heaps/subheaps You missed out Terry: quote Oh, it's largely intuitive, Archchancellor. Obviously you have to spend a lot of time learning it first, though. end quote Regards Jonathan Lewis http://www.jlcomp.demon.co.uk The educated person is not the person who can answer the questions, but the person who can question the answers -- T. Schick Jr One-day tutorials: http://www.jlcomp.demon.co.uk/tutorial.html Three-day seminar: see http://www.jlcomp.demon.co.uk/seminar.html UK___November The Co-operative Oracle Users' FAQ http://www.jlcomp.demon.co.uk/faq/ind_faq.html - Original Message - To: Multiple recipients of list ORACLE-L [EMAIL PROTECTED] Sent: Tuesday, January 06, 2004 6:19 PM As well as Arthur's books and Douglas's books. Some of the Robert's, too. Personally, I'd recommend Stranger In The Strange Land. -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Jonathan Lewis 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: Niall Litchfield 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: (long) Top level heaps/subheaps
Since we're both going to be in Dallas in March I'll have to have you write my name 1000 times ;-) At 01:04 PM 1/6/2004, you wrote: Yeah I know, did it again. Wolfgang Breitling Oracle7, 8, 8i, 9i OCP DBA Centrex Consulting Corporation http://www.centrexcc.com -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Wolfgang Breitling 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: (long) Top level heaps/subheaps
Piece of cake using vi, perl, or even pl/sql. vi: 1000iWolfgangENTERESC perl: print qq{Wolfgang\n} x 1000; pl/sql: typically more verbose, left as an exercise for the reader. Oh, you didn't mean paper did you? Not sure I still know how to do that. ;) Jared On Tue, 2004-01-06 at 12:19, Wolfgang Breitling wrote: Since we're both going to be in Dallas in March I'll have to have you write my name 1000 times ;-) At 01:04 PM 1/6/2004, you wrote: Yeah I know, did it again. Wolfgang Breitling Oracle7, 8, 8i, 9i OCP DBA Centrex Consulting Corporation http://www.centrexcc.com -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Wolfgang Breitling 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: Jared Still 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).