使用oracle的系统跟踪功能调试java程序

今天在学习配置appfuse连接oracle数据库时,程序报错:org.dbunit.dataset.NoSuchTableException,为查找错误,使用了oracle的整个数据库系统跟踪功能......

使用oracle的系统跟踪功能调试java程序

今天在学习配置appfuse连接oracle数据库时,在执行设置程序ant db-load时程序报错:org.dbunit.dataset.NoSuchTableException,由于每次执行的会话不固定,为查找错误,使用了oracle的整个数据库系统跟踪功能,步骤如下:
 1:使用system登陆数据库


 2:设置全库跟踪,执行以下语句:
alter system set events '10046 trace name context forever,level 1';
其中的level 1是跟踪级别,其他级别如下:
level 1:跟踪SQL语句,等于sql_trace=true
level 4:包括变量的详细信息
level 8:包括等待事件
level 12:包括绑定变量与等待事件

注意:如果要设置级别  〉1,必须要先设置级别意,再设置高级别:

SQL> alter system set events '10046 trace name context forever,level 1';

System altered

SQL> alter system set events '10046 trace name context forever,level 12';

System altered


 3:运行ant db-load


 4:到数据库的udump,根据时间找到跟踪文件


 5:直接察看跟踪文件,或使用tkprof(在dos下输入tkprof有说明)分析后再看:
  tkprof 跟踪文件 输出文件

6:关闭跟踪,用如下语句:
alter system set events '10046 trace name context off';
关闭数据库后,同时关闭了全局跟踪


本次跟踪结果:

SELECT NULL AS table_cat,
       o.owner AS table_schem,
       o.object_name AS table_name,
       o.object_type AS table_type,
       NULL AS remarks
  FROM all_objects o
  WHERE o.owner LIKE 'MYTEST' ESCAPE '/'
    AND o.object_name LIKE '%' ESCAPE '/'
    AND o.object_type IN ('xxx', 'TABLE')
  ORDER BY table_type, table_schem, table_name

需要以后再继续分析

参考资料:http://www.chq.name/content/view/110/59/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值