oracle如何调试脚本,oracle调试脚本需要权限

如何调试oracle的procedure

PL/SQL中为我们提供了调试存储过程的功能,可以帮助你完成存储过程的预编译与测试。 点击要调试的存储过程,右键选择TEST

创新互联专注于通山网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供通山营销型网站建设,通山网站制作、通山网页设计、通山网站官网定制、小程序开发服务,打造通山网络公司原创品牌,更为您提供通山网站排名全网营销落地服务。

如果需要查看变量,当然调试都需要。在右键菜单中选择Add debug information. start

debugger(F9)开始我们的测试,Run(Ctrl+R) 随时在varible List中输入我们想查看的变量 其它: Step

into(Ctrl+N):单步调试,进入下一步 Step over(Ctrl+O):结束该语句 Step out(Ctrl+T):跳出该过程

Run to next exception:进入下一个断点Breakpoint Toggle

Breakpoint设置断点:光标指向一行,Ctrl+B;或鼠标点中该行的行号边缘

Oracle 触发器调试及遇到相关问题解决

今天在项目中遇到一个比较棘手的问题,需要用到触发器。在编写触发器和调试过程中遇到下列问题,在此记录一下:

由于之前写的触发器都能正常运行,就没有涉及到触发器的调试,今天发现触发器没起作用,需要调试,竟不知道在哪儿调试。在网上借鉴一些别人的经验(),记录一下。在PL/SQL中,触发器的调试方法如下:

1,选中要调试的触发器,右击,然后勾选 Add debug information,只有勾选这个按钮后,调试才能进入到断点。

2,选中触发器,点击 Edit,到Edit 界面,在要调试的行号前面单击,或者右键,添加断点。

3,在菜单的新建中选择“测试窗口”,打开一个如下块,在begin和end中间添加能触发触发器的语句

4,按F9或者点击调试菜单中的开始菜单,进入运行调试状态(后面的红框是单步进入)

5,点击运行图标跳到触发器中断点位置

6,鼠标放到变量上可以显示变量值。

7,如果有异常,就弹出相关异常信息。

调试的时候发现new对象的日期格式为中文,而后面又需要yyyy-mm-dd 的格式来作为查询条件。所以就在赋值的时候转换一下。

在select into 给变量赋值的时候,select 查询出来的集合为空,导致报错ORA-01403,解决方案就是将这一段用begin end 包裹起来,抛出改异常的时候给变量一个默认值。如下图:

如何在oracle中执行shell脚本

要在sql下面执行shell语句,用!符号,不过功能有限;有的时候打不到我们想要的效果!先给你两个实例;

要在后台登陆;plsql中测试不行

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

With the Partitioning, Data Mining and Real Application Testing options

SQL !echo 123;

123

SQL !/billing/user/xufc/

Local directory now /billing/Balance/SP/REALINCOME/FTRANS

Interactive mode off.

-rw-r--r-- 1 500 500 823038 Feb 17 06:27 340000PTSVDA002012021714210800000000.gz

-rw-r--r-- 1 500 500 33 Feb 17 06:27 340000PTSVDA002012021714210800000000.md5

其中需要用绝对路径;该脚本里面的内容只是ls一下;就这样了

如何运行和调试Oracle存储过程

1.

编写Oracle存储过程脚步如下:CREATE

OR

REPLACE

PROCEDURE

P_AUTO_CREATE_PARTITION

(Result

Out

int,

LogErrDesc

Out

varchar2

)

is

type

TypeTable

is

table

of

varchar2(20);

CreatePartitionErr

exception;

days

TypeTable;

BEGIN

Result

:=

0;

SELECT

DATETIME

bulk

collect

into

days

FROM

(

SELECT

TO_CHAR(TRUNC(SYSDATE-2,'dd'),'YYYYMMDD')

AS

DATETIME

FROM

DUAL

UNION

SELECT

TO_CHAR(TRUNC(SYSDATE-1,'dd'),'YYYYMMDD')

AS

DATETIME

FROM

DUAL

UNION

SELECT

TO_CHAR(TRUNC(SYSDATE,'dd'),'YYYYMMDD')

AS

DATETIME

FROM

DUAL

UNION

SELECT

TO_CHAR(TRUNC(SYSDATE+1,'dd'),'YYYYMMDD')

AS

DATETIME

FROM

DUAL

UNION

SELECT

TO_CHAR(TRUNC(SYSDATE+2,'dd'),'YYYYMMDD')

AS

DATETIME

FROM

DUAL

);

for

i

in

1..days.count

loop

if

bruce_partiton.CreatePartitions('T_CDT_1X_BASIC_Partion',days(i))0

then

raise

CreatePartitionErr;

end

if;

end

loop;

--名字写错了bruce_partiton,应该为bruce_partition

commit;

--异常处理

EXCEPTION

WHEN

CreatePartitionErr

THEN

rollback;

Result

:=

-1;

LogErrDesc

:=

SQLERRM;

commit;

RETURN;

WHEN

OTHERS

THEN

rollback;

Result

:=

-2;

LogErrDesc

:=

'CDM_CTCALLTRACEINFO_PRC_NEW

Fail!'||substr(dbms_utility.format_error_stack,1,200);

commit;

RETURN;

END

P_AUTO_CREATE_PARTITION;

/

2.

调试

在PL/SQL中选择存储过程,右键TEST,

ADD

DEBUGINFO,3.

运行,在Program

Window中

oracle的存储过程怎么调试

方法/步骤

首先在PL/SQL的左侧资源栏中展开Procedures项(图中位置1),然后再其上面的搜索框中(图中位置2)输入存过名称的关键词,按回车键搜索要调试的存过,不停的回车,直到找到想要调试的存过。

找到想要调试的存过,左键单击选中该存过(图中位置1),然后右键单击该存过,从弹出菜单中选择“Test”项(图中位置2)。

单击“Test”后,PL\SQL会打开调试界面,图中位置1的按钮就是开始调试的按钮,在调试之前要填写存过的参数,位置2就是填写参数的地方,如果有多个参数,会有多行参数框,按参数名填写相应的参数即可。

填写完参数,单击开始调试按钮后,调试的界面会发生一些变化。图中位置1的变化,说明存过已经处于执行状态,别人不能再编译或者执行。位置2的按钮就是执行按钮,单击这个按钮存过会执行完成或者遇到bug跳出,否则是不会停下来的,调试时不会用这个按钮的。位置3的按钮才是关键——单步执行,就是让代码一行一行的执行,位置4的按钮是跳出单步执行,等待下一个指令。

单击“单步执行”,存过开始单步执行。界面中每一次执行的代码会高亮显示(图中位置1),如果想要看某个变量具体的值,就在位置2的地方输入该变量名,然后变量的值会显示在位置3的地方。

调试的时候,每一次单步执行的时候要记一下执行代码的行数,图中位置3的数字就是当前执行代码的行数,就是第几行。如果过程单步执行到某行后,再单步执行的时候,存过就退出,那么错误就在该行的下一行。

代码执行到24行,在往下执行时,直接转到exception的地方,也就是异常处理的部分。

这说明我们代码中的错误在24和25行上,我们打开存过,浏览到24行和25行附近,发现25行和24行使用了两个变量,记住那两个变量。重新开始调试过程。

单步的执行时候把刚才那两个变量名填写到变量查看框,一边观察变量值变化,一边单步执行,执行到24行的时候,发现一个变量已经有值了,而另一个变量的值为null。错误原因明朗了吧?就是变量没有赋值或者初始话,给该变量赋值后存过就不报错了。

如何oracle调试存储过程

1.打开PL/SQL

Developer

如果在机器上安装了PL/SQL

Developer的话,打开PL/SQL

Developer界面

输入用户名,密码和host名字,这个跟在程序中web.config中配置的完全相同,点击确定

找到需要调试的存储过程所在的包(Package

bodies),如PACK_ACTIVITY,点击右键,在弹出菜单中选择[查看],得到包中的所有存储过程和他们的代码.

2.添加debug信息

为了能够单步跟踪存储过程,需要为其所在的包添加debug信息,右键点击需要调试的包,在弹出菜单中选中[添加调试信息].

这样就为包体添加了调试信息。

3.调试存储过程

现在所有的准备工作都做好了,可以调试跟踪存储过程了。

选择需要调试的存储过程,点击右键,在弹出菜单中选择[测试],进去测试窗口.

测试窗口中有为了测试该存储过程自动所产生的代码,当然你也可以自己另外加入和修改代码,对于我们目前只是为了调试存储过程,自动生成的代码已经足够了。接着按照如下的步骤进行调试。

(1)添加存储过程所需要的参数,我们项目中的大多数存储过程都是需要参数的,参数可以在测试窗口右下部分输入。

如:GetPanNO_New需要一个输入参数v_employeeid,我们输入180,输出参数是mycursor,是查看结果的,不需要输入任何值。

(2)开始调试,点击[调试]菜单-[开始](或者按F9),就进去调试模式了,程序开始停在begin这一行.

(3)以后的调试过程跟我们熟悉的的调试过程就一样了:

运行(Ctrl+R)

单步进入(Ctrl+N)

单步跳过(Ctrl+O)

单步退出(Ctrl+T)

或者点击debug工具条上的按扭:

当按Ctrl+N进去存储过程的源代码中后

在这个窗口中可以查看过程中的变量值和堆栈。

(4)调试运行完了后,可以查看结果如下(点击mycursor变量旁边的按钮).


分享题目:oracle如何调试脚本,oracle调试脚本需要权限
标题来源:http://ybzwz.com/article/dsgghoo.html