设为首页 加入收藏

TOP

OracleErrorStack使用和阅读详解(六)
2015-07-24 11:44:02 来源: 作者: 【 】 浏览:15
Tags:OracleErrorStack 使用 阅读 详解
cbhp=0x7f5227960e50 siz=10376 inu=10008 nps=8768
在cursor frame dump部分我们可以看见kxsc开始的一些信息,这些意味着Kernel eXECUTION Shared Cursor,其中的每一行的siz参数告诉我们当前分配的私有内存大小。当然,我们需要汇总所有的siz,这个值就是此游标的memory usage。 下面是我的一些猜测汇总: 01.Heap description Meaning 02.kxscphp Cursor permanent heap. Allocated when cursor is opened 03.kxscdfhp Cursor default heap - default duration allocations 04.kxscehp Cursor ephemeral heap - short lived duration allocations 05.kxscwhp Cursor Work heap - used when actually executing the cursor (workareas etc) 06.kxscbhp Cursor Bind heap - this is where bind variable values and their metadata are kept.

四、实验代码 1、创建表和PL/SQL函数 create table dh_t (id number(2,1), name varchar2(200));
create or replace procedure p_dh1 as
v_id number :=1234335;
v_name varchar2(200) :='oradh';
begin
--just for errorstack test
insert into dh_t values (v_id,v_name);
commit;
end;
/
create or replace procedure p_dh2 as
v_cnt number;
begin
----just for errorstack test
select count(*) into v_cnt from dh_t;
dbms_output.put_line('the dh_t count is '||v_cnt);
p_dh1;
end;
/ 2、进行errorstack跟踪 SQL*Plus: Release 11.2.0.1.0 Production on Tue Jul 1 11:15:52 2014
Copyright ( c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options
SQL> set linesize 200 pagesize 999
SQL> col tracefile format a100
SQL> select spid,tracefile from v$process a where addr=( select paddr from v$ session where sid=( select sid from v$mystat where rownum=1));

SPID TRACEFILE
--------------- --------------------------------------------------------------------------------------------------
10848 /u01/oracle/diag/rdbms/cn100/cn100/trace/cn100_ora_10848.trc

SQL> alter session set events='1438 trace name errorstack forever,level 3';
Session altered.
SQL> exec p_dh2;
BEGIN p_dh2; END;

*
ERROR at line 1:
ORA-01438: value larger than specified precision allowed for this column
ORA-06512: at "DBMON.P_DH1", line 6
ORA-06512: at "DBMON.P_DH2", line 7
ORA-06512: at line 1

[oracle@192oracle ~]$ ls -ltr /u01/oracle/diag/rdbms/cn100/cn100/trace/cn100_ora_10848.trc
-rw-r----- 1 oracle oinstall 12190347 Jul 1 11:16 /u01/oracle/diag/rdbms/cn100/cn100/trace/cn100_ora_10848.trc
首页 上一页 3 4 5 6 下一页 尾页 6/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇使用导入导出进行备份和恢复OCR(.. 下一篇Oraclebackgroupprocesses

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Shell 中各种括号的 (2025-12-24 19:50:39)
·Shell 变量 - 菜鸟教 (2025-12-24 19:50:37)
·Linux source 命令 - (2025-12-24 19:50:34)
·switch520最新的地址 (2025-12-24 19:19:41)
·微信聊天功能使用了 (2025-12-24 19:19:39)