如何oracle调试存储过程
成都创新互联公司成立于2013年,是专业互联网技术服务公司,拥有项目网站制作、网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元汨罗做网站,已为上家服务,为汨罗各地企业和个人服务,联系电话:18980820575
1.打开PL/SQL Developer
如果在机器上安装了PL/SQL Developer的话,打开PL/SQL Developer界面
输入用户名,密码和host名字,这个跟在程序中web.config中配置的完全相同,点击确定
找到需要调试的存储过程所在的包(Package bodies),如PACK_ACTIVITY,点击右键,在弹出菜单中选择[查看],得到包中的所有存储过程和他们的代码.
2.添加debug信息
为了能够单步跟踪存储过程,需要为其所在的包添加debug信息,右键点击需要调试的包,在弹出菜单中选中[添加调试信息].
这样就为包体添加了调试信息。
3.调试存储过程
现在所有的准备工作都做好了,可以调试跟踪存储过程了。
可以通过dba_source来查询。
如,知道pkg名字为STANDARD
则可以:
select * from dba_source where name='STANDARD';
注意:STANDARD必须用应为半角大写。
结果截图:
查看Oracle的dba用户创建的directories:select * from dba_directories;--select * from all_directories;查看表空间使用的数据文件位置:select name from v$datafile;查看临时表空间使用的数据文件位置:select name from v$tempfile;查看dba用户创建的表空间数据文件位置:select file_name from dba_data_files;查看dba用户创建的临时表空间数据文件位置:select file_name from dba_temp_files;当然,查看dba用户的相关信息时需要登录有dba权限的数据库用户
先修改包头,加入存储过程声明,然后再在包体中增加即可!
select text from dba_source where owner='xxx' and name='包名' and type='PACKAGE BODY'
order by line asc
查看表的定义:
set long 999999
select dbms_metadata.get_ddl('TABLE',upper('table_name') from dual ;
查看视图的定义:
select text from user_views where view_name=upper('view_name') ;
查看index的定义:
select dbms_metadata.get_ddl('INDEX',upper('index_name') from dual ;
select index_name,index_type,table_owner,table_name from user_indexes where table_name='TEMP3';
查看procedure的定义:
select text from user_source where name='PROCEDURE_NAME' ;
查看trigger的定义:
select trigger_body from user_triggers where trigger_name='trigger_name' ;