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!

how can I get the kglhd struct info in library cache of shared pool with oradebug

User_1AQZ3Mar 6 2022

I get the sql statement info include kglhdadr(sql_address in v$session) with x$ksuse(v$session), I need know the kglhd struct such as variables offeset in it and so on. but I don't konw how to get these infos with oradebug or other tools in oracle

Comments

Jonathan Lewis

If you want to investigate structs then a good starting point is x$kqfco which is the "column" listing of x$kqfta.
Bear in mind that some of the x$ objects are listed under x$kqfta and some under x$kqfdt - the latter being the "derived" x$ tables, which is a bit like them being views of the things listed in x$kqfta. This means that when you look at a v$definition it might reference something that exists in the x$kqfdt, but it's the equivalent x$kqfta entry that connects you to x$kqfco to get column/struct definitions.
Regards
Jonathan Lewis

User_1AQZ3

thanks for your useful advice, and I want to know whether there is a method to get the currenting sql statement of sessions with C code based on attach to the shared memory SGA,If any idea may help me ,appreciate it!

Jonathan Lewis

How far have you got so far with attaching to the SGA memory and finding ANY structures that you can make sense of?
Tracking through to "current SQL" is non-trivial, and my notes about routes through the structures are probably out of date since I haven't investigated the effects of PDBs.
Regards
Jonathan Lewis

1 - 3

Post Details

Added on Mar 6 2022
3 comments
375 views