Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> Re: How to find large_pool map in SGA?

Re: How to find large_pool map in SGA?

From: fairlie rego <fairlie_r_at_yahoo.com>
Date: Sun, 11 Feb 2007 17:12:55 -0800 (PST)
Message-ID: <425911.77989.qm@web31902.mail.mud.yahoo.com>


 Alex,  

 Apologies.. I had not seen your earlier email where u had found the answer.  You already have a heap dump and I think you are looking for a subheap dump.  AFAIK Subheap dumps can only be taken for chunks with a heap descriptor value  such as
 Chunk 773517c sz= 4144 freeable "qmtmInit " ds=077313F4  

 This is also what Julian shows on Page 42 of his excellent presentation.   I too get an ora-81 if I use the chunk address.  

 Regards,
 Fairlie

Alex Gorbachev <gorbyx_at_gmail.com> wrote:   Thanks Fairlie.
x$ksmls for large pool is the same as x$ksmss for shared pool and it doesn't have addresses - only areas and sizes. I thought that there should be something like x$ksmsp but for large pool and I would expect it to be named x$ksmlp but there is no such X$ table. I checked all kernel service memory x$ksm% tables and couldn't find anything useful for large pool .

As I mentioned already, heapdump level 32 gave me what I was looking for.

I tried the to dump the heap using "heapdump_addr level 1, addr=<...>" but got "ORA-00081: address range [0x31F6DFF4, 0x31F6E038) is not readable"

I think this is not permission issue (everything must be accessible, right) but format of this heap is different than from shared pool heaps. I even tried to go via oradebug to the process that should have something to do with this area and got the same ORA-81.

Here is what I'm looking into:

  Chunk 31d72ff4 sz=  2072588    freeable  "krcc extent chu"
  Chunk 31f6dff4 sz=    20492    freeable  "CTWR dba buffer"
  Chunk 31f73ff4 sz=   364556    freeable  "CTWR dba buffer"



  On 2/11/07, fairlie rego <fairlie_r_at_yahoo.com> wrote: Alex,    

  I don't have access to a system right now but I think x$ksmls could have the info u're looking for.    

  Thanks
  Fairlie

Alex Gorbachev < gorbyx_at_gmail.com> wrote:

    Listers,

I need to identify memory chunks (addresses + sizes) within large pool where certain areas are located.

I know how to do it with shared pool areas. The total area size is in X$KSMSS and chunks are in X$KSMSP:

SQL> select * from x$ksmss where KSMSSNAM = 'sql area';

ADDR           INDX    INST_ID   KSMSSLEN KSMSSNAM                     KSMDSIDX

-------- ---------- ---------- ---------- -------------------------- ----------
B70F8C88 2 1 0 sql area 0 B70F8C88 19 1 12365696 sql area 1

SQL> select * from x$ksmsp where KSMCHCOM = 'sql area' and rownum <= 10;

ADDR INDX INST_ID KSMCHIDX KSMCHDUR KSMCHCOM KSMCHPTR KSMCHSIZ KSMCHCLS KSMCHTYP KSMCHPAR
-------- ---------- ---------- ---------- ---------- ---------------- -------- ---------- -------- ---------- --------

B6DF9B0C          0          1          1          4 sql area         35FFF000       4096 recr           4095 363E9E3C 
B6DF9AD4          1          1          1          4 sql area         35FFE000       4096 freeabl           0 36291BE4 
B6DF9A64          3          1          1          4 sql area         35FFCBD0       4096 recr           4095 363FC11C 
B6DF9A2C          4          1          1          4 sql area         35FFBBD0       4096 recr           4095 363EDD0C 
B6DF99F4          5          1          1          4 sql area         35FFABD0       4096 recr           4095 3636B8BC 
B6DF98A4         11          1          1          4 sql area         35FF87A0       4096 recr           4095 363F34FC 
B6DF986C         12          1          1          4 sql area         35FF77A0       4096 freeabl           0 363E95DC 
B6DF971C         18          1          1          4 sql area         35FF5308       4096 recr           4095 3638906C 
B6DF96E4         19          1          1          4 sql area         35FF4308       4096 freeabl           0 3638906C 
B6DF9674         21          1          1          4 sql area         35FF2ED8       4096 freeabl           0 3636B8BC 

10 rows selected.

Unfortunately, I cannot find any X$ table for large pool that is similar to x$ksmsp. Large pool is managed differently than shared pool and has no LRU list for example. However, I would still expect to find large pool map somewhere. I tried to find something in X$KSMMEM but I couldn't identify there what I'm looking for.

Any suggestions are greatly appreciated.

TIA,
Alex

--

Best regards,
Alex Gorbachev

The Pythian Group
Sr. Oracle DBA

http://www.pythian.com/blogs/author/alex/ http://blog.oracloid.com

            Fairlie Rego
Senior Oracle Consultant
  http://www.linkedin.com/in/fairlierego   

  http://el-caro.blogspot.com/
  M: +61 402 792 405          



  Get your own web address.
Have a HUGE year through Yahoo! Small Business.

--

Best regards,
Alex Gorbachev

The Pythian Group
Sr. Oracle DBA

http://www.pythian.com/blogs/author/alex/ http://blog.oracloid.com

          Fairlie Rego
Senior Oracle Consultant
  http://www.linkedin.com/in/fairlierego   

  http://el-caro.blogspot.com/
  M: +61 402 792 405      



Expecting? Get great news right away with email Auto-Check. Try the Yahoo! Mail Beta.
--

http://www.freelists.org/webpage/oracle-l Received on Sun Feb 11 2007 - 19:12:55 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US