Oracle internals, debugging and undocumented features

Analysis of Oracle Call Stack

Last night I have found metalink Note:558671.1 Getting ORA-01461 while INSERT INTO WWV_THINGS which has very good explenation of some Oracle function.

Analysis of Call Stack:

Summary Stack   (to Full stack)   (to Function List)
ksedst             # KSE: dump the call stack
ksedmp             # KSE: dump the process state
ksddoa             # Debug support Do an Action
ksdpcg             # KSD: Post and check event in the specified event group
ksdpec             # KSD: Post Event and Check trigger condition
kgesev             KGE: Signal Error code (with Va_list)
ksesec0            # IGNORE: Signal an error
opiexe             opiexe – ORACLE Program Interface EXEcute
opipls             opipls.c — contains opi bundled call executor and support routines
opiodr             OPIODR: ORACLE code request driver – route the current request
skgmstack          skgmstack – call specified function with extra STACK space
rpidru             RPI: setup memory for the recursive session (unclear)
rpiswu2            RPI: SWitch User in recursive sql
rpidrv             RPI: Recursive Program Interface DRiVer
psddr0             Null pointer definitions for ttcdrv callback and context.  Used in psddrv.
psdnal             ARGSUSED */
pfrrun             PSDEVN: PL/SQL Interpreter Main Instruction Loop
peicnt             PL/SQL controlled Execution
kkxexe             KKX: execute plsql
opiexe             opiexe – ORACLE Program Interface EXEcute
kpoal8             kpoal8.c – Kernel Programmatic Oracle ALl Version 8
opiodr             OPIODR: ORACLE code request driver – route the current request
ttcpip             TTCPIP: Two Task Common PIPe read/write
opitsk             opitsk – Two Task Oracle Side Function Dispatcher
opiino             opiino – ORACLE Program Interface INitialize Opi
opiodr             OPIODR: ORACLE code request driver – route the current request
opidrv             # opidrv – ORACLE Program Interface DRiVer (IGNORE)
sou2o              # Main Oracle executable entry point
main               # Standard executable entry point

There is also a note  Note:453521.1 ( Tanel used in his presentation)  which has a similar contents so you might look this ones as well..

Got another one:

This is part of the call stack found in the trace file created after enabling the events.

Note: (Call stack is read starting from the bottom).

Summary Stack (to Full stack) (to Function List)
ksedmp # KSE: dump the process state
kgeriv # KGE Record Internal error code (with Va_list) (IGNORE)
kgesiv # KGE Signal Internal error code (with VA_list) (IGNORE)
ksesic2 # KSE: signal an internal error code
kftr2ah KFT: relative to absolute file number translation with hint
atbmod Alter TaBle MODify columns in the table:


2 responses to “Analysis of Oracle Call Stack

  1. binzhang December 21, 2008 at 4:11 am

    Tanel gave us a trainning last week and this part(howto find interal kernel function description) is really really intreseting.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: