Forum Stats

  • 3,838,726 Users
  • 2,262,395 Discussions
  • 7,900,741 Comments

Discussions

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

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

Answers

  • Jonathan Lewis
    Jonathan Lewis Member Posts: 10,010 Blue Diamond


    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
  • User_1AQZ3
    User_1AQZ3 Member Posts: 5 Green Ribbon

    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
    Jonathan Lewis Member Posts: 10,010 Blue Diamond

    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