Re: RE: what is in the CGA?
Oracle has its own heap management, which will call sbrk(). So there used to be no malloc() function call. I think that it is a combination (ll and da). Anjo. - Original Message - To: Multiple recipients of list ORACLE-L [EMAIL PROTECTED] Sent: Tuesday, November 11, 2003 3:29 PM my 'C' isnt very good, but I would assume CGA is allocated with malloc right? they are just dynamic allocations. do you know what type of data structures oracle uses to sort? dynamic arrays or linked lists? From: Steve Adams [EMAIL PROTECTED] Date: 2003/11/11 Tue AM 08:14:26 EST To: Multiple recipients of list ORACLE-L [EMAIL PROTECTED] Subject: RE: what is in the CGA? Hi Pawan, CGA = Call Global Area. It contains data structures that can be freed at the end of the (parse, execute, fetch, ...) call. For example, if a sort while executing a select statement exceeds the sort_area_retained_size any additional sort memory required (up to the sort_area_size) will be allocated in the CGA. Once the execute call has finished the entire CGA is freed, and the extra sort memory with it. Physically, CGAs are subheaps of the PGA. The extents are identified as call heap in PGA heap dumps. There can be more than one CGA present in a PGA heap dump if a recursive call was under way when the PGA heap dump was taken. @ Regards, @ Steve Adams @ http://www.ixora.com.au/ - For DBAs @ http://www.christianity.net.au/ - For all -Original Message- Satav, Pawan Sent: Tuesday, 11 November 2003 8:55 PM To: Multiple recipients of list ORACLE-L Good info Steve. But what I want to ask is what is a CGA ? Regards Pawan -Original Message- Sent: Tuesday, November 11, 2003 1:24 PM To: Multiple recipients of list ORACLE-L Hi Ryan, The words session specific have to do with the difference between a process and a session. Many Oracle environments run with just one user session per process, but in general there can be multiple user sessions being serviced by a single process. The UGA holds persistent data structures that are specific to a particular session (even though other sessions may be connected through the same process). By contrast, the PGA contains persistent data structures that are specific to the process (not general to the instance) but must be visible to all sessions connected via that process, and the CGA holds transient data structures that are only required for the duration of a single call. The UGA consists of a small fixed area containing a few atomic variables, small data structures and pointers. The rest of the UGA is a heap. Most of the UGA heap is for private SQL and PL/SQL areas. So yes, package variables and bind variable are there (although the bind meta-data is in the SGA) but sort areas, row source buffers, and runtime state data are also major space consumers. @ Regards, @ Steve Adams @ http://www.ixora.com.au/ - For DBAs @ http://www.christianity.net.au/ - For all -Original Message- [EMAIL PROTECTED] Sent: Tuesday, 11 November 2003 12:14 AM To: Multiple recipients of list ORACLE-L I cant find any specifics in the docs. I must be missing something. All I see is 'session specific information'? Does this mean package variables? SQLPLUS bind variables? What does this mean? -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Steve Adams 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: [EMAIL PROTECTED] 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: Anjo Kolk INET: [EMAIL PROTECTED] Fat City Network Services-- 858-538-5051 http://www.fatcity.com San Diego, California
RE: what is in the CGA?
Hi Pawan, CGA = Call Global Area. It contains data structures that can be freed at the end of the (parse, execute, fetch, ...) call. For example, if a sort while executing a select statement exceeds the sort_area_retained_size any additional sort memory required (up to the sort_area_size) will be allocated in the CGA. Once the execute call has finished the entire CGA is freed, and the extra sort memory with it. Physically, CGAs are subheaps of the PGA. The extents are identified as call heap in PGA heap dumps. There can be more than one CGA present in a PGA heap dump if a recursive call was under way when the PGA heap dump was taken. @ Regards, @ Steve Adams @ http://www.ixora.com.au/ - For DBAs @ http://www.christianity.net.au/ - For all -Original Message- Satav, Pawan Sent: Tuesday, 11 November 2003 8:55 PM To: Multiple recipients of list ORACLE-L Good info Steve. But what I want to ask is what is a CGA ? Regards Pawan -Original Message- Sent: Tuesday, November 11, 2003 1:24 PM To: Multiple recipients of list ORACLE-L Hi Ryan, The words session specific have to do with the difference between a process and a session. Many Oracle environments run with just one user session per process, but in general there can be multiple user sessions being serviced by a single process. The UGA holds persistent data structures that are specific to a particular session (even though other sessions may be connected through the same process). By contrast, the PGA contains persistent data structures that are specific to the process (not general to the instance) but must be visible to all sessions connected via that process, and the CGA holds transient data structures that are only required for the duration of a single call. The UGA consists of a small fixed area containing a few atomic variables, small data structures and pointers. The rest of the UGA is a heap. Most of the UGA heap is for private SQL and PL/SQL areas. So yes, package variables and bind variable are there (although the bind meta-data is in the SGA) but sort areas, row source buffers, and runtime state data are also major space consumers. @ Regards, @ Steve Adams @ http://www.ixora.com.au/ - For DBAs @ http://www.christianity.net.au/ - For all -Original Message- [EMAIL PROTECTED] Sent: Tuesday, 11 November 2003 12:14 AM To: Multiple recipients of list ORACLE-L I cant find any specifics in the docs. I must be missing something. All I see is 'session specific information'? Does this mean package variables? SQLPLUS bind variables? What does this mean? -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Steve Adams 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: RE: what is in the CGA?
my 'C' isnt very good, but I would assume CGA is allocated with malloc right? they are just dynamic allocations. do you know what type of data structures oracle uses to sort? dynamic arrays or linked lists? From: Steve Adams [EMAIL PROTECTED] Date: 2003/11/11 Tue AM 08:14:26 EST To: Multiple recipients of list ORACLE-L [EMAIL PROTECTED] Subject: RE: what is in the CGA? Hi Pawan, CGA = Call Global Area. It contains data structures that can be freed at the end of the (parse, execute, fetch, ...) call. For example, if a sort while executing a select statement exceeds the sort_area_retained_size any additional sort memory required (up to the sort_area_size) will be allocated in the CGA. Once the execute call has finished the entire CGA is freed, and the extra sort memory with it. Physically, CGAs are subheaps of the PGA. The extents are identified as call heap in PGA heap dumps. There can be more than one CGA present in a PGA heap dump if a recursive call was under way when the PGA heap dump was taken. @ Regards, @ Steve Adams @ http://www.ixora.com.au/ - For DBAs @ http://www.christianity.net.au/ - For all -Original Message- Satav, Pawan Sent: Tuesday, 11 November 2003 8:55 PM To: Multiple recipients of list ORACLE-L Good info Steve. But what I want to ask is what is a CGA ? Regards Pawan -Original Message- Sent: Tuesday, November 11, 2003 1:24 PM To: Multiple recipients of list ORACLE-L Hi Ryan, The words session specific have to do with the difference between a process and a session. Many Oracle environments run with just one user session per process, but in general there can be multiple user sessions being serviced by a single process. The UGA holds persistent data structures that are specific to a particular session (even though other sessions may be connected through the same process). By contrast, the PGA contains persistent data structures that are specific to the process (not general to the instance) but must be visible to all sessions connected via that process, and the CGA holds transient data structures that are only required for the duration of a single call. The UGA consists of a small fixed area containing a few atomic variables, small data structures and pointers. The rest of the UGA is a heap. Most of the UGA heap is for private SQL and PL/SQL areas. So yes, package variables and bind variable are there (although the bind meta-data is in the SGA) but sort areas, row source buffers, and runtime state data are also major space consumers. @ Regards, @ Steve Adams @ http://www.ixora.com.au/ - For DBAs @ http://www.christianity.net.au/ - For all -Original Message- [EMAIL PROTECTED] Sent: Tuesday, 11 November 2003 12:14 AM To: Multiple recipients of list ORACLE-L I cant find any specifics in the docs. I must be missing something. All I see is 'session specific information'? Does this mean package variables? SQLPLUS bind variables? What does this mean? -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Steve Adams 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: [EMAIL PROTECTED] 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).