Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Confusion - Cursor in shared pool - Internals

897368Nov 7 2011 — edited Nov 8 2011
Hi Gurus ,

Theoretically i knew that if any sql is executed ORACLE stores all the information (metadata,execution plan ) etc..while parsing in sharedpool(library cache )
If same query is excuted again , ORACLE shares the CURSOR related to that.(soft parse)

Now i am always confused with the term CURSOR.

IN this context what is meant by CURSOR.

For instance if i am running the following query for the first time

select COl1 from a.test;

It will verify syntax , check the existence of user a ,table test and column col1 and then optimizer go through different possible execution plans and finally go with the one which has low cost

So now i end up with , sql information (sql_id,hash_value,etc....) and execution plan and i always imagine that this information is stored in Memory strutures of Shared pool
And i always confused that this being refered as cursor.Is this information stored something like a PL/SQL cursor ?If so why as a CURSOR why not just like plain information (the way any type data stored )

How can i see how exactly parse infomation is stored in sharedpool (is there any dump mechanism for that ???)


Is it stored something like

open cursor AJKKL
< all PARSE information >
close cursor

etc...

Please help me in visualizing this concept

Thanks
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Dec 6 2011
Added on Nov 7 2011
3 comments
198 views