PL/Sql Dev调试Oracle存储过程、触发器、函数
2016-07-03 11:45
363 查看
本处以调试函数为例,其他的调试与此相同
1.调试位置
通常情况下,要在pl/sql Dev中调试程序有两个地方:
1).新建->测试窗口: www.2cto.com
2).在要调试的程序上点击右键->测试
2.调试过程
1).通过调试位置进入测试窗口,如下图:
其中:点击1位置(或者按F9)进入调试器,2位置显示的是程序所声明的输入输出参数,如果是输入参数,需要在此处填入相应的输入值,输出参数会在执行调试完后显示。
2).按F9进入开始调制器,如图所示:
其中:1----中断调试,2----单步调试,简单点就是一步一步的执行;绿色的箭头表示全部运行完这个程序,如果有断点设置,也可以跳入到下一个断点。
3).单击单步调试,进入函数,如图
在此,可以尝试单步调试,一步一步运行程序
4).设置断点,如图 www.2cto.com
在文本区域最左侧的边框进行左键单击,如果有行号显示,也就是行号所在的位置,如图:
点击绿色的箭头,可以直接运行到设置断点处
5).对变量进行监控,如图
1位置为监控窗口,这个窗口可以把你要监视的变量进行显示,你把你需要监视的变量复制到这个窗口就可以了,也可以在变量上单击右键->添加变量到监视器(位置2)。
继续单步执行,可以看到监控变量(位置3)值的变化。
3.权限问题(ORA-0131)
1)调试程序时,报错为ORA-0131:Insufficient privileges,如图:
原因是用户权限不够,是缺失 DEBUG CONNECT SESSION 系统权限所致
2)解决办法:以SYS用户登录数据库,执行赋权操作:
1 SQL> grant DEBUG CONNECT SESSION to user_name;
注明:1.有网友指出还需赋予DEBUG ANY PROCEDURE的权限,经测试,该权限可不用赋予!
2.可以从数据字典session_privs表查看该权限相关信息(需要以user_name登录):
1 SQL>conn scott/tiger;
2 SQL> select * from session_privs;
3 PRIVILEGE www.2cto.com
4 ----------------------------------------
5 CREATE SESSION
6 UNLIMITED TABLESPACE
7 CREATE TABLE
8 CREATE CLUSTER
9 CREATE SEQUENCE
10 CREATE PROCEDURE
11 CREATE TRIGGER
12 CREATE TYPE
13 CREATE OPERATOR
14 CREATE INDEXTYPE
15 DEBUG CONNECT SESSION
16 DEBUG ANY PROCEDURE
17 12 rows selected
作者 snowmice
1.调试位置
通常情况下,要在pl/sql Dev中调试程序有两个地方:
1).新建->测试窗口: www.2cto.com
2).在要调试的程序上点击右键->测试
2.调试过程
1).通过调试位置进入测试窗口,如下图:
其中:点击1位置(或者按F9)进入调试器,2位置显示的是程序所声明的输入输出参数,如果是输入参数,需要在此处填入相应的输入值,输出参数会在执行调试完后显示。
2).按F9进入开始调制器,如图所示:
其中:1----中断调试,2----单步调试,简单点就是一步一步的执行;绿色的箭头表示全部运行完这个程序,如果有断点设置,也可以跳入到下一个断点。
3).单击单步调试,进入函数,如图
在此,可以尝试单步调试,一步一步运行程序
4).设置断点,如图 www.2cto.com
在文本区域最左侧的边框进行左键单击,如果有行号显示,也就是行号所在的位置,如图:
点击绿色的箭头,可以直接运行到设置断点处
5).对变量进行监控,如图
1位置为监控窗口,这个窗口可以把你要监视的变量进行显示,你把你需要监视的变量复制到这个窗口就可以了,也可以在变量上单击右键->添加变量到监视器(位置2)。
继续单步执行,可以看到监控变量(位置3)值的变化。
3.权限问题(ORA-0131)
1)调试程序时,报错为ORA-0131:Insufficient privileges,如图:
原因是用户权限不够,是缺失 DEBUG CONNECT SESSION 系统权限所致
2)解决办法:以SYS用户登录数据库,执行赋权操作:
1 SQL> grant DEBUG CONNECT SESSION to user_name;
注明:1.有网友指出还需赋予DEBUG ANY PROCEDURE的权限,经测试,该权限可不用赋予!
2.可以从数据字典session_privs表查看该权限相关信息(需要以user_name登录):
1 SQL>conn scott/tiger;
2 SQL> select * from session_privs;
3 PRIVILEGE www.2cto.com
4 ----------------------------------------
5 CREATE SESSION
6 UNLIMITED TABLESPACE
7 CREATE TABLE
8 CREATE CLUSTER
9 CREATE SEQUENCE
10 CREATE PROCEDURE
11 CREATE TRIGGER
12 CREATE TYPE
13 CREATE OPERATOR
14 CREATE INDEXTYPE
15 DEBUG CONNECT SESSION
16 DEBUG ANY PROCEDURE
17 12 rows selected
作者 snowmice
相关文章推荐
- ORACLE常用数据库字段类型
- oracle虚拟环境的搭建
- 进入oracle的SQL*PLUS界面
- oracle从入门到精通の2-启动与关闭数据库实例
- oracle 循环语句示例
- oracle从入门到精通の1-设计范式
- 配置oracle instance client
- oracle的存储过程
- oracle11g rman备份文件失踪之谜
- 甲骨文要放弃不赚钱的Java?开发者不安,心痛
- UFT操作SQLServer,MySQL,Oracle,DB2,Access数据库的方法
- oracle安装问题总结
- Oracle中的正则表达式(及函数)详解
- oracle 创建数据库 在新创建的数据库中创建用户 删除创建数据库 链接orcl
- 卸载oracle删除注册表脚本
- oracle分页语句和随机取N条记录
- .NET—Spring.NET连接Oracle数据库异常
- Oracle以甲乙丙丁来排列
- mybatis批量查询(oracle)
- ORACLE 索引