首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > Ruby Rails >

怎么阅读Oracle Errorstack Output

2012-08-28 
如何阅读Oracle Errorstack OutputWirte By tanelpoder,translation by me.当oracle发生关键的错误诸如:or

如何阅读Oracle Errorstack Output

Wirte By tanelpoder,translation by me.
当oracle发生关键的错误诸如:ora-600,Errorstack dump是自动被oracle dump。当你在alert.log里面看见错误,将产生trace文件,trace中以“ksedmp:internal or fatal
error"开头,诸如这样的错误(ORA-7445或者ORA-600附有一些参数)。"kesdmp"意味着Kernel Service Error Dump,所以此行下面的就是errorstack dump。
Errorstack dump也可以被手动的调用通过使用Oradebug errorstack 3(当使用Oradebug setospid设定了目标进程之后)。Oradebug Errorstack对于当一个session似乎Hang(
但是在v$session_wait里面并未出现合理的wait event)或者是比正常时消耗更多资源并且你想知道当前sql的具体变量值。

Errorstack trace文件有很多信息,对于我们troubleshooting或多或少都有用。但是大量的数据和二进制的转储可能使你摸不着头脑,这里我将给你展示可以理解的一些结构。
在这片文章里我们将探讨以下话题:
1.从errorstack trace file中发现当前正在执行SQL文本。
2.从errorstack trace file中发现当前正在执行PL/SQL package和PL/SQL source code line number。
3.从errorstack trace file中发现当前bind variable value。
4.从errorstack trace file中发现一个cursor正在使用多少private memory(UGA)。

我将在下面的阐述中粘贴一个errorstack dump的相关部分。
1.从errorstack trace file中发现当前正在执行SQL文本。
你将非常容易找到当前sql的文本信息,这个语句在tracefile的前端("Current SQL statement for this session")部分:

Heap description     Meaningkxscphp              Cursor permanent heap. Allocated when cursor is opened   kxscdfhp             Cursor default heap - default duration allocationskxscehp              Cursor ephemeral heap - short lived duration allocationskxscwhp              Cursor Work heap - used when actually executing the cursor (workareas etc)kxscbhp              Cursor Bind heap - this is where bind variable values and their metadata are kept.

热点排行