Oracle errorstack 工具 说明

 

       Errorstack oradebug 命令类似,都是帮助我们诊断错误信息。有关oradebug 参考我的Blog

       Oracle oradebug 命令 使用说明

       http://blog.csdn.net/tianlesoftware/archive/2011/06/04/6525628.aspx

 

       Errorstack事件:dump 错误栈信息,通常Oracle发生错误时前台进程将得到一条错误信息,但某些情况下得不到错误信息,可以采用这种方式得到Oracle错误。

 

使用errorstack 步骤:

1. 启用:

SQL> alter system set events='1438 trace name errorstack forever,level 10';

--表示当出现ORA-1438错误时,dump 错误栈和进程栈。

--在这里,我们关注哪些错误,就写上对应的代码就ok了。

 

2. 执行相关的SQL,获取跟踪文件

 

3. 关闭:

SQL> alter system set events='1438 trace name errorstack off';

 

或者使用oradebug

--启用

SQL> oradebug event 1000 trace name errorstack level 10;

Statement processed.

 

--关闭

SQL> oradebug event 1000 trace name errorstack off;

Statement processed.

 

 

示例:

 

SQL> alter system set events='600 trace name errorstack forever,level 10';

System altered.

 

SQL>  select * from dba_data_files;

ERROR:

ORA-00600: internal error code, arguments: [ktfbhget-4], [6], [5], [], [], [],

[], []

no rows selected

 

SQL> alter system set events='600 trace name errorstack off';

System altered.

 

---获取trace name

SQL> oradebug setmypid

Statement processed.

SQL> oradebug tracefile_name

/u01/app/oracle/admin/dave1/udump/dave1_ora_29181.trc

SQL>

 

 

这里使用的是oradebug,这个比较方便,之前还有一个获取tracenamesql脚本,参考我的Blog

       Oracle SQL Trace 10046 事件

      http://blog.csdn.net/tianlesoftware/archive/2010/09/02/5857023.aspx

 

然后根据trace,分析相关的原因。

 

 

ITPUB 论坛上的一个完整示例:

       一次ora-01438错误的处理

       http://www.itpub.net/thread-956435-1-1.html

 

 

 

 

-------------------------------------------------------------------------------------------------------

Blog http://blog.csdn.net/tianlesoftware

Email: [email protected]

DBA1 群:62697716();   DBA2 群:62697977()   DBA3 群:62697850()  

DBA 超级群:63306533();  DBA4 群: 83829929  DBA5群: 142216823   

DBA6 群:158654907  聊天 群:40132017   聊天2群:69087192

--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请

你可能感兴趣的:(oracle,sql,System,聊天,工具,events)