使用oracle的系统跟踪功能调试java程序
2015-05-13 21:03
369 查看
今天在学习配置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/
今天在学习配置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/
相关文章推荐
- 使用Java Service Wrapper 把Java程序作为Windows系统服务
- 在VC程序中使用调试语句----(二)跟踪语句
- 使用Wrapper来将Java程序转化为NT系统服务(转)
- 使用Java Service Wrapper 把Java程序作为Windows系统服务
- 使用JavaService让java程序加载为winNT系统服务
- 使用Java Service Wrapper 把Java程序作为Windows系统服务
- 使用Java程序实现随机验证码功能的实例
- 使用Java程序实现随机验证码功能的实例
- 如何在JAVA程序中使用Struct一次传入多条数据给Oracle的存储过程。
- 在Java程序中使用Oracle外部用户
- 使用Java Service Wrapper 把Java程序作为Windows系统服务
- 使用JavaService让java程序加载为winNT系统服务
- 使用TKPROF工具进行跟踪ORACLE中程序运行状况
- 使用JAVA开发系统托盘程序
- 使用dbx调试java程序
- 关于java程序的跟踪调试
- 使用Eclipse调试Java程序代码
- JAVA 程序中使用ORACLE 绑定变量 bind variable
- 字符串处理是许多程序中非常重要的一部分,它们可以用于文本显示,数据表示,查找键和很多目的.在Unix下,用户可以使用正则表达式的强健功能实现这些 目的,从Java1.4起,Java核心API就引入了java.util.regex程序包,它是一种有价值的基础
- 使用Java实现B/S系统常见的获取客户端信息功能!