Applies to:
Oracle Server – Enterprise Edition – Version: 9.2.0.1 to 10.2.0.4
Information in this document applies to any platform.
Goal
To get the functions from the call stack that has Hexadecimal Numbers.
As an example:
—– Call Stack Trace —–
calling call entry argument values in hex
location type point (? means dubious value)
——————– ——– ——————– —————————-
004EB9EB CALLrel 004EC074
006D137A CALLrel 004EB8A4 3
02889C4D CALLreg 00000000 BFBC09D8 3
02844C0A CALLrel 02889BC4 BFBC09D8 5B4E0A58 3FB1 0
7DB3F3E4
00568237 CALLrel 0152D7EC BFBC09D8 5B4E0A58 3FB1 0
7DB3F3E4 3FB1 0 7DB3F3E4
004FA21C CALLrel 005681FC 3FB1
Solution
Step 1
Note down the Hexadecimal Numbers under the ‘Calling Location’. Convert these hexadecimal numbers into Decimals.
Hex Value Decimal Value
004EB9EB –> 5159403
006D137A –> 7148410
02889C4D –> 42507341
02844C0A –> 42224650
00568237 –> 5669431
Step 2
Arrange these numbers in a column and save it in a infile.
5159403
7148410
42507341
42224650
5669431
Step 3
Use Oradebug utility to get the function names:
SQL> oradebug SKDSTTPCS <ifname> <ofname>
where ‘ifname’ is name of file that we created in step 2. Specify Complete path.
‘ofname’ is name of output file that would be having function names. Specify Complete path.
Output File would look like:
5159403 _kcrrdc+1939
7148410 _kclcls+6998
42507341 _xssrfFetchVal+77
42224650 _drlk2dchk23syl+146
5669431 _kcrabr+567
You can use these functions to check for any known bugs.
Note: On Windows make sure that there is no space in the directory name where you are running oradebug utility. This would result in error.
As an example, if the infile is present in ‘Documents and Settings’ folder.
C:\Documents and Settings> sqlplus / as sysdba
SQL> oradebug SKDSTTPCS infile.txt outfile.txt
ORA-09210: sftopn: error opening file
OSD-04002: unable to open file
O/S-Error: (OS 3) The system cannot find the path specified.
Donot use quotation marks in specifying the filename in oradebug command. Absolute path should be specified in the oradebug command.
This note should be used only under guidance of Oracle Support.
This may not work in all the cases. A typical scenario is running this utility may result in Hexadecimal numbers rather than function names.
References
@ Note 296123.1 – HOW TO READ THE STACK TRACE PRODUCED BY THE ORADEBUG WATCH FACILITY ON LINUX
© 2008, www.oracledatabase12g.com. 版权所有.文章允许转载,但必须以链接方式注明源地址,否则追究法律责任.
相关文章 | Related posts:
- Known Oracle Internal Stack Call Meaning
- Getting a Stack Trace from a Oracle CORE file
- Understanding Bootstrap Of Oracle Database
- TROUBLESHOOTING: Possible Causes of Poor SQL Performance
- Collecting Diagnostic information for Oracle block corruption
- FAQ Memory Corruption
- Oracle Block Cache Layer And Its Corresponding Corruption Error Messages.
- SCRIPT TO GENERATE SQL*LOADER CONTROL FILE
- Script to Collect RAC Diagnostic Information (racdiag.sql)
- Diagnosability for CRS / EVM / RACG




最新评论