ORACLE memory stack combined with pstack,oradebug

Original from http://www.dba-oracle.com/t_memory_stack_trace.htm
**Review process smon callstack:
--Get smon process id

[oracle@test ~]$ ps -ef | grep smon
oracle   13144     1  0 Jun12 ?        00:00:02 ora_smon_orcldg

[oracle@test ~]$ pstack 13144
#0  0x0000003e70ceb28a in semtimedop () from /lib64/libc.so.6
#1  0x00000000085bd037 in sskgpwwait ()
#2  0x00000000085bc20a in skgpwwait ()
#3  0x000000000821b495 in ksliwat ()
#4  0x000000000821aa86 in kslwaitctx ()
#5  0x0000000008217fbb in kslwait ()
#6  0x0000000000ea0c48 in ktmmon ()
#7  0x0000000000ea034a in ktmSmonMain ()
#8  0x0000000001c02dc1 in ksbrdp ()
#9  0x0000000001da0e27 in opirip ()
#10 0x0000000001437b81 in opidrv ()
#11 0x00000000018aac97 in sou2o ()
#12 0x00000000009d3f76 in opimai_real ()
#13 0x00000000018aff26 in ssthrdmain ()
#14 0x00000000009d3e5d in main ()

--Review short_stack by oradebug
[oracle@test ~]$ sqlplus / as sysdba
SQL> oradebug setospid 13144
Oracle pid: 13, Unix process pid: 13144, image: oracle@test (SMON)
SQL> oradebug short_stack
ksedsts()+461<-ksdxfstk()+32<-ksdxcb()+1782<-sspuser()+112<-__restore_rt()<-semtimedop()+10<-skgpwwait()+156<-ksliwat()+1821<-kslwaitctx()+162<-kslwait()+141<-ktmmon()+562<-ktmSmonMain()+206<-ksbrdp()+923<-opirip()+623<-opidrv()+603<-sou2o()+103<-opimai_real()+266<-ssthrdmain()+214<-main()+201<-__libc_start_main()+253<-_start()+36


--Stack summary
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
conditionPGOSF70_ksfpec104           
kgesev             KGE: Signal Error code (with Va_list)
ksesec0            # IGNORE: Signal an error
kpoblng             
kpobsv              
kpobii              
kpobav              
opibvg              
opiexe             opiexe - ORACLE Program Interface EXEcute
opipls             opipls.c ??” contains opi bundled call executor and
support routines
opiodr             OPIODR: ORACLE coderequestdriver-routethecurrentrequest PGOSF163_rpidrus
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

Summary Stack   (to Full stack)   (to Function List)
----------------------------------------------------
psddr0             Null pointer definitions for ttcdrv callback and context.Used in psddrv.
psdnal             ARGSUSED */
pevm_EXECC          
pfrinstr_EXECC      
pfrrun_no_tool      
pfrrun             PSDEVN: PL/SQL Interpreter Main Instruction Loop
plsql_run           
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
opimai_real         
main               # Standard executable entry point

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
PGOSF70_ksfpec      
104                 
kgesev             KGE: Signal Error code (with Va_list)
ksesec0            # IGNORE: Signal an error
kpoblng             
kpobsv              
kpobii              
kpobav              
opibvg              
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
PGOSF163_rpidrus    
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 */
pevm_EXECC          
pfrinstr_EXECC      
pfrrun_no_tool      
pfrrun             PSDEVN: PL/SQL Interpreter Main Instruction Loop
plsql_run           
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
opimai_real         
main               # Standard executable entry point
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
kftr2bz
kkdlgibz

请使用浏览器的分享功能分享到微信等